从 Windows 创建新分区后进行 grub 救援

从 Windows 创建新分区后进行 grub 救援

我已成功安装了 Ubuntu 10.04.03 LTS 和现有的 Windows 7 Professional。两个操作系统均能正常启动,没有任何问题。安装后,我需要执行 sudo update-grub 才能获取 grub 加载程序选项。

我的硬盘分区如下(出现问题之前):

System partition (105 MB approx.)
C:\
D:\
Ubuntu partition (120 GB approx.)

今天,我从 Windows 7 分区管理器创建了另一个分区 F:\,如下所示。

System partition (105 MB approx.)
C:\
D:\
F:\
Ubuntu partition (120 GB approx.)

另外,我意外地将驱动器号分配给了 Ubuntu 分区 G:。意识到自己的错误后,我立即通过点击“更改驱动器号和路径”中的删除菜单删除了驱动器号。

重新启动电脑后,出现以下错误消息屏幕:

error: unknown filesystem.
Entering rescue mode...
grub rescue> 

在此屏幕上,我得到以下输出: (hd0) (hd0,msdos4) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1)

我尝试了以下命令

(hd0),(hd0,msdos6),(hd0,msdos5),(hd0,msdos4),(hd0,msdos3),(hd0,msdos2),(hd0,msdos1)

set boot=(hd0,msdos6)
set prefix=(hd0,msdos6)/boot/grub
insmod normal

但我收到以下错误: error: unknown filesystem.

或者: error: no such partition

我没有 Windows Live CD,但我有可启动 USB,上面安装了相同的 Ubuntu 操作系统,可以从该 USB 启动。

我希望能够同时启动 Windows 7 和 Ubuntu。请告诉我我需要做什么。

任何帮助/建议都将受到赞赏。

更新 1
输出fdisk -l

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 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: 0xd8680f27

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1              63        2047         992+  42  SFS
Partition 1 does not start on physical sector boundary.
/dev/sda2   *        2048      206847      102400   42  SFS
/dev/sda3          206848   195350527    97571840   42  SFS
/dev/sda4       195350528   976771119   390710296   42  SFS

Disk /dev/sdb: 4023 MB, 4023385600 bytes
255 heads, 63 sectors/track, 489 cylinders, total 7858175 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: 0x9182a35b

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *          63     7858174     3929056    c  W95 FAT32 (LBA)
ubuntu@ubuntu:~$ 

更新 2

您可以在下面找到由 boot-repair 创建的粘贴箱链接:
http://paste.ubuntu.com/14678090/

提前致谢,
Alkesh

答案1

GRUB 报告的分区形式(hd0,msdos##)意味着您有一个 MBR 分区表并且正在以 BIOS 模式启动。这意味着您遇到了一个大雷区:Windows 分区工具糟糕的处理 MBR 磁盘上的扩展分区和逻辑分区。我见过许多磁盘被 Windows 分区工具严重损坏的人的帖子,通常是因为 Windows 工具删除或以其他方式损坏了逻辑分区。在某些情况下,Windows 会将标准磁盘转换为使用 Microsoft 特定逻辑磁盘管理器 (LDM)格式。由于您没有提供分区表详细信息,因此我无法确定您遇到的情况,但很有可能确实如此。为确保万无一失,请启动 Ubuntu 实时磁盘,运行以下命令,然后将结果发布回此处:

sudo fdisk -l

请务必通过编辑原始问题来发布结果!此外,请在输出的每一行开头添加四个空格fdisk;这标记它以保留格式,如果不这样做,格式将变得难以辨认。

根据损坏程度,你也许可以用我的FixParts 计划,它是 Ubuntu 软件包的一部分gdisk;或者你可能需要使用TestDisk 程序。您甚至可能需要借助更高级的工具或从备份中恢复所有内容。

答案2

我尝试使用启动救援进行修复,但中途关闭了,因为我不太明白它想做什么。我猜这进一步恶化了 grub 并导致无法启动 Ubuntu。

经过进一步咨询我们的系统管理员,我得知分区磁盘已被 Microsoft Windows 转换为动态磁盘。一旦转换为动态磁盘,就无法将其更改回主分区。因此最终不得不重新创建分区、格式化 PC 并重新安装所有内容。

感谢所有的帮助和支持。

相关内容