一次启动进入只读?

时间:2011-11-03 00:34:52

标签: linux grub

我正在尝试启动进入只读模式来测试某些软件。我不想在启动后重新安装驱动器,因为这不符合测试在启动时检查文件系统的软件的要求。

有没有办法在不编辑grub.conf的情况下执行此操作?最好在中断启动时通过grub UI添加一些东西?

如果我编辑grub.conf以只读方式启动,我该如何编辑它呢?


我知道内核将root作为RO挂载,但它在引导过程的后期被重新安装为RW。

2 个答案:

答案 0 :(得分:4)

grub正在运行时,在grub加载内核并继续引导之前,您通常具有某些能力来编辑内核命令行。也许你的发行版有hidden the grub interface at boot - 按住左边的 shift 可以启动它并让你编辑内核命令行。

Linux内核Documentation/kernel-parameters.txt记录了ro内核命令参数,以便将根文件系统挂载为只读。如果你加载init=/bin/sh,那么你将负责安装你想要的任何文件系统。您可能需要在/proc显示任何已挂载的文件系统之前挂载mount(8)mount -t proc none /proc

请确保将-o ro-o rw选项提供给mount(8)作为您根据需要安装每个文件系统。

但我必须认为有更好的软件测试方法。你真的试图做什么?

答案 1 :(得分:1)

这也可以通过添加

来完成
GRUB_DEFAULT=saved

到您的grub.cfg。然后,您可以为引导加载程序创建2个不同的GRUB条目(例如," RedHat"和" RedHat RO"。在终端中设置默认条目

grub-set-default "RedHat"

仅针对终端中的下一次重启问题运行其他grub条目

grub-reboot "RedHat RO"

这实际上是通过在grub配置中添加一个标志(grubenv)并在重启后删除它。所以基本上你的/ boot /分区必须是可写的。如有必要,您还可以重新装入可写入的引导分区。无论如何,您需要在单独的分区上使用/ boot /目录。

另一种选择是将启动分区放在USB记忆棒上并启动" RedHat RO"每次你需要的时候从那里开始。

否则:正如sarnold已经说过:您在GRUB命令行或GRUB编辑中所做的更改只是暂时的。