我认为这不是重复的帖子。在假设之前,请先阅读下面的发现。
我在网上查看了几个问题,人们抱怨在双启动安装后没有获得 GRUB 选项来进入 Ubuntu 操作系统。但不幸的是,没有一个答案对我有用。
我将按时间顺序解释我观察到的问题。
一个月前,我安装了 Windows 7 和 RHEL 6.5,并设置了双启动方案。RHEL 的 GRUB 过去常常显示选择 Windows 7 和 RHEL 的选项(这意味着我先安装了 Windows 7,然后安装了 RHEL)。
以下是我的笔记本电脑当前的分区方案:
- 100 MB 的 Windows 启动分区。
- 标记为 C 的分区(Windows 分区)为 100 GB。
- 300 GB 的分区标记为 D(我个人的分区,专用于电影;))。
- 75 GB 的分区,其中安装了 RHEL。(仅根分区)。
并且,请注意我的笔记本电脑有 BIOS(不是 UEFI)。
我想使用带有 Ubuntu 实时 ISO 的可启动 USB 用 Ubuntu 14.04 替换 RHEL 6.5,并开始设置 Ubuntu,但 Ubuntu 的设置显示:
计算机目前未检测到操作系统
所以,我不想冒险进入自定义分区步骤。(我猜,有一个名为“os-prober”的模块肯定不起作用。但它始终适用于 RHEL,这就是为什么我目前在笔记本电脑中以双启动模式安装了 RHEL 和 Windows 7)。
使用“sudo fixparts /dev/sda”清除 /dev/sda 中剩余的无效 GPT。执行此步骤时,我意外删除了 MBR,并丢失了其他分区中存储的所有数据。:(
必须彻底关闭 Windows 7。
最多应创建 4 个分区。第四个分区专用于 Ubuntu。
使用 GParted 格式化第四个分区。
尝试使用 boot-repair-tool 修复任何引导加载程序问题。
运行“chkdsk”命令以确保硬盘中没有错误。
尝试使用 WUBI 安装 Ubuntu。安装成功,可以选择 Windows 和 Ubuntu。但 Ubuntu 无法挂载根目录,提示未找到根分区。
最后但并非最不重要的一点:彻底清理分区并使用 GParted 以及 Windows 分区工具执行重新分区。
遵循第 8 点后,我再次尝试将 Ubuntu 和 Windows 7 设置为双启动,但问题仍然相同。未检测到操作系统。
有人可能会要求我无论如何都要安装 Ubuntu(自定义分区),而不关心计算机是否没有检测到操作系统。但是,请注意,我也尝试过这个。Ubuntu 安装成功,但重启时没有出现任何 GRUB 菜单。我曾尝试使用 boot-repair-tool 修复此问题。但仍然找不到 GRUB 菜单。
我是否遗漏了什么步骤?
现在还有另一个故事:我尝试安装 Fedora 20 和 Windows 7 双启动设置。使用 Fedora 时,我没有收到“未检测到操作系统”消息。但是,我在最后一个分区上安装了 Fedora 20。如您所知,Fedora 20 没有提供如何以及在何处安装 GRUB 的选项。尽管如此,我还是继续安装,成功安装后,启动时没有看到任何 GRUB 菜单。我的笔记本电脑直接进入 Windows 7。还尝试了启动修复工具,但仍然没有成功。
如果您需要任何与我的分区或 BIOS 相关的数据,请告诉我。请不要要求我最多创建 3 个分区,否则我只能在双启动设置中使用 RHEL。也不要要求我在 VM 中安装 ubuntu,因为我只有 3 GB 的 RAM。
我还应该做什么才能实现 Ubuntu 与 Win 7 双启动?
答案1
这很可能看起来像是一个荒谬愚蠢的答案,但它对我有用,对其他遇到此问题的人也可能会有帮助。当我安装 ubuntu 时,我选择了“其他”,因为我已经设置了分区并且不想让 ubuntu 这样做。这样做意味着 windows 分区有启动标志,因此我没有启动菜单。我所要做的就是选择 ubuntu ext4 分区作为启动,它就起作用了!
Tl;Dr:将启动标志从 Windows 加载程序更改为 GRUB 分区。
答案2
最后,我找到了解决方案。但解决方案并没有解释为什么我会遇到这个双重启动问题。但我没有发现任何地方提到我将在下面解释的这些步骤。
我执行了以下步骤:
步骤1:安装Windows 7。
请注意,在步骤 1 之后我有 3 个分区。
/dev/sda
-> /dev/sda1 : Windows auto-created 100 MB System reserved partition.
-> /dev/sda2 : C Drive.
-> /dev/sda2 : D Drive.
-> 100 GB Unallocated partition.
第 2 步:创建 Ubuntu 可启动 USB 并启动 Ubuntu 实时会话。
步骤 3:运行“GParted”并创建第四个分区作为“扩展分区”。然后我在扩展分区下分别创建了 80 GB ( /dev/sda5
) 和 20 GB ( /dev/sda6
) 的另外 2 个逻辑分区。
步骤 4:运行 Ubuntu 安装并选择“其他”为 Ubuntu 创建我自己的分区方案。
步骤 5:将 /dev/sda5 重新格式化为根分区,将 /dev/sda6 重新格式化为交换分区。
第 6 步:选择 /dev/sda5 并单击“下一步”继续 Ubuntu 安装。
步骤 7:安装完成后,重启电脑,发现电脑直接进入了 Ubuntu。之后,再次重启,出现 GRUB 菜单,发现 GRUB 菜单里没有 Windows 的入口。
步骤 8:在同一个 GRUB 菜单屏幕上,还有另一个选项:
Advanced Options for Ubuntu
。
它让我进入另一个有两个选项的菜单。第二个是:
Ubuntu, with Linux 3.16.0-23-generic (recovery mode)
。
随后,它引导我进入Recovery Menu
。该菜单有几个选项,例如“恢复、清理、dpkg、failsafeX、fsck、grub、网络、根、系统内存”。我选择grub
并点击OK
。
这修复了 GRUB 并要求我重新启动笔记本电脑。后来,当我重新启动笔记本电脑并通过按向上箭头键触发 GRUB 菜单时,猜猜我发现了什么。我发现 GRUB 菜单有几个选项,包括“Windows 7”。
然后,我逐一测试了 Ubuntu 和 Windows 7,它们都顺利启动。
答案3
我不知道如何让 osprober 找到您的 Windows 安装。我的 gentoo 安装也遇到了同样的问题。不过我可以为您提供解决方法。但是这样做有一个缺点:您必须手动维护此更改。
首先找出放置 Windows 引导加载程序的分区的 UUID
blkid /dev/sdXY
将以下代码添加到/etc/grub.d/40_costum
menuentry "Windows 7" --class windows --class os {
insmod part_msdos
insmod `[file system format]`
insmod chain
search --no-floppy --fs-uuid --set=root `[UUID of boot partition]`
chainloader +1
}
使脚本可执行chmod 750 /etc/grub.d/40_costum
运行update-grub2
并重新启动。
现在您应该有一个适用于 Windows 7 的自定义菜单项。
答案4
我有同样的问题,并按照我的解释解决了:
1 - 您应该关闭快速启动和安全启动,在谷歌上搜索如何操作。
2 - 搜索如何打开 UEFI(BIOS)。从启动选项卡更改启动模式,然后保存并退出 bios。
3 - 启动时按 F12,会出现很多选项,Windows Loader 在最上面。在这个列表中,有一个选项(从 HDD 启动等),选择它。然后 WUHU,启动屏幕 Windows、Ubuntu 选择出现。