我最近在我的 Windows 7 计算机上安装了 Kali Linux,目的是能够双启动。当我安装 Kali 时,我必须以 UEFI 模式安装它,因为这是唯一有效的。启动后会显示 GRUB 加载程序,但列表中只有 Kali。我尝试了各种方法来解决这个问题,但没有任何效果。我可以通过将其添加到 /etc/grub.d/40_custom 来向列表中添加一个条目:
menuentry "Windows 7 (loader) (on /dev/sda1)" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)'
chainloader +1
}
但是,当我从菜单中选择它时,我无法启动它。我收到类似“未找到 UEFI”或“无效 UEFI”之类的错误。
如果我这样做sudo update-grub
或者sudo update-grub next
这就是输出:
root@kali:~# sudo update-grub
Generating grub configuration file ...
Found background image: /usr/share/images/desktop-base/desktop-grub.png
Found linux image: /boot/vmlinuz-4.6.0-kali1-amd64
Found initrd image: /boot/initrd.img-4.6.0-kali1-amd64
Adding boot menu entry for EFI firmware configuration
done
我也尝试这样做sudo grub-install /dev/sda1
,但后来我得到了这个输出:
root@kali:~# sudo grub-install /dev/sda1
Installing for x86_64-efi platform.
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
GUID Partition Table Header signature is wrong: 0 != 5452415020494645
Installation finished. No error reported.
我想知道 Windows 7 是否支持 UEFI,如果支持,有谁知道如何将其添加到 GRUB 列表中?
我安装/dev/sda1
看看那里有什么,但没有找到任何 .efi 文件。我找到一个名为 的文件bootmgr
并将其复制到 /boot/efi/EFI 并尝试使用 BIOS 从它启动,但这不起作用。也许问题是我没有可用于启动 Windows 的 EFI 文件?如果是这种情况,我该如何创建一个?
sudo parted -l
输出:
Model: ATA TOSHIBA MQ01ACF0 (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 368MB 367MB primary ntfs
2 368MB 393GB 392GB primary ntfs
3 393GB 495GB 102GB extended
5 393GB 393GB 299MB logical ext4
6 403GB 473GB 70.0GB logical ext4
9 473GB 493GB 20.0GB logical ext4
7 493GB 495GB 1999MB logical linux-swap(v1)
8 495GB 495GB 199MB logical fat32 boot, esp
答案1
我的问题是 Grub 和 Kali 是以 UEFI 模式安装的,而 Windows 7 是以 BIOS/Legacy 模式安装的。
另外,我认为Windows引导加载程序被安装到整个磁盘,并且在安装Kali时被完全覆盖。
对于遇到此问题的任何人,我认为不可能从 UEFI Grub 引导 BIOS/旧版系统,并且您可能需要检查 Windows 引导加载程序是否仍然存在。
答案2
我认为您接下来应该输入 update-grub...如果您不能这样做,那么这里有一些提示给您。 https://askubuntu.com/questions/418666/update-grub-command-not-found