我已经在台式机上运行 Ubuntu 14.04 一年了。今天,我获得了 Windows 7,并将其安装在单独的驱动器上,并移除了 Ubuntu 驱动器。现在我可以通过中断 BIOS 并更改启动顺序来启动每个操作系统,所以我知道两个引导加载程序都可以工作,但是当我运行sudo update-grub
和时sudo udpate-grub2
,Windows 未列出。我该怎么做才能将 Windows 添加到 grub?
答案1
首先尝试找到并挂载 Windows 分区,然后运行sudo update-grub
。
例如,
sudo fdisk -l
结果
/dev/sda1 2048 53035007 53032960 25.3G 83 Linux
/dev/sda2 53035008 99139583 46104576 22G 83 Linux
/dev/sda3 99139584 141266943 42127360 20.1G 83 Linux
/dev/sda4 * 141266944 215681023 74414080 35.5G 7 HPFS/NTFS/exFAT
在这种情况下,Windows 分区是 /dev/sda4(因为是 NTFS 类型,而且我知道它)。然后,
sudo mount /dev/sda4 /mnt
进而
sudo update-grub
grub.cfg 中的 Windows 条目没有什么特别的。它只是一个 chainloader 条目。如果上述方法无法正确识别 Windows,那么您可以手动在/etc/grub.d/40_custom
文件中添加该条目。
40_custom
MBR(非 GPT)的Windows 条目示例
menuentry "Windows 7 64bit" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='hd0,msdos4'
chainloader +1
}
这里重要的是set root
参数。hd0,msdos4 = /dev/sda4。如果您有多个 HDD,那么它可能是 hd1,msdos4 = /dev/sdb4。
sudo update-grub
如果您遵循手动方法,请不要忘记在编辑文件后运行40_custom
。