Linux 使用内核启动参数 rd.break 提前进入shell

参考: https://man7.org/linux/man-pages/man7/dracut.cmdline.7.html

使用

rd.break={cmdline|pre-udev|pre-trigger|initqueue|pre-mount|mount|pre-pivot|cleanup}
           drop to a shell before the defined breakpoint starts

介绍

rd.break参数允许您在内核启动过程中的不同阶段中断启动序列,以便进行调试或修复。这些断点对应于initramfs(初始内存文件系统)的不同钩子(hooks),每个断点代表了启动过程中的一个特定点。以下是您提到的断点及其直接区别:

cmdline

在处理内核命令行参数时中断启动。

pre-udev

在udev(设备管理器)初始化之前中断启动。

pre-trigger

在触发udev事件之前中断启动。

initqueue

在init queue(初始化队列)准备期间中断启动,此时硬件设备正在被初始化。

pre-mount

在挂载根文件系统之前中断启动。

mount

在实际尝试挂载根文件系统时中断启动。

pre-pivot

在切换根目录(pivot_root)操作之前中断启动。

cleanup

在清理initramfs环境之前中断启动。

每个断点提供了一个检查点,您可以在这些点上检查系统状态、修改配置或执行修复操作。选择哪个断点取决于您希望在启动过程中的哪个具体阶段介入。例如,如果您怀疑是udev初始化过程中出现了问题,那么rd.break=pre-udev可能是一个合适的选择。如果您需要在挂载根文件系统之前进行检查,则rd.break=pre-mount会更适合您的需求.

posted @ 2024-09-25 12:06  武平宁  阅读(479)  评论(0)    收藏  举报