我在对外部硬盘进行分区后安装了 Ubuntu 12.10,一切顺利。假设我可以启动 Ubuntu,我重新启动了计算机,然后进入了 Windows 7,我想进入 Ubuntu,所以我重新启动了。no such device grub rescue
启动时我收到了错误。
我尝试了启动选项,但外部硬盘不是选项,所以现在我只能使用 Ubuntu 磁盘。我尝试通过终端进行 GRUB 救援,但 Ubuntu 位于/dev/sdd5 366683648 699115007 1329725440 83 Linux
无法识别的位置
因此我尝试输入 GRUB 救援窗口sudo mount /dev/sda1 /mnt
并收到此信息:
mount: special device /dev/sda1 does not exist
尽管我输入fdisk -l
报告的时候说:
Device Boot Start End Blocks Id System
/dev/sda1 63 80324 40131 de Dell Utility
我尝试了 super grub disk 2,它找到了 Windows 7,但无法恢复,除非恢复到之前的保存。它建议我拔掉所有外部设备并重试。拔掉所有设备后,super grub disk 2 找不到操作系统。我运行了 sudo fdisk -l 并收到了与之前相同的列表。
还有另一个问题,我相信它们有关,当我在 grub 救援命令提示符中输入 ls 时,我得到的是 (hd0) (hd0,msdos3) (hd0,msdos2) (hd0,msdos1) 而不是正常的 (hd0) (hd0,Y) (hd0,W) 等。
我尝试了 ls (hd0) /boot,收到的消息是没有这样的文件系统。
更新:我尝试了 ubfan1 的建议,但似乎无法安装它
sudo mount /dev/sde5 /mnt && sudo mount --bind /dev /mnt/dev && sudo mount --bind /proc /mnt/proc && sudo mount --bind /sys /mnt/sys && sudo mount --bind /dev/pts /mnt/dev/pts && sudo cp /etc/resolv.conf /mnt/etc/resolv.conf && sudo chroot /mnt
我收到错误信息:
chroot: cannot change root directory to /mn: No such file or directory
是我的代码有错误还是其他原因?
答案1
如果您从 USB Live 媒体安装,则可能会遇到错误 384633,其中 grub 启动配置文件的初始创建使用了错误的设备而不是 UUID。如果您可以从 Live 媒体启动,则可以将 grub 重新安装到外部 USB 磁盘,这应该可以修复 grub 配置文件。您还可以编辑 grub 启动命令(屏幕上用于编辑和启动的命令)以修复错误的设备。在过去几年中,修复方法是简单地将磁盘字母或数字减少一个,并在成功启动后立即运行
sudo update-grub
在 12.10 中,错误的设备发生了变化,它甚至可能是 sda(通常是内部硬盘)。在 12.10 中,我开始看到磁盘字母发生变化,内部硬盘有时是 sdb 而不是 sda——甚至不一致。但在 update-grub 之后,将使用 UUID,磁盘字母不再重要。请随意将自己添加到错误中,也许有一天它会被修复。
答案2
您需要执行以下操作:
- 将 Ubuntu ISO 映像刻录到 USB 驱动器或 DVD 上以制作 Live USB/DVD。
- 启动进入 Live 模式(“尝试 Ubuntu”选项)。
- 启动后,按“Ctrl + Alt + T”调出终端。
- 把这些代码一个接一个地放上去。
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get 更新
sudo apt-get 安装启动修复
完成此操作后,打开“Dash”(搜索菜单)。可以通过“Alt + F2”访问
搜索“Boot Repair”(尽管只需输入 Boot 就可以获得该应用程序)。
打开它并选择唯一的选项(推荐的选项)。
重新启动。此后您将不再收到 GRUB 错误,并将直接启动 Windows。
您也可以在安装了 Ubuntu 的情况下执行此操作。如果您想卸载 ubuntu,请首先按照上述说明操作,然后在 Windows 中安装 EASUS 分区管理器并删除 Ubuntu 分区(非 ntfs 格式的分区)