添加新的 Win7 驱动器并安装 11.04 后无法进入 Grub

添加新的 Win7 驱动器并安装 11.04 后无法进入 Grub

简而言之,我有一个可以正常工作的双启动。然后我添加了一个装有 Win7 的新驱动器。它运行良好,可以满足我的大部分需求,但我现在无法访问 Linux。我想在不弄乱我的 Win7 MBR 的情况下访问 Linux(例如在 Linux 驱动器上安装 grub 并更改 BIOS 启动顺序或使用 Windows 引导加载程序访问 grub)。

我使用 11.04 进行安装(覆盖了现有的 10.04,这可能是一个错误)。我仍然可以进入 Win7(因此行为没有变化),但仍然无法进入 grub / ubuntu。

这可能是错误的地方,因为这是一个难以解决的混乱问题,而不是一个简单的问题和答案,但我想试试运气。

欲了解更多详情,请继续阅读...

背景。

最初有 2 个硬盘:

  • 320GB - Vista(先安装)
  • 160GB - Linux(从 8.04 升级到 10.04)- 包括一个小的交换分区

用于启动到 Grub 来选择 Windows 或 Linux。

我添加了一个新驱动器(SSD)并在其上安装了 Windows 7。我在让 BIOS 识别要启动的驱动器时遇到了一些麻烦,因此更换了一些 SATA 电缆,这可能是导致我后来出现问题的原因之一。

我现在可以正常启动 Windows 7,但 Linux 却无法访问。我首先在 Windows 上安装了 EasyBCD,并尝试自动识别 Linux,但这似乎不起作用(遗憾的是我记不清细节了)。

然后我使用 11.04 LiveCD 并尝试升级 10.04 安装(这是一个选项)。最后我遇到了很多错误,这些错误似乎与从 grub 更改为 grub 2 有关(因为我的 10.04 是从原来的 7 或 8 升级的)。

我尝试在安装过程中格式化 Linux 驱动器并安装 11.04 来代替它,现在看来成功了,但仍然无法成功启动 Linux。我还执行了从 LiveCD 复制 GRUB 2 文件说明直到需要重新启动。但是我随后进入 grub 提示符,无法看到如何执行“使用 sudo update-grub 刷新 GRUB 2 菜单“步骤。此时输入 sudo update-grub 无法被识别。

现在的情况。

我可以从 BIOS 中选择启动到 3 个驱动器中的任何一个,或者从 LiveCD 启动。

  1. 从新的 120GB 驱动器启动。显示 Windows BCP。
  2. 从原始 320GB Windows 启动 - 无启动菜单,直接加载到 Vista
  3. 从 Linux 160GB 驱动器启动。 最终出现 Grub 救援提示(见图)

鉴于 Linux 是我现在的主要工作环境,我宁愿不更改 Linux 安装中的 Windows 7 MBR。相反,我宁愿在 Linux 驱动器上安装 Grub,然后在 BIOS 启动顺序中赋予它优先权。一旦我可以成功启动 Linux,我就会愿意进行其他更改。任何帮助让 Grub 在 Linux 驱动器上运行(假装新的 Windows 7 磁盘不存在)的帮助都将不胜感激

细节

fdisk -l 的输出

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2889808c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       18662   149902483+  83  Linux
/dev/sda2           18663       19457     6385807    f  W95 Ext'd (LBA)
/dev/sda5           18663       19457     6385806   82  Linux swap / Solaris

Disk /dev/sdb: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xfeffeeaa

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       38914   312568832    7  HPFS/NTFS

Disk /dev/sdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x13944bce

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sdc2              13       14594   117115904    7  HPFS/NTFS

答案1

好的,我已经取得了进步,并且已经走了相当远的路。

我已按照以下步骤操作https://help.ubuntu.com/community/RecoveringUbuntuAfterInstallingWindows

具体来说,使用以下方法查找我的 UUID mount,然后执行以下操作:

sudo grub-install --boot-directory=/media/<my UUID>/boot /dev/sda

我以为我已经这样做了,但也许没有。

现在在 BIOS 中设置我的启动驱动器,因为 Linux 驱动器显示启动加载程序并允许我启动到 Ubuntu 11.04。下一步是查看 Grub 是否也能成功启动 Windows,同样,我是否可以配置 Windows 启动加载程序以查看 Ubuntu。

更新

  • Grub 看不到 Windows,因此将考虑添加该条目。
  • Windows BCP Grub2 自动配置条目仍然有相同的错误。但是,错误发生后 grub1 选项会启动 grub,我可以从那里继续启动

答案2

从 11.04-Live-CD 启动。启动 gparted。删除非 SSD 磁盘上的所有分区。取消设置 SSD 驱动器的启动标志。然后安装 11.04。如果您的磁盘现在被重新识别,则应该可以工作。您还应该检查 HDD 上的物理主/从引脚是否设置正确。

相关内容