我花了一天时间尝试了所有能找到的建议,并使用了 ArchWiki 教程。但还是没成功。情况如下:
我安装了 Ubuntu 14.04 LTS /dev/sdb
(首先安装)。我安装了 Windows 7 /dev/sda
(第二个从 USB 棒安装)。/dev/sda1
包含“SYSTEM_RESERVED”100mb 分区。/dev/sda2
包含 Windows。Grub 无法识别 Windows 7,我无法让 chainloader 工作。
这是我尝试过的:
- 启动修复(我收到一个
"No GPT detected, install a small bios partition..."
使用 gparted 时遇到的错误,即使标记 bios_grub 并且检测到它之后仍然没有运气。) sudo os-prober; sudo update-grub;
(也可以使用 sudo update-grub2)添加手动条目
/etc/grub.d/40_custom
(很多变化):if [ "${grub_platform}" == "efi" ]; then menuentry "Microsoft Windows Vista/7/8/8.1 UEFI-GPT" { insmod part_gpt insmod chain set root='(hd0,gpt5)' chainloader /EFI/Microsoft/Boot/bootmgfw.efi } fi
我尝试过chainloader +1
、许多 insmod 变体等。基本上无论我尝试什么路径,我总是得到"file not found"
或"command not found"
或"EFI not found"
。(所以是的,当我启动 grub 时,我可以看到 Microsoft Windows 条目。)
当我启动计算机时,它会显示 ,了解这一点也许会有所帮助"Press F2 to enter UEFI BIOS Setup"
。
有人可以简单解释一下发生了什么以及如何解决吗?
sudo lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT,LABEL
NAME FSTYPE SIZE MOUNTPOINT LABEL
sda 232.9G
├─sda1 ntfs 100M System Reserved
└─sda2 ntfs 232.8G
sdb 111.8G
├─sdb1 vfat 94M /boot/efi
└─sdb2 ext4 111.7G /
sdc 931.5G
└─sdc1 ext4 931.5G /media/backup Backup
sdd 1.4T
└─sdd1 ntfs 1.4T BigDunn
答案1
首先,您需要修复 Windows 启动管理器:
- 使用 Windows 安装 CD 或通过 USB 闪存驱动器启动系统
- 转到“修复系统”
- 使用命令提示符(疑难解答 ► 高级选项 ► 命令提示符)
bootrec /fixboot
输入然后按回车键bootrec /fixmbr
输入然后按回车键- 出口
这次您的系统将直接启动到 Windows。
现在恢复你的 grub 加载程序:
- 使用 Ubuntu 安装 CD 或 USB 闪存驱动器启动系统
- 从启动菜单中选择“无需安装即可试用 Ubuntu”选项
- 打开终端(使用Ctlr+ Alt+ T)
您的 Ubuntu 操作系统已安装在
sdb2
(感谢您的信息)。现在/dev/sdb2
通过以下命令安装:sudo mount /dev/sdb2 /mnt for i in /sys /proc /run /dev;do sudo mount --bind "$i" "/mnt$i";done
使用以下命令切换到 Ubuntu 的根目录:
sudo chroot /mnt
并运行以下命令将 grub 安装到主分区
sdb
:grub-install /dev/sdb
更新 grub 并退出并重新启动系统。
update-grub exit sudo reboot
希望这可以帮助。
答案2
我自己解决了这个问题。请注意,虽然步骤 1 和 2 取决于我的硬件,但其余步骤可能仍然有用。
从制造商网站下载了较新的 BIOS 映像。幸好我有一块较新的主板,所以仍在进行更新(M5A99FX Pro R2.0)。
在 BIOS 中的“高级模式”中,在启动选项下,现在有 2 个单独的 Windows 选项:“Windows Boot Mgr”和“Windows on /dev/sda”。选择“Windows on /dev/sda”,即可启动 Windows。
进入 Windows 后,我安装了 Easy BCD 2.2,它允许我安装 EFI 启动菜单来替换标准 Windows 管理器。我从菜单中添加了“Ubuntu x64”。在这里我非常怀疑,因为我无法指定 Ubuntu 安装所在的驱动器或分区,但该程序能够成功找到安装。
重启后,Windows 启动菜单上会显示“Windows 7”或“Ubuntu 14.04”(该菜单与标准的“启动到安全模式”菜单完全相同)。如果我选择 ubuntu,它会在我的 Ubuntu 驱动器上链式加载到 Grub2.0,现在它还为我提供了链式加载回 Windows 7 的附加选项(os-probe 现在可以在 BCDEdit 后检测到 Windows 7)。
太成功了。我更希望只有一个菜单就能直接进入我想要的操作系统,但这个可以!谢谢大家的帮助。