Tij*_*enh 5 updates grub2 dual-boot windows
我在我的机器上运行双引导 Ubuntu 和 Windows。昨晚 Windows 开始安装一些更新,并表示机器将在更新期间重新启动几次。
嗯,第一次重启后就出现了这个GRUB救援画面,看来我的机器找不到Ubuntu分区了。我开始认为 Windows 可能已经通过更新破坏了它。
在到目前为止我发现的所有其他威胁中,它表示执行“ls”命令以查找所有分区,并执行“set”命令以查看 GRUB 已设置的内容。
ls 返回:
(hd0) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
Run Code Online (Sandbox Code Playgroud)
好的,设置返回:
cmdpath=(hd0)
prefix=(hd0,msdos7)/boot/grub
root=hd0,msdos7
Run Code Online (Sandbox Code Playgroud)
现在我明白这是错误的。解决方案是ls每个分区,直到找到 Ubuntu 分区。我通过执行ls (hd0,msdos#)/where #is 显示的数字之一来尝试此操作ls。所有命令返回:
错误:未知文件系统。
我还尝试向boot/grub命令添加和组合,但没有任何效果。
现在,我的下一个计划是使用其他人的计算机获得 Ubuntu live USB,但我现在不能。
这里有什么问题?我的硬盘驱动器坏了吗?未完成的更新是否破坏了它?还有其他解决方案吗?
小智 12
我有一个非常相似的问题。
我双启动 Windows 10 和 Debian ( BunsenLabs ),如果相关,那么我使用 (U)EFI BIOS 系统。这是我解决问题的方法。
昨天,我自夏天以来第一次打开 Windows,它需要安装更新并重新启动,在第二次重新启动时,我收到了 GRUB 救援提示。
error: unknown filesystem
grub rescue>
Run Code Online (Sandbox Code Playgroud)
ls 给:
(hd0) (hd0,gpt6) (hd0,gpt5) (hd0,gpt4) (hd0,gpt3) (hd0,gpt2) (hd0,gpt1)
为了找到一个文件系统,GRUB 救援可以识别我ls (hd0,#)在标签是 1 到 6 之间的数字的地方运行(注意:如果您使用旧分区,可以省略“gpt”部分,也可能省略“msdos”部分桌子)。
原来gpt5是我的主分区,gpt4是我的 Debian 根分区。其他分区都没有可以识别的文件系统(通过 GRUB 救援)。
我现在遵循 Carla Schroder 的“如何在 Linux 上拯救非引导 GRUB 2”指南。在指南的最后,她提供了从 GRUB 救援启动的命令。请注意,在阅读指南时,她首先解决了从正常 GRUB 提示引导的问题——这不是救援提示,它与我们相关,所以阅读该部分,您将进入救援提示。
由于我的启动分区是gpt4,我运行了以下命令:
set prefix=(hd0,4)/boot/grub
set root=(hd0,4)
insmod normal
Run Code Online (Sandbox Code Playgroud)
最后一个让提示的字体变了一点,然后命令
normal
Run Code Online (Sandbox Code Playgroud)
它启动了我正常的 GRUB 2 图形引导菜单。指南没有说任何关于那件事,那会发生......但它工作得非常好。我选择了 Windows 引导程序,然后继续安装更新。它再次重新启动,并将我送回 GRUB 救援提示,我重复该过程,再次选择启动 Windows,这次更新安装完成。
现在手动重启(配置 Windows 更新后)。我再次收到 GRUB 救援提示并重复,但这次在图形引导菜单中我选择了我的 Linux (BunsenLabs),当我登录时,我打开一个终端并仍然遵循 Carla Schroder 的指南,我做了
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
它找到了我的 Linux 映像和 Windows 启动管理器,然后我做了:
sudo grub-install /dev/sda
Run Code Online (Sandbox Code Playgroud)
最后我再次重新启动以检查一切是否正常。我现在直接得到图形化的 GRUB 启动菜单,Linux 和 Windows 都可以选择。
我希望这会有所帮助,如果有人遇到类似的问题。
| 归档时间: |
|
| 查看次数: |
40156 次 |
| 最近记录: |