我在Rackspace 云—— 第一代,不是下一代 Open Stack。我相信它正在运行 Xen 作为虚拟机管理程序。
我使用 Rackspace 的库存图像。我主要使用 10.04 服务器,但我也推出了使用 12.04 的新服务器。
我的问题是我想让内核保持最新。我可以使用 apt-get dist-upgrade 来获取新内核,安装工作正常。但是,当我重新启动时,服务器没有重新启动。
我的猜测是,grub 配置中存在一些自定义黑客技术,使得原始内核可以工作,但升级的内核会失败。
有人在 Rackspace Cloud 上遇到过类似的问题吗?我需要做哪些最小的修改才能让 grub 启动新内核?
答案1
您需要编辑/etc/default/grub
和修改它以从根设备中排除 UUID。即。
Ctrl按+ Alt+打开终端T并输入:
gksu gedit /etc/default/grub
找到并取消注释以下行。即#
从行首删除# 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
保存并退出 gedit。
然后您需要运行update-grub
以下命令来影响这些更改:
sudo update-grub
rackspace 上使用的根设备类似于 /dev/xvda1,它不是 UUID,但 grub 会将其视为 UUID。因此,在下次启动时,grub 会搜索具有该 UUID 的设备,但找不到它,从而挂起启动过程。