2

Я использую Debian Stretch, но получил то же самое с Джесси, и я исправлял это вручную после 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

Кто-нибудь знает, как корневое устройство могло быть неправильно отформатировано?

0