Hyper-V 下的 Windows Server 2012 和 Ubuntu 12.04.1

Hyper-V 下的 Windows Server 2012 和 Ubuntu 12.04.1

我已经在 Hyper-V 2012 下设置了 Ubuntu 12.04.1 LTS 实例。但是它是否完成启动过程似乎不确定。

我收到内核恐慌,“IO-APIC + 计时器不工作!”,根据我的研究,这是由于未正确安装集成服务导致的?

据我了解,集成服务现在都已嵌入内核?那么更新操作系统(包括任何内核更新,因为我猜这就是发生的事情)应该没问题

能够依靠这个成功启动就太好了,因为我打算在危机情况下使用 ssh。

答案1

让 Ubuntu 12.04 在 2012 平台上的 Hyper-V 下顺利运行的最简单方法是下载 Windows Azure 云映像 - 不幸的是,当我今天(2013 年 7 月 10 日)检查时,该映像在Ubuntu 云镜像图像商店。我已经就他们的答案网站您可以跟踪查看他们是否恢复了云图像。

话虽如此,让我们讨论一下您遇到问题的原因:12.04.2 的内核较旧,没有最新的 Hyper-V 集成(内核模块),这些模块已嵌入 12.10 中,并且也嵌入在 13.04 中。解决方法是获取较新的内核。正如我之前所说,获取正确映像的最简单方法是获取为 Windows Azure 构建的映像 - Azure 公有云和您的私有 Hyper-V 服务器都运行本质上相同的虚拟机管理程序,因此任何适用于 Azure 的说明也适用于您。

要在 Azure 平台上运行,即 2012 Hyper-V 虚拟机管理程序,Microsoft 建议在其列表中认可的 Linux 发行版您需要按照多个步骤更新 12.04.x 发行版才能使用反向移植的内核和内核模块。您无需安装 walinuxagent 或重新配置 GRUB,这仅适用于 Windows Azure。 这完整说明在此处重现,但删除了 walinuxagent 和 GRUB 指令:

  1. sudo sed -i "s,archive.ubuntu.com,azure.archive.ubuntu.com,g" /etc/apt/sources.list

    此步骤将更新镜像以指向 Azure 托管镜像。

  2. sudo apt-add-repository ‘http://archive.canonical.com/ubuntu precise-backports main’

    此步骤添加获取内核和代理更改所需的存储库。

  3. sudo apt-get update
  4. sudo apt-get install linux-backports-modules-hv-precise-virtual

    此步骤添加更新内核和相关模块。

  5. sudo apt-get install hv-kvp-daemon-init

    此步骤添加更新的代理。

    笔记: 我已经从此命令中删除了 walinuxagent。私有云不需要它,但 Windows Azure 需要它。不过,此更新确实安装了键值对交换,可用于时间同步和其他用途,但我并不完全确定。

  6. 此步骤已被删除,因为它涉及修改 GRUB 以便在 Windows Azure 上更高效地运行。
  7. (受到推崇的)sudo apt-get dist-upgrade
  8. sudo reboot

最后说明:这些说明会将新的存储库添加到您的 Ubuntu 机器,您应该了解其效果。确保第一个命令正确运行(过去一周我还没有亲自测试过)以替换archive.ubuntu.comazure.archive.ubuntu.com我自己已经执行了这些步骤,但我不能说它们将来会起作用。请注意,第一步的目标是让您的 Ubuntu 发行版使用一组新的默认存储库,这些存储库旨在反向移植对 Windows Azure 和 2012 Hyper-V 虚拟机管理程序的支持。

答案2

我刚刚在 Hyper-V 2012 下成功安装了 Ubuntu Server 12.04.1,没有任何问题。所以,Ubuntu 确实可以正常工作(在某些设置下)。

我使用了 64 位版本并安装了“最小虚拟机”(在 CD 启动屏幕的“模式”下)。

如果这不起作用,我猜是你的 CPU 出了问题。

相关内容