调整 Windows XP (NTFS) 分区大小后,Grub 无法启动。该怎么办?

调整 Windows XP (NTFS) 分区大小后,Grub 无法启动。该怎么办?

可能重复:
如何在双启动时修复 Grub(win7 / ubuntu 11.10)

我已经在装有 Windows XP 的 PC 上安装了 Lubuntu,并使用了双启动一段时间,没有任何问题。

由于我几乎放弃了 Windows(保留它用于打印......)我决定调整其 ntfs 分区的大小并将可用空间添加到我的 Ubuntu 空间。

尝试使用一根gparted记忆棒和一张实时 CD,但由于与 ntfs 分区相关的问题而无法工作:gparted用红色感叹号表示该分区有问题。我读到 checkdisk 可能会解决这个问题,但最终还是在 Windows 中使用 EaseUS 缩小(调整大小)ntfs 分区并ext3从剩余空间创建一个新分区()。

该过程似乎一切正常:但调整分区大小和移动数据可能会影响文件grub:或无论以下消息意味着什么,我在尝试启动我的电脑时收到该消息:

error: file not found
grub rescue>

从实时 CD 启动时,我看到,在缩小的 Windows 分区和旧的 Linux 分区旁边,新创建的分区包含一个名为 的目录,lost+found我无法打开。

我可以修复 grub 文件并恢复我的 XP 和 Lubuntu 安装吗?

答案1

简短的回答是可以的。使用 LiveCD 即可。这里是关于如何修复丢失的 grub 的一个描述。

另一种方法是这样的:

  1. 启动 LiveCD(“试用 Ubuntu”)。打开终端并输入

    sudo -i
    

    现在您是 root 了。

  2. 挂载已安装在硬盘上的系统。我们假设您的计算机硬盘是 /dev/sda,并且您的 Ubuntu 安装在分区 /dev/sda3 上(也就是说,/dev/sda3 通常会挂载到 /)。您可以通过输入 来找到它fdisk -l

    mkdir -p /mnt
    mount /dev/sda3 /mnt
    mount -t proc none /proc /mnt/proc
    mount -o bind /dev /mnt/dev
    
  3. 现在您将chroot进入安装在硬盘上的系统并运行update-grub以恢复您的 grub 设置。

    chroot /mnt /bin/bash
    update-grub
    

相关内容