Rất tiếc tôi cần runlevel 1


9

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?


1
Kiểm tra liên kết này để biết một số tùy chọn raspberrypi.org/phpBB3/viewtopic.php?f=28&t=16185
Steve Robillard

Câu trả lời:


16

Đó 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.

Chân Safemode

Nếu bạn làm điều này, bộ nạp khởi động sẽ bỏ qua config.txttệp (ngoại trừ avoid_safe_modetù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.imgcó tích hợp khẩn cấp đặc biệt initramfsvà 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 synctrước khi tắt nguồn từ reboothoặc shutdownlệnh có thể không làm việc.


Đó chính xác là những gì tôi đang tìm kiếm.
Deac Karns

5
  • Nhấn shift khi bắt đầu lên.
  • Nhấn "e" để chỉnh sửa cấu hình
  • tab qua cmdline.txt
  • 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 ......

  • khi bạn khởi động lại lần nữa .... giữ shift và xóa init = / bin / sh

Thông minh! Tôi đã tìm thấy hướng dẫn để khởi động sh nhưng đã bỏ lỡ những thứ tôi cần. Cảm ơn!
Richard Turner

3

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/shhack. 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 rootwaittham 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.txttừ một máy tính khác nếu bạn không sử dụng hình ảnh NOOBS.


2

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


1

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 .


Chào mừng bạn Vui lòng tham quan và ghé thăm người trợ giúp . Trong khi điều này về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là bao gồm các phần thiết yếu của câu trả lời ở đây, và cung cấp liên kết để tham khảo. Trong thực tế, chúng tôi đang thực thi chính sách này : vui lòng chỉnh sửa để câu trả lời tự đứng vững nếu liên kết bị phá vỡ trong tương lai. Nếu nó không được chỉnh sửa trong vòng 48 giờ, nó sẽ được chuyển đổi thành Community Wiki.
Jacobm001

1
  1. Khởi động vào runlevel 1

    $ sudo init 1
    
  2. Sau khi khởi động vào runlevel 1

    $ passwd
    

LƯU Ý: sang runlevel 1, thay đổi tệp /etc/inittabtừ id:2:initdefault:thành tương tự như:id:1:initdefault:


2
Đó có thực sự là khởi động vào runlevel 1 không? Ý tôi là, nó khó có thể được thực hiện nếu máy không khởi động ở nơi đầu tiên, phải không?
Bex
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.