将内核文件保存在不同的目录中

将内核文件保存在不同的目录中

是否可以将标准 vmlinuz-3.10..... 内核文件复制到另一个目录,重命名并在引导系统时加载它?

我在 CentOS7 上,我有一个课堂任务。 “将 vmlinuz-... 和 initramfs-... 文件从 /boot 复制到根目录,重命名它们,添加菜单项“备用内核”并从这个新复制的内核文件加载它”。

我编辑了 /etc/grub.d/40_custom 文件并添加了此菜单项。截图1 复制并重命名文件(/kernel 和 /ramdisk) 截图2 我还制作了无法执行的/etc/grub.d/10_linux 文件(chmod 644)。结果“主内核” - 没问题,“备用内核”给出错误 截图3

我想我必须以正确的方式设置可启动根目录,所以我尝试了选项 'set root=(hd0,msdos1)' 和 'set root=(hd0,msdos2)' (/boot 安装在 sda1 上,但系统根目录 ( / ) 在sda2,我认为 (hd0,msdos2) 会起作用,但事实并非如此)。 截图4

答案1

您的根分区位于 LVM 卷上。当启动菜单出现时,按“c”进入命令提示符,然后键入“ls”命令列出系统上可用的分区。您将看到类似“(...centos-root)”的分区。将“set root=(hd0,msdos2)”中的“(hd0,msdos2)”替换为“(...centos-root)”,然后重试。
(记得修改/etc/grub.d/40_custom后运行grub2-mkconfig。)

相关内容