我删除了旧的 Elementary OS,并用 Ubuntu 14.04 替换它。
我还在另一个驱动器上安装了 Windows 7,它在 Elementary OS(基于 Ubuntu 12.04)下运行良好。但是,安装时未检测到该驱动器,并且仍然未被检测到。
我尝试了其他类似的响应,但找不到解决方案。这是 bootinfoscript 的输出http://paste.ubuntu.com/12179868/
到目前为止,我尝试过:
卸载并安装 os-prober。问题依然存在,运行时没有输出。
在 /etc/grub.d/40_custom 上创建手动条目
menuentry "Windows 7" {
insmod ntfs
set root='(hd0,1)'
search --no-floppy --fs-uuid --set 94A47FB5A47F9906
chainloader +1
}
配置是否正确?我编辑文件后运行 update-grub,但在尝试启动时收到错误“无效的 EFI 文件路径”。
答案1
我终于找到了一个无需删除 Windows 分区即可解决问题的方法。正如其他人指出的那样,问题在于我的 Windows 安装是传统的 BIOS 启动,而 Ubuntu 现在使用的是 UEFI,这是不兼容的。
解决方案是将 Windows 安装转换为 UEFI。唯一需要的东西是 Windows 安装 DVD(或可启动的 UEFI 闪存盘)和可运行的 Ubuntu。
首先,将 Windows 分区转换为 GDP
sudo gdisk /dev/sdX
Command (? for help): w
其中 sdX 是 Windows 驱动器。
然后,启动 Windows 安装盘,并从命令提示符运行此链接从步骤 7 开始。这将用 UEFI 启动分区替换现有的 BIOS 启动分区。
完成这些步骤后,你可以运行
sudo update-grub
更新您的启动菜单。
答案2
使用 Windows 光盘中的“fixmbr”命令。它将删除 grub。然后使用 Ubuntu live cd 恢复 grub。然后它应该开始工作。
答案3
我知道,这是一个很老的话题,但今天发生在我身上。把答案放在这里,可能会对某些人有帮助。就我而言,缺少 os-prober 工具,因此 grub 2 中的 os-prober 脚本永远找不到 windows。
安装后:
sudo apt-get install os-prober
更新 grub 后我终于可以工作了:
sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/50_linuxmint.cfg'
Sourcing file `/etc/default/grub.d/60_mint-theme.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.3.0-53-generic
Found initrd image: /boot/initrd.img-5.3.0-53-generic
Found linux image: /boot/vmlinuz-5.0.0-32-generic
Found initrd image: /boot/initrd.img-5.0.0-32-generic
Found linux image: /boot/vmlinuz-4.15.0-101-generic
Found initrd image: /boot/initrd.img-4.15.0-101-generic
Found Windows 7 on /dev/sda1
done