我正在运行 Debian Stretch,但遇到了与 Jessie 相同的问题,之后一直在手动修复它update-grub2
。
以下是更新后的 grub.cfg 摘录:
### BEGIN /etc/grub.d/08_linux_xen ###
menuentry 'Debian GNU/Linux, with Xen hypervisor' --class debian --class gnu-linux --class gnu --class os --class xen $menuentry_id_option 'xen-gnulinux-simple-a65403af-9c9f-45f9-a43a-178399e4fa64' {
insmod part_msdos
insmod ext2
set root='hd1,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1 c8d685c1-3188-42cb-9ac1-a5675d159759
else
search --no-floppy --fs-uuid --set=root c8d685c1-3188-42cb-9ac1-a5675d159759
fi
echo 'Loading Xen 4.8-amd64 ...'
if [ "$grub_platform" = "pc" -o "$grub_platform" = "" ]; then
xen_rm_opts=
else
xen_rm_opts="no-real-mode edd=off"
fi
multiboot /xen-4.8-amd64.gz placeholder dom0_mem=1024M ${xen_rm_opts}
echo 'Loading Linux 4.9.0-3-amd64 ...'
module /vmlinuz-4.9.0-3-amd64 placeholder root=UUID=a65403af-9c9f-45f9-a43a-178399e4fa64 ro
echo 'Loading initial ramdisk ...'
module --nounzip /initrd.img-4.9.0-3-amd64
}
看到root='hd1,msdos1'
没有括号。所以这是无效的语法,我最终进入 grub 提示符。如果我添加括号,一切都会正常。
我只是有通常的东西grub.d
:
# ls /etc/grub.d
00_header 05_debian_theme 08_linux_xen 10_linux 30_os-prober 30_uefi-firmware old README
有人知道根设备如何会被错误格式化吗?