安装 Ubuntu 12.04 后,用 Ubuntu 10.10 擦除旧分区,我无法加载 grub。我也无法访问我的 Windows 7 分区
我收到消息:
> error: no such device: 58ABF29C...
grub rescue>
我猜我的主引导记录被删除或损坏了。我该如何检查并修复这个问题?
答案1
重新安装您的 GRUB。
使用 ubuntu 的 live cd 启动。
打开终端并运行命令
sudo fdisk -l
它列出了硬盘的完整分区表。在其中,确定您已在哪个分区上安装了 Linux。您可以使用为其分配的驱动器大小来识别它,并查看输出的最后一列,该列将是extended
或,Linux
代表您的所有 Linux 分区。分区很可能是/dev/sda5
或之类的东西。记住这个分区。在您的主目录中创建一个临时文件夹(注意:您可以在任何您想要的地方创建临时文件夹。我使用主文件夹只是为了解释)。我
temp
现在调用它。所以temp folder’s path will be
/home/ubuntu/temp`。将您的 Linux 分区挂载到那里。也就是说,假设您发现您的 Linux 分区是
/dev/sda5
,您可以temp
通过执行以下命令将其挂载到文件夹 中sudo mount /dev/sda5 /home/ubuntu/temp
如果您想检查是否已安装正确的分区,请转到您的主文件夹并打开 temp。您将进入目录
/
。您将在其中找到home
,其中将包含您的主文件夹的名称。一旦您确认已安装正确的分区,请执行步骤 6。您必须通过一开始就向系统显示从硬盘读取数据的位置来安装 grub。不用担心,只需运行以下命令
sudo grub-install --root-directory=/home/ubuntu/temp /dev/sda
对应
/dev/sda
于您的硬盘名称。将其替换为命令sudo fdisk -l
显示的任何内容。您已完成。您可以重新启动系统。
答案2
我在华硕 EEEPC 上将 10.10 升级到 12.04 时遇到了同样的问题。
之前,我曾/
安装在 4GB 磁盘上,/home
在 12GB 磁盘上。最新的 Ubuntu 至少需要 4.8GB/
,所以我需要交换挂载点。
我通过更改 BIOS 设置中的硬盘启动顺序解决了这个问题。
答案3
当我在 Mint 13 上将 /boot 创建为 RAID 1 镜像时,也遇到了同样的问题。
已解决,使用安装 CD 重新引导进入系统。然后重新安装驱动器并 chroot 进入已安装的系统:
apt-get install mdadm lvm2
不确定这是否真的有必要但我还是这样做了:
grub-install /dev/sda
grub-install /dev/sdb
update-grub