Ubuntu 升级 + 启动修复后启动 Windows 时出现“磁盘读取错误”

Ubuntu 升级 + 启动修复后启动 Windows 时出现“磁盘读取错误”

我刚刚升级到 12.10。安装文件并重新启动后,我遇到了以下问题:

error file not found
grub rescue> _

通过使用 Boot Repair 工具修复引导,可以轻松解决此问题。答案对我有帮助。

但此后,Windows 无法启动。它给出以下错误:

A disk read error has occurred
Press Ctrl+Alt+Del to restart

屏幕截图显示有关磁盘读取错误的消息。

我该如何解决?

答案1

我遇到了同样的问题,我通过站在 Windows 7 加载程序驱动器上并按 E 键进行编辑解决了该问题。

我的insmod设置为ldm,并且set root设置为/ldm/(lotofhexnumbers)/volume1

所以我编辑这两行并按 Ctrl+X,这将启动但不会保存,这只是为了测试。

insmod part_msdos

set root='(hd0,msdos1)'

如果一切正常,请重新启动 Ubuntu sudo gedit /boot/grub/grub.cfg

查找menuentry您的启动配置文件的名称,编辑下面的行并保存,重新启动并选择 Windows 将正常启动。

insmod part_msdos

set root='(hd0,msdos1)'

答案2

  1. 通过 Windows 磁盘修复 Windows:https://help.ubuntu.com/community/RestoreUbuntu/XP/Vista/7Bootloader,直到您直接访问 Windows。
  2. 然后使用 Boot-Repair 恢复 GRUB 菜单

答案3

运行启动修复工具的作用不只是修复 grub。它似乎破坏了您的 Windows 启动配置。如果您运行 Windows 7 安装盘上的“启动修复”程序,这应该可以修复您的 Windows 启动,但可能会再次覆盖 grub。

要解决此问题,请尝试以下步骤:

从实时 CD 启动。

打开终端并找出哪个分区安装了 Ubuntu:

sudo fdisk -l

挂载你的分区:

sudo mount /dev/sdaX /mnt  # sdaX is the partition that has Ubuntu

绑定安装一些其他必要的东西:

for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done

chroot 进入你的 Ubuntu 安装:

sudo chroot /mnt

此时,您处于安装状态,而不是实时 CD,并以 root 身份运行。更新 grub:

update-grub
grub-install /dev/sda
update-grub

如果一切顺利,没有错误,那么一切就完成了:

exit
sudo reboot

此时,您应该能够选择在启动时要启动哪个操作系统。

答案4

在启动时进入 Grub 菜单时,突出显示 Windows 7 加载程序选项,按E编辑并替换

insmod ldm

insmod part_msdos

然后按 Ctrl+X。

如果有效,您可以按照以下步骤使其永久生效:重新启动 Ubuntu,打开终端,输入sudo gedit /boot/grub/grub.cfg并按Enter。现在按Ctrl+F并搜索 Windows,您将看到与编辑 Grub 选项时看到的类似的行。替换上述代码并保存以使其永久生效。

当 Ubuntu 13.10 安装破坏了我的 Windows 7 加载程序时,这个功能对我很有用。

相关内容