我目前在我的系统上运行 Ubuntu 和 Slackware。刚刚安装 Slackware 后,一切似乎都工作正常,当我尝试加载 Slackware 时,我启动到 GRUB 却看到“错误:没有这样的磁盘”或其他内容。有谁知道为什么会这样?
更新
我首先在我的一个分区上完整安装了 Slackware,其中包括交换分区。这段时间我选择了不是安装 LILO。之后,我开始安装 Ubuntu,这样我就可以在需要时使用一些东西。这是我安装 GRUB2 时,Slackware 拒绝工作的时候。
这次我应该用 LILO 重新安装它吗?如果我这样做,它会废弃我的 Ubuntu 还是我仍然可以使用它?
更新2
我认为这就是问题所在:
menuentry "Slackware Linux (Slackware 13.37.0) (on /dev/sda8)" --class gnu-linux --class g nu --class os {
insmod part_gpt
insmod ext2
set root='(/dev/sda,gpt8)'
search --no-floppy --fs-uuid --set=root 89ba52ea-8afa-4d93-adac-e4a9258a2aae
linux /boot/vmlinuz root=/dev/sda8
}
我对 grub.cfg 不太了解,但从它看来(以及从我阅读的 ubuntu 文档来看),这似乎是正确的。然而,我认为没有找到 uuid。我应该用它所在的分区替换 uuid 吗?
答案1
如果 Slackware 已打开sda8
,那么您的/etc/grub.d/40_custom
文件应如下所示:
#!/bin/sh
exec tail -n +3 $0
menuentry "Slackware" {
set root=(hd0,8)
linux /boot/vmlinuz root=/dev/sda8 ro quiet
}
您可以使用 UUID,它看起来像:
#!/bin/sh
exec tail -n +3 $0
menuentry "Slackware"{
set root=(hd0,8)
search --no-floppy --fs-uuid --set cf984a2a-8892-4d79-a0dc-2fc81ee04edb
linux /boot/vmlinuz root=/dev/disk/by-uuid/cf984a2a-8892-4d79-a0dc-2fc81ee04edb ro vga=872
}
确保您update-grub
以 root 身份运行以应用更改...