![grub 菜单中的内核名称与 kernel.conf 的比较](https://linux22.com/image/217430/grub%20%E8%8F%9C%E5%8D%95%E4%B8%AD%E7%9A%84%E5%86%85%E6%A0%B8%E5%90%8D%E7%A7%B0%E4%B8%8E%20kernel.conf%20%E7%9A%84%E6%AF%94%E8%BE%83.png)
我试图了解在 grub 菜单中更改内核名称与在 /boot/loader/entries 中的 .conf 文件中更改内核名称内容之间的区别。
如果我更改 grub 中的某些内容,它不会影响 .conf 文件的内容,我不知道为什么。
有人有线索吗?
答案1
GRUB 几乎完全是只读的:它唯一可以写入的是环境变量到预分配的文件中,/boot/grub/grubenv
-而且只有当您明确使用该save_env
命令时才会这样做。
当您在 GRUB 菜单或 GRUB shell 中更改某些内容时,更改将是非持久:只会影响正在进行的引导尝试,下次系统引导时,配置将保持不变。
要进行持久更改,您必须启动一个操作系统,该操作系统包含适用于适当的功能齐全、可写的驱动程序
- 磁盘控制器
- 分区/LVM/RAID方案
- 文件系统类型
然后您就可以按照通常的方式更改适当的文件。
(或者,如果您需要使用无法支持文件系统类型的操作系统,从技术上讲,您可以使用磁盘编辑器直接在非常低的级别上查看文件内容和文件系统元数据,但这通常可以算是相当高级的魔法,这些天...)