我在我的一个 init.d 脚本中犯了一个愚蠢的错误,它在启动过程中陷入无限循环并阻止完成。因此,我无法进入外壳并修复它。如何引导而不执行所有引导脚本?如果需要,我有root。
1
在引导加载程序中传递内核行应该以单用户模式启动它,除非它严重损坏,否则不应启动 initscript。如果启动到单一模式不起作用,那么您需要获取安装光盘并使用它启动到救援模式。
正如 Ignacio 所建议的,最简单的解决方案是启动到单用户模式。为此,请在启动进入内核之前按倒计时闪屏上的任意键。从这里突出显示正确的内核并按 e。再次按 e 编辑 cmdline,最后按 S、s、single 或 1。按回车,然后按 b 启动。这不会运行您的 init 脚本,除非您已将其显式配置为单用户模式的一部分,这不太可能。
但是,如果此时仍有问题,则不需要安装盘。您可以将以下内容添加到内核命令行:
init=/bin/bash
Run Code Online (Sandbox Code Playgroud)
这将导致内核以/bin/bash
pid 1 而不是 init 启动。在这一点上没有任何系统初始化脚本都已经运行,所以你应该能够处理后事。请注意,您可能有一个只读的根文件系统,您应该能够像这样处理它:
mount -o remount,rw /
Run Code Online (Sandbox Code Playgroud)
...或者您可以ro
从内核命令行中删除该选项。
归档时间: |
|
查看次数: |
2335 次 |
最近记录: |