6

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

有没有办法在不编辑 grub.conf 的情况下做到这一点?最好在中断启动时通过 grub UI 添加一些东西?

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


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

4

2 回答 2

6

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)挂载每个文件系统。

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

于 2011-11-03T00:55:12.593 回答
1

这也可以通过添加来完成

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 编辑中所做的更改只是暂时的。

于 2014-09-16T07:04:35.497 回答