在安全启动出现一系列故障(尝试签署 VMWare Player 内核模块)之后,GRUB 停止显示与 Ubuntu 19.10 相对应的条目,安装为 ZFS 根目录(默认 19.10 安装程序选项),默认在系统设置中启动。
我能够通过执行以下操作来启动我的系统(根据记忆;下面的一些细节可能有误)。
在 GRUB shell 中,我输入
set root=(hd0,gptXXX)
linux /BOOT/ubuntu_YYY/@/vmlinuz root=ZFS=rpool/ROOT/ubuntu_YYY boot=zfs
initrd /BOOT/ubuntu_YYY/@/initrd.img
boot
为了找到gptXXX
要使用的分区,我运行了ls
,然后ls (hd0,gptXXX)/
直到找到启动文件。ubuntu_YYY
似乎是 Ubuntu 系统的唯一标识符。我通过 找到了ls
它(hd0,gptXXX)/BOOT
。
在ls
从 GRUB 进行操作时,我遇到了一些有关 的错误compression algorithm 115 not supported
。
我没有安装任何其他操作系统,并且暂时禁用了安全启动。
我现在想知道要采取什么步骤才能恢复 GRUB 引导加载程序的正确运行。如果我无法修复它,我可能会最终安装一个新的 20.04 LTS 副本。但至少上述内容可以帮助任何陷入同样境地的人。
编辑:我已经compression=lz4
设置rpool
(但是不是)bpool
,这可能是相关的。
答案1
由于上述命令可以启动它,因此第一个也是最直接的方法是将它们插入到您的/boot/grub/grub.cfg
(标准位置),如下所示:
Menuentry 'my Ubuntu installation' {
insmod zfs
insmod part_gpt
insmod (whatever)
... here go your commands (without "boot")...
}
最有可能的是,如果编辑grub.cfg
已经足够,您甚至可能不需要insmod
那里的内容。无论如何,查看一下已经存在的条目(由系统安装创建)不会有什么坏处。
或者您可以选择使用该命令重新安装 grub grub-install
,假设您的(hd0)
是/dev/sda
:grub-install /dev/sda
。