Jus*_*ang 5 ubuntu kernel-panic grub2
我正在尝试安装 Ubuntu 服务器,但它总是在更新 grub 的最后阶段卡住。我取消了这个过程并重新启动了我的系统,它把我带到了 grub 命令提示符grub>。
我尝试从提示手动启动:
root=(hd1,gpt5) # Ubuntu root partition
linux /boot/vmlinuz-something- root=/dev/sda5
initrd /boot/initramfs-something-
boot
<enter>
Run Code Online (Sandbox Code Playgroud)
滚动一些启动消息后,它让我陷入
Busybox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3) built-in. shell (ash)
Run Code Online (Sandbox Code Playgroud)
随着initramfs>提示。从这里我做了一个exit
它向我展示了内核恐慌!有以下两个提示。
mount: mounting/says on /root/says failed : No such file or directory
mount: mounting /process on /root/process failed: No such file or directory
Run Code Online (Sandbox Code Playgroud)
不是解决方案,而是一些解决方法。显然,这是os-prober中的一个错误。我个人尝试了第二个,并且有效!从链接引用:
变通方法 1:(主动)
当您到达
“将 GRUB 引导加载程序安装到主引导记录?”时 提示,(在我的情况下,没有出现这样的提示,但我想出了 grub 安装的时间)切换到控制台(ctrl+alt+[f2-f6]),然后删除这个文件:Run Code Online (Sandbox Code Playgroud)rm /target/etc/grub.d/30_os-prober这将阻止 update-grub 运行 os-prober,从而避免遇到此问题。当然,不会列出其他操作系统,但至少可以防止安装过程完全卡住。我已经在带有引导(未加密)LVM 和标准加 ssh 任务(这是我最初重现您的问题的方式)的 VM 中成功测试了这一点。
解决方法2:(反应)
否则,一旦进程卡住,请在 ps 输出的第一列上找到进程标识符 (PID):
Run Code Online (Sandbox Code Playgroud)ps | grep 'dmsetup create'然后杀死这个 dmsetup 进程。有了上面的输出,那就是:
Run Code Online (Sandbox Code Playgroud)kill 19676(在具有与上述相同的设置/选择的 VM 中成功测试。)
基比