我有一个同时安装了 Windows 和 Linux 的系统。在过去 3 年中,我在 openSUSE 和 Ubuntu 之间切换,两天前我决定安装 Ubuntu。
完成后,它非常卡,我沮丧地尝试重新安装。不知何故,出现了问题,Ubuntu 退出了安装。我尝试了 openSUSE,但出于奇怪的原因,openSUSE 收到很多有关我的 Windows 分区的错误。
我决定在我兄弟的电脑上下载最新的 64 位 Ubuntu 版本,并在那里刻录 CD。现在安装一切顺利,但当我重新启动时,GRUB 根本没有加载。经过一些调整后,我让 GRUB 启动并运行,但 Windows 不可见。但我的所有东西和 Windows 文件在 Nautilus & Dolphin 中都是可见和可访问的,所以它在那里。
在网上阅读了一些资料后,我很确定我的问题是 GRUB 安装在 Windows 分区中。
这是我的设置:Linux sda1 - windows sda2 - swap sda5
该怎么办?
答案1
您是否尝试过sudo update-grub
在终端中运行并查看 grub 是否可以启动 Windows 分区?
答案2
我最近在 Fedora 17 上遇到了同样的问题。根本问题似乎是现在有几种安装 grub 的方法,并且 bios 可以在几种不同的硬件模式下启动。我第一次尝试安装 Fedora 17,每次我要安装时,Fedora 安装程序都会抱怨我需要一个 gpt 分区。我读到的解决方案是在命令行上运行以下命令:
$ su -
# gedit /dev/sda
w
果然,这解决了安装问题。但之后 grub2 找不到我的 windows 分区。我尝试了所有方法,直到我最终发现安装程序所做的是创建一个 /boot/efi 目录,它在其中安装了 grub(而不是 grub2),因此编辑 grub2 菜单是没用的。此时我可能只需编辑 /boot/efi 目录中的配置文件,但在执行此操作之前,我尝试安装 grub2-efi,然后再次运行 grub2-install。这导致系统根本无法启动。
此时,即使是 Live DVD 也只能在 UEFI 模式下启动。我再次继续安装 Fedora。完成后,我安装了 grub 2,它可以启动 Fedora,找到 Windows,但无法启动 Windows。似乎一旦 grub2 在 UEFI 模式下启动,您就无法启动非 UEFI 操作系统。所以我尝试了 Windows 修复盘,然后是恢复盘。两者都抱怨它们适用于错误版本的 Windows。甚至尝试在 UEFI 模式下重新安装 Windows 也失败了,因为我找不到 gpt 的驱动程序……
所以我最终决定尝试将一切恢复到原始状态。我使用 fdisk 手动删除了 gpt 分区,并恢复了 MBR 分区表。我仍然无法启动 Windows,因为 grub 在我的 MBR 中,并且不再有 grub 分区。我尝试了 Windows 修复。这次它检测到它是正确的 Windows 版本,并尝试修复启动,但 Windows 仍然无法启动,只有 grub。
然而,我发现我可以在非 UEFI 模式下再次启动 Fedora 17 live dvd。所以我这样做了,并第三次运行安装。我原本以为它会重复原来的错误消息并再次以 EFI 安装结束。然而,它却以某种方式成功安装而没有错误。Grub2 现在是我的启动管理器,Windows 可以正确启动。奇怪的是,我现在提供了 MBR 和 GPT 分区表。没有 gpt 分区。虽然很奇怪,但这似乎有效。如果我要从头开始,我只需手动构建两个表,因为这似乎以所需的方式工作。
这是我最终得到的实际分区:
[root@docbill-PC ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.2
Caution: invalid main GPT header, but valid backup; regenerating main header
来自备份!
Caution! After loading partitions, the CRC doesn't check out!
警告!主分区表 CRC 不匹配!加载了备份分区表而不是主分区表!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer: 1
Command (? for help): print
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Logical sector size: 512 bytes
磁盘标识符 (GUID):B3845F17-774A-40EE-A48D-6A7841D4E965 分区表最多可容纳 128 个条目 第一个可用扇区为 34,最后一个可用扇区为 250069646 分区将在 2048 扇区边界上对齐 总可用空间为 4717 个扇区(2.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB 0700 Microsoft basic data
2 206848 209922047 100.0 GiB 0700 Microsoft basic data
3 209922048 210946047 500.0 MiB 8300 Linux filesystem
5 210948096 250068991 18.7 GiB 8E00 Linux LVM
Command (? for help): quit
[root@docbill-PC ~]# gdisk /dev/sda
GPT fdisk (gdisk) version 0.8.2
Caution: invalid main GPT header, but valid backup; regenerating main header
来自备份!
Caution! After loading partitions, the CRC doesn't check out!
警告!主分区表 CRC 不匹配!加载了备份分区表而不是主分区表!
Warning! One or more CRCs don't match. You should repair the disk!
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: damaged
Found valid MBR and corrupt GPT. Which do you want to use? (Using the
GPT MAY permit recovery of GPT data.)
1 - MBR
2 - GPT
3 - Create blank GPT
Your answer: 2
Command (? for help): print
Disk /dev/sda: 250069680 sectors, 119.2 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 85E271CD-1847-4203-9D2E-0CA970720FDC
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 250069646
Partitions will be aligned on 2048-sector boundaries
Total free space is 2669 sectors (1.3 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB 0700 Microsoft basic data
2 206848 209922047 100.0 GiB 0700 Microsoft basic data
3 209922048 210331647 200.0 MiB EF00 EFI System Partition
4 210331648 210333695 1024.0 KiB EF02
5 210333696 211357695 500.0 MiB 0700
6 211357696 250068991 18.5 GiB 8E00
Command (? for help): quit
注意:看起来如果您实际使用 gdisk 编辑 gpt 分区,它将替换 MBR 分区,并且您需要使用 fdisk 重建该点以使一切正常工作。