Linux 一次性引导为只读?

Linux 一次性引导为只读?,linux,grub,Linux,Grub,我正试图启动到只读模式来测试一些软件。我不想在引导后重新安装驱动器,因为这不符合测试引导时检查文件系统的软件的要求 有没有一种不用编辑grub.conf就能做到这一点的方法?最好在中断启动时通过GRUBUI添加一些东西 如果我确实编辑grub.conf以只读方式引导,我应该如何编辑它 我知道内核将root挂载为RO,但在稍后的引导过程中会将其重新挂载为RW。当grub运行时,您通常能够在grub加载内核并继续引导之前编辑内核命令行。也许您的发行版已经——按住左键可能会打开它并让您编辑内核命令行

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

有没有一种不用编辑grub.conf就能做到这一点的方法?最好在中断启动时通过GRUBUI添加一些东西

如果我确实编辑grub.conf以只读方式引导,我应该如何编辑它



我知道内核将root挂载为RO,但在稍后的引导过程中会将其重新挂载为RW。

grub
运行时,您通常能够在
grub
加载内核并继续引导之前编辑内核命令行。也许您的发行版已经——按住左键可能会打开它并让您编辑内核命令行

Linux内核
Documentation/kernel parameters.txt
记录
ro
kernel命令参数,以只读方式装载根文件系统。如果您添加了
init=/bin/sh
,那么您将负责装载所需的任何文件系统。您可能需要先装入
/proc
,然后才能装入
mount(8)
将显示任何装入的文件系统:
mount-t proc none/proc

只需确保为
-o ro
-o rw
选项提供
装载(8)
,以便根据需要装载每个文件系统


但是我不得不认为有更好的方法来测试软件。你到底想做什么?

这也可以通过添加

GRUB_DEFAULT=saved
到你的grub.cfg。然后,您可以为引导加载程序创建两个不同的GRUB条目(例如“RedHat”和“RedHat RO”)。在您的终端中,可以这样设置默认条目

grub-set-default "RedHat"
grub-reboot "RedHat RO"
仅为终端中的下一次重新启动问题运行另一个grub条目

grub-set-default "RedHat"
grub-reboot "RedHat RO"
这基本上是有效的,在grub配置(grubenv)中添加一个标志,并在重新启动后将其删除。因此,基本上您的/boot/分区必须是可写的。如果需要,您还可以重新安装可写的启动分区。在任何情况下,您都需要在单独的分区上安装/boot/目录

另一种选择是将启动分区放在U盘上,并在每次需要时从那里启动“RedHat RO”


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

我不想在软件中伪造这一点。我想让软件检测引导为只读。所以我尝试了这一点(init=/bin/sh)看起来有几个东西是自动安装的,包括/dev/sda1 as/。顺便说一句,我正在运行Red Hat,并且我确实可以访问中引导grub修改。也许我说的不正确/不清楚"有没有办法不用编辑grub.conf就可以做到这一点?最好在中断引导时通过grub UI添加一些内容?您可以在grub中编辑内核命令行,而无需修改
grub.conf
文件。您在grub菜单/命令行界面中的所有编辑只会影响单个引导。如果你想将
ro
添加到一个新的
grub.conf
条目中,使其易于选择,这也很好。由你决定。:@neuroelectronic:你能给电子表格添加一些上下文吗?它是从错误的缓冲区复制/粘贴的。你可以忽略它。