如何在 Rackspace Cloud 上升级我的内核?

Eva*_* P. 5 upgrade cloud kernel

我在Rackspace Cloud上运行服务器——第一代,而不是下一代开放堆栈。我相信它正在为管理程序运行 Xen。

我使用来自 Rackspace 的库存图片。我主要使用 10.04 服务器,但我也一直在使用 12.04 推出新服务器。

我的问题是我想让内核保持最新。我可以对新内核进行 apt-get dist-upgrade,并且安装工作正常。但是,当我重新启动时,服务器不会恢复。

我的猜测是围绕 grub 配置有一些自定义的hackery 使股票内核工作,但升级的内核失败。

有没有人在 Rackspace Cloud 上遇到过类似的问题?使 grub 引导新内核所需的最小修改是什么?

小智 3

您需要编辑/etc/default/grub并更改它以从根设备中排除 UUID。IE。

Ctrl按+ Alt+打开终端T并输入:

gksu gedit /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

找到以下行并取消注释。#这就是从行的开头删除,# GRUB_DISABLE_LINUX_UUID=true如下所示:

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
GRUB_DISABLE_LINUX_UUID=true
Run Code Online (Sandbox Code Playgroud)

保存并退出 gedit。

然后,您需要运行update-grub以下命令来影响这些更改:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

机架空间上使用的根设备,例如 /dev/xvda1,它不是 UUID,但 grub 将其视为一个。因此,在下次引导时,grub 会搜索具有该 UUID 的设备,但找不到它,从而挂起引导进程。