我最近在安装 Ubuntu 的同时安装了 Windows 7,但在正常启动时遇到了一些问题。
有两个问题(可能相关)。第一件事是 Grub 菜单中没有启动 Windows 的选项。第二个问题是除非 USB 记忆棒,否则 Windows 不会加载,我导航到 BOOT 菜单以选择 USB 启动(尽管 USB 记忆棒上的 Windows 与 Windows 无关)
这是我在 Gparted 中的系统:
Windows 安装与我的 Ubuntu 14.04 安装在同一个驱动器上(不同的分区)。UEFI 是引导方式。这是我的 Grub 文件的输出
GRUB_DEFAULT=0
GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
这是带有 windows 和 Ubuntu 安装的驱动器的sudo fdisk -l
输出/dev/sda
。sdb是媒体驱动器,sdc是拇指驱动器。
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0006e69e
Device Boot Start End Blocks Id System
/dev/sda1 2048 1050623 524288 b W95 FAT32
/dev/sda2 1050624 103450623 51200000 83 Linux
/dev/sda3 233527296 488396799 127434752 83 Linux
/dev/sda4 * 103450624 233527295 65038336 7 HPFS/NTFS/exFAT
Partition table entries are not in disk order
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0b3923d5
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 1953521663 976759808 7 HPFS/NTFS/exFAT
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'!
The util fdisk doesn't support GPT. Use GNU Parted.
Disk /dev/sdc: 7736 MB, 7736072192 bytes
255 heads, 63 sectors/track, 940 cylinders, total 15109516 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 1 15109515 7554757+ ee GPT
同样,当我尝试在 sda 上重新安装 Grub 时,sudo grub-install /dev/sda
我会输出以下输出:
Installing for x86_64-efi platform.
grub-install: error: cannot find EFI directory
有没有办法可以将 Windows 添加到我的 Grub 菜单或让 Windows 加载而无需插入 USB 记忆棒?我尝试了引导修复,但它说“Grub 仍然存在”所以它似乎没有工作
-------- (编辑)添加了新信息--------------
所以我完全格式化dev/sda/
,然后为 Windows 和 Ubuntu 创建了新分区。然后我先安装了 Windows,并成功地在启动时启动到 Windows。我所做的下一步是将备份的 Ubuntu 分区克隆回新 sda 卷的单独分区。
在我使用引导修复重新安装 grub 之前,我无法引导进入 Ubuntu 安装。我现在可以登录 Ubuntu,但 Windows 仍然没有出现在 Grub 菜单中。这是新的输出sudo fdisk -l
Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders, total 488397168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x0007f9d1
Device Boot Start End Blocks Id System
/dev/sda1 2048 1050623 524288 b W95 FAT32
/dev/sda2 1050624 103450623 51200000 83 Linux
/dev/sda3 * 103450624 233527295 65038336 7 HPFS/NTFS/exFAT
/dev/sda4 233527296 488396799 127434752 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 1019 MB, 1019215872 bytes
255 heads, 63 sectors/track, 123 cylinders, total 1990656 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 * 2 1990655 995327 b W95 FAT32
Boot Repair 的输出可以在这里看到
这两个问题只是一个:你的 sda 有一个 MBR 分区方案(这就是为什么它上面没有 EFI 分区)并且你的 sdc 有一个 GPT 分区方案。那是不兼容。安装源设备 (sdc) 和目标(要安装到)设备必须具有相同的分区方案才能正确安装 GRUB。它可以是 MBR --> MBR 或 GPT --> GPT,但不能是MBR --> GPT 或 GPT --> MBR。
从内部磁盘的大小(和 Win7)来看,我假设你有一台可能不支持 UEFI 和 GPT 的旧 PC。很可能是只支持 MBR 的 BIOS PC。
最安全的解决方案是擦除 sdc 并为其创建 MBR 方案。然后在上面创建一个 Ubuntu liveUSB。最简单的方法是在 Windows 下使用 Rufus 并为您的 USB 拇指选择 BIOS 方案。然后重新安装 Ubuntu。
启动到 Windows 并下载并安装EasyBCD。运行它,然后单击“BCD 部署”,单击“写入 MBR”,然后在您的 Windows 分区(本例为 NTFS 分区 4)上安装 BCD。现在转到“添加新条目”并选择您的 Windows 分区,然后单击“添加条目” . 接下来,转到 Linux 选项卡并选择 GRUB2,然后选择“自动定位和加载”,然后选择“添加条目”。您现在应该能够轻松启动 Windows 和 Linux。