我正在尝试启动到只读模式以测试某些软件。我不想在启动后重新安装驱动器,因为这不符合测试在启动时检查文件系统的软件的要求。
有没有办法在不编辑 grub.conf 的情况下做到这一点?最好在中断启动时通过 grub UI 添加一些东西?
如果我编辑 grub.conf 以只读方式启动,我应该如何编辑它?
我知道内核将 root 挂载为 RO,但稍后在引导过程中将其重新挂载为 RW。
在grub
运行时,您通常可以在grub
加载内核并继续引导之前编辑内核命令行。也许您的发行版在启动时隐藏了grub
界面——按住左键shift可能会调出它并让您编辑内核命令行。
Linux 内核Documentation/kernel-parameters.txt
记录了ro
内核命令参数以只读方式挂载您的根文件系统。如果您 add-in init=/bin/sh
,那么您将负责安装您想要的任何文件系统。您可能需要在 mount/proc
之前mount(8)
显示任何已安装的文件系统:mount -t proc none /proc
.
只需确保根据需要提供-o ro
或-o rw
选项来mount(8)
挂载每个文件系统。
但我不得不认为有更好的方法来测试软件。你真正想做什么?
这也可以通过添加来完成
GRUB_DEFAULT=saved
到你的 grub.cfg 。然后您可以为引导加载程序创建 2 个不同的 GRUB 条目(例如“RedHat”和“RedHat RO”。在终端中设置这样的默认条目
grub-set-default "RedHat"
仅针对终端中的下一次重新启动问题运行其他 grub 条目
grub-reboot "RedHat RO"
这基本上可以通过在 grub 配置 (grubenv) 中添加一个标志并在重新启动后将其删除。所以基本上你的 /boot/ 分区必须是可写的。如有必要,您还可以重新挂载可写的引导分区。在任何情况下,您都需要单独分区上的 /boot/ 目录。
另一种选择是将启动分区放在 U 盘上,并在每次需要时从那里启动“RedHat RO”。
否则:正如 sarnold 已经说过的:您在 GRUB 命令行或 GRUB 编辑中所做的更改只是暂时的。