2

我想在 Google Compute Engine 实例上安装自定义内核映像。我有一个实例运行:

foo@instance-1:/boot/efi$ uname -a
Linux instance-1 4.10.0-22-generic #24-Ubuntu SMP Mon May 22 17:43:20 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

我已经构建并安装了我的内核映像:

sudo dpkg -i linux-image-4.10.0-rc8.10.0-rc8_amd64.deb

它显示在 grub 配置文件中,我已将默认 grub 菜单项设置为正确的数字,并且我已经运行

sudo update-grub

然而,当我重新启动时,我得到了与开始时相同的内核。

谷歌文档似乎不存在。有一个地方表明我可能必须在外部创建映像、安装内核并导入它。但是,我需要做很多事情,所以我宁愿以老式的方式安装新内核。

4

3 回答 3

7

事实证明,在谷歌的 Ubuntu 镜像中,有一个 grub 配置文件:

/etc/default/grub.d/50-cloudimg-settings.cfg

覆盖了里面的内容

/etc/default/grub

编辑第一个文件让一切正常。

于 2017-06-09T16:06:55.323 回答
0

在尝试这个之前,我假设你有一个后备选项?以某种方式回到您当前的状态。这很重要,因为您似乎没有对系统的物理访问权限。

请检查/boot/grub/grub.cfg显示为默认内核的内容。这将是一个以开头menuentry下面的部分,一个以 开头的条目linux。如果这指向/boot/<default-kernel>那么这就是您需要与initrd条目一起更新的内容,以便内核映像和 initramfs 都指向您的自定义内核。

此外,内核映像的引导顺序可能是按字母顺序排列的,因此较新的内核映像(按字母顺序排列)优先于较旧的内核映像。在这种情况下,如果您可以将内核映像的文件名更改为高于默认内核映像,并且相应的 initramfs 和配置文件相同(它们都将具有相似的名称),然后运行update-grub这可能是启动到您的自定义内核的更快方式. 您可以在/boot/.

于 2017-06-08T08:42:25.483 回答
0

对我有用的是进入/boot/并删除旧图像,然后运行sudo dpkg -i <new_image>并重新启动系统sudo reboot

于 2020-03-30T21:53:02.207 回答