创建的 Grub 菜单没有在设备周围添加括号

创建的 Grub 菜单没有在设备周围添加括号

我正在运行 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

有人知道根设备如何会被错误格式化吗?

相关内容