Vì vậy, tôi có một lỗi trong tập lệnh trong thư mục init.d và dòng dưới cùng của tôi ... Tôi không thể khởi động hoàn toàn pi.
Làm cách nào tôi có thể khởi động vào runlevel 1 (chế độ người dùng đơn) để tôi có thể sửa lỗi?
Vì vậy, tôi có một lỗi trong tập lệnh trong thư mục init.d và dòng dưới cùng của tôi ... Tôi không thể khởi động hoàn toàn pi.
Làm cách nào tôi có thể khởi động vào runlevel 1 (chế độ người dùng đơn) để tôi có thể sửa lỗi?
Câu trả lời:
Đó không chính xác là một cách để chạy runlevel 1, nhưng có tùy chọn khởi động "chế độ an toàn" trong phần mềm Raspberry Pi. Để kích hoạt nó, bạn phải chèn một nút nhảy giữa các chân 5 và 6 trên tiêu đề P1 (GPIO) khi khởi động.
Nếu bạn làm điều này, bộ nạp khởi động sẽ bỏ qua config.txt
tệp (ngoại trừ avoid_safe_mode
tùy chọn có thể được sử dụng để tắt tính năng này) và sẽ cố gắng khởi động kernel_emergency.img
(nếu có) thay vì kernel.img
.
Mặc định kernel_emergency.img
có tích hợp khẩn cấp đặc biệt initramfs
và nó sẽ khởi động hệ điều hành dựa trên busybox này để bạn có thể khắc phục các sự cố trong hệ điều hành của mình theo cách thủ công (hoặc thay đổi các tham số khởi động kernel để chạy runlevel 1 ở lần khởi động tiếp theo). Hãy nhớ để chạy sync
trước khi tắt nguồn từ reboot
hoặc shutdown
lệnh có thể không làm việc.
thêm vào cuối dòng
init=/bin/sh
nhấn ok, sau đó Esc để khởi động ...... nó sẽ khởi động bạn vào một dòng lệnh
# /etc/init.d/mountall.sh
(điều này sẽ làm một cái gì đó)
# mount -n -o remount,rw /
(điều này sẽ kể lại / để bạn có thể thay đổi)
bây giờ bạn có thể chỉnh sửa cấu hình init.d ......
Một số câu trả lời khác ở đây hiện không chính xác:
Phương pháp pin nhảy GPIO đã bị xóa khỏi HĐH ngược dòng, do đó, nó chỉ hoạt động ngay bây giờ nếu bạn đang sử dụng hình ảnh NOOBS
Raspbian Jessie chuyển sang systemd phá vỡ vụ init=/bin/sh
hack. Khi bạn làm điều này, nó phàn nàn,can't access tty: job control turned off
May mắn thay, có một giải pháp hoạt động, thực sự mang lại quyền truy cập cho một người dùng thực sự: thêm một khoảng trắng và 1
ở cuối cmdline.txt
, ngay sau rootwait
tham số.
Menu khởi động Shift-Shift không tồn tại với hình ảnh Raspbian Jessie OS, vì vậy bạn sẽ phải thực hiện việc này bằng cách chỉnh sửa /boot/cmdline.txt
từ một máy tính khác nếu bạn không sử dụng hình ảnh NOOBS.
Tôi không thể tìm cách buộc pi khởi động vào runlevel 1 vì vậy tôi đã kích hoạt một đĩa live fedora mà tôi đã đặt xung quanh và sử dụng thiết bị đầu cuối để xóa tập lệnh trong câu hỏi từ thư mục /etc/init.d
Nếu bạn muốn truy cập và thay đổi các tệp phân vùng Linux của thẻ SD từ Windows, bạn có thể thực hiện với một trong những tiện ích này .
Khởi động vào runlevel 1
$ sudo init 1
Sau khi khởi động vào runlevel 1
$ passwd
LƯU Ý: sang runlevel 1, thay đổi tệp /etc/inittab
từ id:2:initdefault:
thành tương tự như:id:1:initdefault: