糟糕,我需要运行级别1


Answers:


16

这并不是进入运行级别1的确切方法,但是raspberry Pi固件中有“安全模式”启动选项。要启用它,必须在引导时在P1(GPIO)接头连接器的引脚5和6之间插入一个跳线。

安全模式引脚

如果执行此操作,则引导加载程序将忽略该config.txt文件(来自avoid_safe_mode选项(可用于禁用此功能的选项除外)),并尝试引导kernel_emergency.img(如果可用)而不是kernel.img

Default kernel_emergency.img具有特殊的紧急情况initramfs内置功能,它将启动到此基于busybox的操作系统,以便您可以手动解决操作系统中的问题(或更改内核启动参数以在下次启动时运行运行级别1)。切记sync在断电之前先运行,reboot否则shutdown命令可能不起作用。


那正是我想要的。
Deac Karns

5
  • 启动时按Shift。
  • 点击“ e”以编辑配置
  • 转到cmdline.txt
  • 添加到行末

    init=/bin/sh

  • 点击确定,然后按Esc键启动……它将引导您进入命令行

    # /etc/init.d/mountall.sh (这会有所作为)

    # mount -n -o remount,rw / (这将重新安装/,以便您进行更改)

  • 现在您应该可以编辑init.d配置了……

  • 当您再次重新启动时...。按住shift并删除init = / bin / sh

优秀的!我找到了初始化sh的说明,但是缺少我需要的重新安装的东西。谢谢!
理查德·特纳

3

现在,这里的其他几个答案也不正确:

  • GPIO跳线引脚方法已从上游操作系统中删除,因此仅当您使用NOOBS映像时,此方法现在才有效

  • Raspbian Jessie转向systemd打破了这一init=/bin/sh局面。当您这样做时,它会抱怨,can't access tty: job control turned off

幸运的是,有一个可行的解决方案,它实际上提供了真正的单用户访问权限:在参数之后的1末尾添加一个空格和一个。cmdline.txtrootwait

库存的Raspbian Jessie OS映像不存在hold-Shift引导菜单,因此,/boot/cmdline.txt如果您不使用NOOBS映像,则必须通过在另一台计算机上进行编辑来实现。


2

我找不到强迫pi启动到运行级别1的方法,所以我启动了我放置的fedora活动磁盘,并使用终端从/etc/init.d目录中删除了有问题的脚本。


1

如果要从Windows访问和更改SD卡Linux分区文件,可以使用以下实用程序之一进行操作


欢迎!请参观,并访问帮助中心。尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。实际上,我们正在执行此政策:请进行编辑,以便将来链接断开时答案能够独立存在。如果在48小时内未对其进行编辑,它将被转换为Community Wiki。
Jacobm001

1
  1. 启动进入运行级别1

    $ sudo init 1
    
  2. 引导到运行级别1之后

    $ passwd
    

注意:要运行级别1,请将文件/etc/inittab从更改为id:2:initdefault:类似以下内容:id:1:initdefault:


2
那真的启动到运行级别1吗?我的意思是,如果不首先启动计算机就很难做到,是吗?
Bex

不,当然不是。这是在更改正在运行的系统上的运行级别。
硬皮藤壶
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.