我正在尝试修复 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
尝试安装引导修复。这是一个非常有用的实用程序,因为您可以根据您的问题轻松修复 GRUB。
答案2
引导修复
主要特点...
*. 当您无法启动操作系统时,恢复或修复 MBR 中的 Grub 代码。
*. 在操作系统内进行修复(你知道,即使你删除了引导加载程序,只要你不重新启动 PC,你就会没事,但会持续一段时间 :P)
*.重新安装加载器。
*. 更改 GRUB 安装的位置(你知道,将其安装到另一个 HDD 等)。
*.恢复原始引导扇区。
您可以在终端中输入以下命令,在 Ubuntu 11.04 Natty Narwhal、11.10 Oneiric Ocelot、12.04 Precise Pangolin、10.10 和 10.04 中安装出色的 :D Boot-Repair。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install boot-repair
如果我无法启动我的 Ubuntu 桌面,我该如何使用它?Gayan!你这个……疯子?
好吧,我的朋友,使用您的 Live CD 或 Live USB... 使用这些媒体启动到您的桌面,然后使用相同的命令安装 Boot-Repair。或者,我认为如果没有互联网连接,您应该能够在“/usr/bin”目录中运行它。从这个意义上讲,我们实际上可以使用此应用程序创建 Linux 恢复磁盘/LiveCD,这应该有助于访问/恢复我们的数据,甚至不会丢失一个字节!:D。祝你好运。
答案3
看起来,在进行任何操作之前,最好的做法是启动它并备份“多媒体”分区,这样如果发生什么事情,损害就不会那么大。
如果您收到 I/O 错误,可能是因为分区被破坏了。当我从 Vista 升级到 win7 时也发生过这种情况,它自己创建了新的 NTFS 分区,并且一个逻辑分区出现问题,该分区以前是 ubuntu(感谢上帝,不是我的 /home)
完成备份后,你可以在终端中尝试这个命令(我假设你的 ubuntu 在sda5)
mount /dev/sda5 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
cp /etc/resolv.conf /mnt/etc/resolv.conf
chroot /mnt
grub-install --recheck /dev/sda
然后重新启动计算机,它应该会加载 ubuntu,之后你必须在 grub2 菜单列表中添加你的 windows,为此在一个终端中输入
sudo update-grub
我希望你能解决问题,并且不需要重新安装一切再次(包括 win)。如果你必须这样做,我建议你把分区设为物理分区,而不是像 windows 那样设为逻辑分区。在安装操作系统之前,有很多方法可以创建分区。我建议有一个希伦斯靴随时可用。在这张 CD 中,您可以找到对硬盘进行分区可能需要的所有类型的工具以及许多其他很酷的东西