我的机器装有 AV Linux(各种 Debian 10)和 Windows 10。最初我有 Ubuntu 和 Windows,并将 AV Linux 安装在 /dev/sda7 分区中。这破坏了 grub 引导加载程序。
当我启动机器时,我会看到 Grub 2.0 提示符。我还注意到,在 BIOS 启动优先级部分中,给出的选项是 Windows 和“Ubuntu”,即。不是 AV Linux 或 Debian。
Windows 和 AV Linux 都可以,我可以通过启动时出现的 grub 2 提示符启动它们。
我使用以下命令启动 Linux:
set root=(hd0,7)
linux /boot/vmlinuz-5.0.7-rt5av11 root=/dev/sda7
initrd /boot/initrd.img-5.0.7-rtav11
boot
fdisk -l 显示:
Device Start End Sectors Size Type
/dev/sda1 2048 206847 204800 100M EFI System
/dev/sda2 206848 468991 262144 128M Microsoft reserved
/dev/sda3 468992 1018656447 1018187456 485.5G Microsoft basic data
/dev/sda4 1918676992 1920569343 1892352 924M Windows recovery environment
/dev/sda5 1920569346 1951426562 30857217 14.7G Windows recovery environment
/dev/sda6 1951426563 1953523715 2097153 1G Windows recovery environment
/dev/sda7 1018656768 1918676991 900020224 429.2G Linux filesystem
我创建了目录 /boot/efi 并尝试了各种方法来更新 grub。例如:
sudo mount /dev/sda1 /boot/efi/
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=debian --recheck --debug /dev/sda
sudo update-grub2
但我在重新启动时返回到 grub 提示符。我也尝试过 sudo update-grub 。另请注意,grub-install 始终会产生:
grub-install: warning: EFI variables are not supported on this system..
sudo update-grub2 似乎运行正常并产生:
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-5.0.7-rt5avl1
Found initrd image: /boot/initrd.img-5.0.7-rt5avl1
Found Windows Boot Manager on /dev/sda1@/EFI/Microsoft/Boot/bootmgfw.efi
Found linux image: /boot/vmlinuz-5.0.7-rt5avl1
Found initrd image: /boot/initrd.img-5.0.7-rt5avl1
done
我安装了 grub-customizer。 Debian、Debian 的高级选项和 Windows 启动管理器都会显示。如果我编辑 Debian 条目,则会在引导顺序字段中看到以下内容:
load_video
insmod gzio
if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
insmod part_gpt
insmod ext2
set root='hd0,gpt7'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt7 --hint-efi=hd0,gpt7 --hint-baremetal=ahci0,gpt7 ba95278e-9d8d-4bf0-9a2a-d6fcaf9e88aa
else
search --no-floppy --fs-uuid --set=root ba95278e-9d8d-4bf0-9a2a-d6fcaf9e88aa
fi
echo 'Loading Linux 5.0.7-rt5avl1 ...'
linux /boot/vmlinuz-5.0.7-rt5avl1 root=UUID=ba95278e-9d8d-4bf0-9a2a-d6fcaf9e88aa ro threadirqs transparent_hugepage=never noresume quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-5.0.7-rt5avl1
使用实用程序启动修复生成启动信息文件(该实用程序无法修复问题本身)。请参见: