当我得到“尝试读取或写入磁盘外的’hd0’”错误并且启动修复无法解决问题时该怎么办?

我试图在较旧的计算机上安装Xubuntu 13.10 。 我注意到安装过程中可能与我的问题有关的一些困难。 值得注意的是:

  1. 屏幕分辨率非常低。 窗户比屏幕大得多,我不得不移动它们到达“下一步”按钮。

  2. 鼠标光标是一直闪烁的颜色模糊。

安装完成,我试图重新启动计算机。 我马上就得到了:

error: attempt to read or write outside of disk 'hd0'. Entering rescue mode... grub rescue> 

我制作了一个Boot Repair USB磁盘,启动它并选择默认修复。 该应用程序告诉我,问题已修复,如果这不能解决我的问题,我应该向可以帮助我的人显示此链接 。

接下来我该怎么办? 我已经尝试安装Ubuntu和Xubuntu,两者都没有成功。

编辑:

我找到了解决方法。

  1. 插入Xubuntu live USB
  2. 选择“试试Xubuntu”
  3. 在设置菜单中选择“安装Xubuntu”

这解决了我的问题。 既然它解决了,我无法测试答案。

借助以下技术找到linux所在的分区

 grub rescue > ls (hd0) (hd0, msdos9) grub rescue > ls (hd0,msdos9)/ grub rescue > ls (hd0,msdos8)/ grub rescue > ls (hd0,msdos5)/ # suppose this is root and bootloader of linux grub rescue > ls (hd0,msdos5)/ grub rescue > set root=(hd0,msdos5) grub rescue > set prefix=(hd0,msdos5)/boot/grub grub rescue > insmod normal grub rescue > normal 

现在,系统的启动菜单出现。 启动进入linux。

 sudo update-grub sudo grub-install /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb 

这修复了引导加载程序。

对于有这个问题的其他人:

这种情况发生在我身上,新的安装或grub修复工作并重新启动,但下次重新启动时,它会得到同样的“尝试读取错误”。 大多数情况下,我会得到内核恐慌,计算机需要重启。

我遵循了一些建议并使用这些分区设置使用高级选项(不要使用“擦除磁盘并安装ubuntu”)进行新安装:

  1. 在磁盘的开头创建1 GB(1024 MB)ext4分区; 安装在“/ boot”中
  2. 在安装在“/”中的ext4中创建所需的安装空间减去交换区域
  3. 使用剩余空间进行交换。 (所有分区都是主要的)
  4. 在boot install下拉菜单中,选择“/ boot”分区。 不是默认的驱动器根!

我通过将我的Linux分区移到接近硬盘的开头来解决了这个问题。 当linux分区位于我的120 Gb HDD(最终40 Gb)的末尾时,我遇到了这个问题。 没有一个解决方案不起作用。 移动linux分区后,从40Gb到80Gb的空间问题消失了。

经过几个小时的搜索,我尝试了这个解决方案并且运行良好,重新安装内核:

 sudo dpkg --configure -a sudo apt-get install --reinstall linux-image-$(uname -r) 

当我在virt-manager / QEMU / KVM中使用来自OVA虚拟机软件包的vmdk磁盘时,我正在实现此问题。 虚拟机失败并显示此错误消息。

解决方案是将vmdk转换为qcow2:

 qemu-img convert -O qcow2 MyAppliance-disk1.vmdk MyAppliance.qcow2 

并在virt-manager中使用转换后的图像。