我正在尝试修复 PC 上的 GRUB,但遇到了严重问题。任何帮助都将不胜感激,因为我现在完全无计可施。以下是这台 PC 的事件顺序:
- 已安装 Windows 7
- 将整个磁盘分成两个分区(一个用于 win7,一个用于多媒体)
- 很久过去了
- 将其中一个分区再次拆分为两个
- 在新分区上安装 Ubuntu 11.04
- 过了一会儿
- Windows 7 出现问题,重新安装
- Ubuntu GRUB 消失了
- 尝试通过从实时 USB 安装和 grub-install 来恢复 GRUB
- 尝试切换到实时 CD 而不是 USB(认为可能是驱动器的问题)
- 现在我看不到 GRUB,并且收到“输入/输出”错误
I/O 错误示例:
ubuntu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 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: 0xbe86aff6
Device Boot Start End Blocks Id System
/dev/sda1 * 1 48727 391393280 7 HPFS/NTFS
/dev/sda2 48727 77063 227612647+ 7 HPFS/NTFS
/dev/sda3 77063 91202 113566721 5 Extended
/dev/sda5 77063 90622 108908544 83 Linux
/dev/sda6 90622 91202 4657152 82 Linux swap / Solaris
ubuntu@ubuntu:~$ sudo mount /dev/sda5 /mnt
ubuntu@ubuntu:~$ sudo grub-install --root-directory=/mnt /dev/sda
mkdir: cannot create directory `/mnt/boot': Input/output error
ubuntu@ubuntu:~$ cd /mnt
ubuntu@ubuntu:/mnt$ ls
ls: cannot access etc: Input/output error
答案1
现在看来您的 Linux 分区有些问题。我建议卸载 /dev/sda5 并在其上运行 e2fsck(如果不是 ext2/ext3,则运行该分区的相应 fsck)以确保一切正常。
我还建议运行 smartctl 来验证磁盘是否健康,并可能进行一些简单的测试来验证驱动器的完整性(输入/输出错误不正常且不好/不健康)
对于肮脏的善良,我建议http://www.supergrubdisk.org/。它最近救了我一命。它基本上是缺失、损坏或有缺陷的 grub 安装的替代品。我怀疑它可以启动 Windows 和 Ubuntu(不确定 Windows 是否如此,但如果您的 Ubuntu 分区完好无损,如果它无法启动它们,我会感到惊讶。注意:用户界面很吓人,但它确实有效。
一旦您启动了 Ubuntu 分区并且所有分区都健康,您的 grub-install 就应该可以工作。