我有一个 Debian 系统,它在启动顺序中“设置系统时钟”时冻结。我查看的几个网站都建议更改 init 脚本以禁止硬件访问时钟。但是,我无法启动!是否有一个参数可以在启动时传递给内核,以便它跳过 init 脚本?
答案1
在维护模式下启动有两种主要方式。两者都需要在引导加载程序(例如 grub)中编辑内核引导行。在类似于的行末尾kernel /vmlinuz root=/dev/sda1 ro
,您可以添加:
single
跳过启动大多数服务(这将启动到运行级别 1;写1
代替single
是同义词);或者init=/bin/sh
在安装根文件系统后完全跳过所有内容并运行 shell 作为单个进程。这是一个非常小的环境。您可能首先想要这样做mount -t proc proc /proc
(很多事情都取决于/proc
可用性)并且mount -o remount,rw /
(根文件系统以只读方式安装)。
由于您的问题似乎与hwclock
调用有关,而调用是系统启动的一部分,single
因此不会有帮助,您需要一直走到init=/bin/sh
。
或者,您可以启动实时 CD(或 USB 记忆棒)并从那里修复您的系统。
答案2
看起来我想要运行级别 1:“您的系统以 /etc/inittab 中指定的运行级别启动。例如 id:2:initdefault: 将系统启动到运行级别 2(Debian 中的默认级别)。
您可以使用内核参数覆盖默认运行级别。显示启动菜单时,选择编辑选项。然后找到内核行并添加空格和所需的运行级别编号。例如,“kernel /boot/vmlinuz-2.6.30 root=/dev/sda2 ro 3”将启动到运行级别 3。"