update-grub2 未找到 windows7 分区

update-grub2 未找到 windows7 分区

我有 Ubuntu10.10 x64,在安装 Windows 7 后 grub 消失了,我使用 usb 登录重新安装 grub,现在 grub 只显示 Ubuntu...然后当我尝试执行 update-grub2 时,我得到了这个:

root@Alienware:~# sudo update-grub2
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.35-22-generic
Found initrd image: /boot/initrd.img-2.6.35-22-generic
Found memtest86+ image: /boot/memtest86+.bin
ls: no se puede acceder a /var/lib/os-prober/mount/boot
Boot: No existe el fichero o el directorio
done
root@Alienware:~#

它是西班牙语,但是它说无法访问 /var/lib/os-prober/mount/boot 并且 Boot:不存在..我不知道我做错了什么,有人可以帮帮我吗?

答案1

这很可能是由于您意外将 grub 安装到 Windows 文件系统而导致的,这意味着您的 Windows 文件系统现在包含 Windows 为其引导加载程序创建的目录“/Boot/”和 grub-install 创建的目录“/boot/”(请注意,一个是大写的“B”,另一个是小写的“b”)。这会让 os-prober 感到困惑。解决方案是挂载 Windows 分区并删除 grub-install 创建的“/boot”目录(为安全起见,在完全删除它之前,您应该将其重命名为“bad_boot”之类的名称,以便您可以在需要时恢复它,而不是完全删除它)。

如果您不知道如何执行我上面所解释的操作,请运行启动信息脚本并按照此处的说明发布 RESULTS.txt:http://ubuntuforums.org/showthread.php?t=1291280我将根据您当前的设置为您提供逐步的指导。

答案2

好吧,我遇到了这样的问题,我不知道你的原因,但就我而言,这与蝙蝠分区有关......

所以,我试过了

注意:我使用的是 Windows 7,但我试过这个,效果很好

  1. 创建一个包含必要数据的新文件:

sudo /etc/grub.d/20_windows_xp

  1. 粘贴

注意:抱歉,我想在这里粘贴代码,但一些重要的字符无法正常显示

  1. 最后给它一些执行权限并更新grub

    sudo chmod +x /etc/grub.d/20_windows_xp

    sudo 更新 grub

我再说一遍,我的一台电脑上装有带 Lucid Lynx 的 Windows 7,我一步一步完成了这项工作,效果很好。如果您愿意,您可以在文件内容中更改操作系统名称。

希望它能帮到你。问候!

答案3

不确定这是否是一个不相关的问题,但似乎最近 NTFS 包发生了一些事情,这似乎阻止os-prober找到某些 Windows 分区。

尝试卸载名称包含 的软件包ntfs并再次运行sudo os-prober。如果成功,请运行update-grub2(因为它使用 os-prober)。此后,您应该能够重新安装 NTFS 软件包,尽管下次需要升级 Grub 时(例如下次有内核更新时),您可能需要再次执行此操作。

编辑:看起来 libfuse 和 ntfs-3g 存在更广泛的问题。(当不使用 fuse/ntfs-3g 时,挂载 NTFS 卷将回退到使用内核驱动程序,据我记得它是只读的,但足以确定安装的操作系统类型。)更多详细信息请参见此处:

答案4

您是否使用 liveCD 来更新 grub2。如果没有,请尝试通过 liveCD 重新安装 grub2,如果是,则尝试使用 windows CD/DVD 再次安装 windows 引导加载程序,之后您将无法运行 ubuntu查看此页面

我希望有帮助

相关内容