因此我阅读了另一篇关于如何修复 grub 救援的文章...就是这篇:删除 Ubuntu 分区后 GRUB 救援问题!
所以我所做的基本上是
set root=(hd0,msdos6) # I tried this with a bunch of other msdosses and hd0s and none of them worked
set prefix=(hd0,msdos6)/boot/grub
insmod normal #this is when I got the error
normal #when i put this in it said 'unknown command
我这样做了,但有点失败了。我得到了错误
/boot/grub/i386-pc/normal.mod
我想知道如何修复这个问题,以便我可以启动 Windows。我的 PC 上没有 Ubuntu/Linux。我没有 Windows CD 或 Live CD 或任何用于启动的东西,但我有一个空的闪存驱动器。我可以在闪存驱动器上安装一些东西来启动我的 PC?我不太确定。我在网上搜索过,但没有找到 :/。我真的想能够访问我的 Windows 操作系统。
答案1
这个问题很容易解决,但是你需要一些工具才能解决:
带有 GRUB 的 Linux 系统。Live 媒体应该可以做到;
备用 USB 驱动器(从中备份数据)。
首先,启动 Linux 系统(必须安装 GRUB!)。使用 GParted 等工具将您的 USB 驱动器格式化为 扩展2。 一定是ext2*!
使用 GParted 时,您应该获取 USB 驱动器的设备文件路径(应该是类似/dev/sdb1
)。记下来,我们会用到它。
打开终端窗口并运行:
sudo umount -l /dev/sdb1
用您记下的内容进行替换/dev/sdb1
。如果上述命令抛出错误(例如“设备未安装”),请忽略它。
sudo mount /dev/sdb1 /mnt
sudo grub-install --root-partition=/mnt /dev/sdb
/dev/sdb
用你记下的内容进行替换,但是不要将数字(可能是 1)放在路径末尾。还请注意/mnt
和之间的空格/dev/sdb
。
sudo umount /dev/sdb1
从 Linux 机箱中取出 USB 驱动器并将其插入计算机。打开它。当您看到提示时grub rescue
,运行
ls
这应该会显示所有驱动器/分区。您必须找到您的 USB 驱动器。它可能是(hd1,msdos1)
。运行ls (hd1,msdos1)/
(不要忘记/
)。如果输出是,boot/
则这是正确的分区。如果您没有得到这个输出,请重复所有“msdoses”,直到得到它。记下正确的那个。我将使用 (hd1,msdos1) 作为示例。运行:
set prefix=(hd1,msdos1)/boot/grub
然后
insmod chainload
insmod ntfs
set root=(hdX,Y)
这里,用您的 Windows 分区(您应该已经知道它的名字)替换(hdX,Y)。
chainloader +1
boot
这应该会引导您进入 Windows。我的任务到此结束;您必须修复 Windows 的引导加载程序,但这不是本论坛的事。提示:查找易BCD。
如果您由于某种原因无法修复 Windows 的引导加载程序,请插入您的 USB 驱动器并重复提示中的最后六个命令grub rescue
来启动 Windows。