Ubuntu 14.04 + Windows 7,无法启动 Windows

Ubuntu 14.04 + Windows 7,无法启动 Windows

我花了一天时间尝试了所有能找到的建议,并使用了 ArchWiki 教程。但还是没成功。情况如下:

我安装了 Ubuntu 14.04 LTS /dev/sdb(首先安装)。我安装了 Windows 7 /dev/sda(第二个从 USB 棒安装)。/dev/sda1包含“SYSTEM_RESERVED”100mb 分区。/dev/sda2包含 Windows。Grub 无法识别 Windows 7,我无法让 chainloader 工作。

这是我尝试过的:

  1. 启动修复(我收到一个"No GPT detected, install a small bios partition..."使用 gparted 时遇到的错误,即使标记 bios_grub 并且检测到它之后仍然没有运气。)
  2. sudo os-prober; sudo update-grub;(也可以使用 sudo update-grub2)
  3. 添加手动条目/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 启动管理器:

  1. 使用 Windows 安装 CD 或通过 USB 闪存驱动器启动系统
  2. 转到“修复系统”
  3. 使用命令提示符(疑难解答 ► 高级选项 ► 命令提示符)
  4. bootrec /fixboot输入然后按回车键
  5. bootrec /fixmbr输入然后按回车键
  6. 出口

这次您的系统将直接启动到 Windows。

现在恢复你的 grub 加载程序:

  1. 使用 Ubuntu 安装 CD 或 USB 闪存驱动器启动系统
  2. 从启动菜单中选择“无需安装即可试用 Ubuntu”选项
  3. 打开终端(使用Ctlr+ Alt+ T
  4. 您的 Ubuntu 操作系统已安装在sdb2(感谢您的信息)。现在/dev/sdb2通过以下命令安装:

    sudo mount /dev/sdb2 /mnt
    for i in /sys /proc /run /dev;do sudo mount --bind "$i" "/mnt$i";done
    
  5. 使用以下命令切换到 Ubuntu 的根目录:

    sudo chroot /mnt
    
  6. 并运行以下命令将 grub 安装到主分区sdb

    grub-install /dev/sdb
    
  7. 更新 grub 并退出并重新启动系统。

    update-grub
    exit
    sudo reboot
    

希望这可以帮助。

答案2

我自己解决了这个问题。请注意,虽然步骤 1 和 2 取决于我的硬件,但其余步骤可能仍然有用。

  1. 从制造商网站下载了较新的 BIOS 映像。幸好我有一块较新的主板,所以仍在进行更新(M5A99FX Pro R2.0)。

  2. 在 BIOS 中的“高级模式”中,在启动选项下,现在有 2 个单独的 Windows 选项:“Windows Boot Mgr”和“Windows on /dev/sda”。选择“Windows on /dev/sda”,即可启动 Windows。

  3. 进入 Windows 后,我安装了 Easy BCD 2.2,它允许我安装 EFI 启动菜单来替换标准 Windows 管理器。我从菜单中添加了“Ubuntu x64”。在这里我非常怀疑,因为我无法指定 Ubuntu 安装所在的驱动器或分区,但该程序能够成功找到安装。

  4. 重启后,Windows 启动菜单上会显示“Windows 7”或“Ubuntu 14.04”(该菜单与标准的“启动到安全模式”菜单完全相同)。如果我选​​择 ubuntu,它会在我的 Ubuntu 驱动器上链式加载到 Grub2.0,现在它还为我提供了链式加载回 Windows 7 的附加选项(os-probe 现在可以在 BCDEdit 后检测到 Windows 7)。

太成功了。我更希望只有一个菜单就能直接进入我想要的操作系统,但这个可以!谢谢大家的帮助。

相关内容