Я использую 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
Кто-нибудь знает, как корневое устройство могло быть неправильно отформатировано?