我按照这里的说明进行操作(http://thpc.info/dual/7/db_ubuntu1204_grub_lnx_on_win7.html) 设置 Windows 7 和 ubuntu mate 1.04 双启动系统。
以下是我所遵循的具体部分:
程序概要(高级用户)
- 备份。
- 在第一个硬盘末尾或第二个磁盘上为 Ubuntu 12.04 创建足够的未分配空间。
- 从 Ubuntu Live CD 开始安装
- 在“分配驱动器空间”中,选择其他。
- 在可用空间中为 Ubuntu 创建一个 EXT4 分区(它必须是主分区) - 使用 / 作为挂载点。
- 创建交换分区 - 使用交换区域作为挂载点。
- 或者,为您的数据创建另一个 EXT4 分区 - 使用 /home 作为挂载点。
- 在“用于引导加载程序安装的设备”中,选择 Ubuntu EXT4 / 分区,例如 /dev/sda3 或 /dev/sdb1。安装 Ubuntu。
- 重新启动。目前只能启动 Windows。
- 从 Ubuntu Live CD 启动并选择试用 Ubuntu。
- 运行 Ubuntu 的 GParted 实用程序将 EXT4 分区标记为活动分区。退出并重新启动计算机。
就是这样!Linux 的 GRUB2 引导加载程序菜单将引导 Linux Ubuntu 12.04 或 Windows 7,原始 MBR 保持不变。如果您希望返回 Windows 控制的启动,只需使用磁盘管理将原来的活动分区再次标记为活动 - 然后,如果您愿意,您可以使用免费的 EasyBCD 实用程序将 Linux 添加到 Windows 引导加载程序菜单。
我目前的硬盘设置如下:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 206847 204800 100M 7 HPFS/NTFS/exFAT
/dev/sdb2 206848 81919999 81713152 39G 7 HPFS/NTFS/exFAT
/dev/sdb3 * 81920000 83091455 1171456 572M 83 Linux
/dev/sdb4 83093502 312580095 229486594 109.4G 5 Extended
/dev/sdb5 83093504 99106815 16013312 7.7G 82 Linux swap / Solaris
/dev/sdb6 99108864 130551807 31442944 15G 83 Linux
/dev/sdb7 130553856 209065983 78512128 37.4G 83 Linux
/dev/sdb8 209068032 312580095 103512064 49.4G 7 HPFS/NTFS/exFAT
在先安装 Windows 然后再安装 ubuntu 之后,我唯一做的事情就是使用 live cd 启动 ubuntu,并通过从 /dev/sdb1(Windows 安装过程创建的 100mg Windows 启动分区)更改标志选项将 /dev/sdb3 设置为活动状态。然后设置 grub 启动加载程序来管理启动过程。
/dev/sdb2 = Windows 7
/dev/sdb3 = /boot (primary partition)
/dev/sdb6 = / (root partition)
/dev/sdb7 = /home
/dev/sdb8 = NTFS partition to share between windows and ubuntu
我从一块新磁盘开始,并使用 Gparted 进行分区。当我最初设置分区时,gparted 没有提供将 /dev/sdb8 设置为 ntfs 的选项,因此我使用了 fat32。然后我在启动 Windows 后将其格式化为 NTFS。
确实,Grub 正在管理我的启动。我可以从 Grub 菜单中选择 Windows 7,并毫无困难地启动到 Windows 7。但是,当我选择 Ubuntu 时,屏幕会挂在 ubunt 启动徽标屏幕上。
我尝试使用 ubuntu live cd 登录并运行 boot-repair 来修复任何问题。但是,没有成功。以下是运行 boot-repair 的输出:
http://paste.ubuntu.com/25714271/(运行建议修复前的摘要信息) http://paste.ubuntu.com/25714275/(运行建议的修复后的摘要信息)
我错过了什么?
答案1
我的问题已经解决了。感谢 oldfred 的指点。我不太确定是什么解决了我的问题,但我做了以下事情:
我更改了 bios,将硬盘驱动器作为第一个启动设备,而不是像以前那样将所有其他设备都放在硬盘驱动器前面。我注意到,这样做似乎修复了分区名称分配,实际上显示硬盘驱动器分区的 sda 和拇指驱动器的 sdb。我认为这可能是修复之一,因为 grub 最适合这种顺序。
然后,我还使用我的 Linux 实时驱动器来启动 gparted,并将我的引导标志改回 100mg Windows 加载程序驱动器。
然后,我使用原始硬盘分区重新安装了 ubuntu。重新安装时,我再次格式化了所有 ubuntu 分区:
/dev/sda3 = /boot (主分区)
/dev/sda6 = / (根分区)
/dev/sda7 = /home- 在浏览几篇帖子时,一些用户建议不使用 /dev/sda 分区进行 grub 2 安装可能会导致像我一开始遇到的问题一样的问题,但我仍然坚持安装到我创建的 /dev/sda3 linux 启动分区。我真的想这样设置它,因为我想让 ubuntu grub 分区与 windows 启动加载程序分区完全分开。
安装完成后,我无需执行任何其他操作。Grub 似乎已成功获取我的 Windows 安装并将其添加到 Grub 启动菜单中。两个系统现在都可以正常启动,一切都很完美。
我希望将来如果我需要重新安装或者升级 Windows 或 Ubuntu,任何一个引导加载程序都不会受到干扰。
如果我的假设准确的话,即 grub 会自动拾取 windows 驱动器并在启动屏幕上进行设置,那么我很想听听 grub 方面的专家的意见。安装 ubuntu 后,我无需运行启动修复或执行任何其他操作。它就这么运行了。