Я запускаю 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
Хтось знає, як кореневий пристрій міг бути відформатований неправильно?
У мене є 8 машин Debian, фізичні та віртуальні. У всіх них встановлений корінний оператор ідентичний вашому, тобто без дужок, і всі вони завантажуються правильно. Чому ви говорите, що це неправильний синтаксис, і як саме відбувається завантаження системи? У мене є встановлення grub (GRUB) 2.02 ~ beta3-5 .
—
MariusMatutiae
@MariusMatutiae Цікаво. Мені потрібно двічі перевірити - я опинився під запитом і припустив, що синтаксис невірний, і додав дужки, але, можливо, це не було причиною, що це спрацювало наступного разу. Мені доведеться повернутися через свої кроки.
—
Пол
Цікаво, що синтаксис недійсний, але після перевірки інших серверів я вважаю, що він відповідає тому, що знайшов @MariusMatutiae. Тож щось інше викликає мою проблему.
—
Пол