Openstack:使用 virtio 支持制作 Windows 2008 R2 映像

Luc*_*man 2 windows-server-2008 drivers openstack kvm-virtualization

在 virtio 磁盘上的 kvm 中安装 windows 2008 R2 时,似乎不支持驱动程序。即使在安装驱动程序后,我也无法将 Windows 安装到图像中。这是因为 Windows 没有将映像视为可启动的。那么如何制作一个支持virtio并且可以加入Glance的windows server 2008 R2呢?

编辑 1:添加图像 所以这里是我的问题的一些图像。这不是 0x80300001 错误,作为证据,我添加了一个图像,显示 Windows ISO 已加载到 CD-ROM 中。 概述

没有磁盘,所以是时候安装驱动程序了

选择司机

安装驱动

在此处输入图片说明

在此处输入图片说明

编辑 2:该行为似乎只在 Ubuntu 上出现。Dyasny 确认它可以在 Fedora 上运行。

Luc*_*man 7

我用来规避这个问题的解决方案是:

首先,我们需要创建一个映像来安装虚拟机。Microsoft 说 10 GB 是最低要求,但我使用了 15 GB。请记住,这不是虚拟机的最终大小,一旦它被引入 Nova Compute。创建一个名为 windows.virtio 的原始图像:

kvm-img create -f raw windows.virtio 15G
Run Code Online (Sandbox Code Playgroud)

现在打开 virt-manager 并创建一个新的虚拟机:

  • 为您的机器命名
  • 使用 ISO 映像并选择您的 Windows 2008 R2 映像
  • 在下拉菜单中选择 windows 和 windows 2008
  • 2048 MB 内存
  • 2个cpu
  • 配置网络,让您拥有互联网

现在启动机器并安装映像,此时磁盘已设置为 IDE,但这并不是真正的问题。

  • 安装后让它重启,重启后再次关闭
  • 创建临时映像
  • kvm-img create -f rawdirtyhack.virtio 1G
  • 使用 virt-manager 添加硬件:
    • 磁盘驱动程序
      • 贮存
      • 文件磁盘映像(选择dirtyhack.virtio)
      • 将设备类型设置为 Virtio
      • 使用您从 CDrom 站中的 Fedora 项目获得的驱动程序挂载 ISO
    • 网卡
      • 向某个接口添加一个新网卡(它连接到什么并不重要)
      • 选择卡时,将hypervisor默认改为virtio
    • 再次启动服务器
    • 在windows中打开设备管理器
      • 按开始
      • 输入设备管理器
      • 在设备管理器中选择 iSCSI 驱动程序
      • 安装驱动程序并浏览到 CDrom 并进入 wlh>amd64
      • 单击确定,将安装驱动程序
      • 对网卡做同样的事情,我不得不使用 Windows 7 文件夹中的驱动程序,因为 Windows 无法检测到 Wnet 文件夹中的驱动程序
    • 关闭机器
    • 在 virt-manager 中从机器上移除所有硬盘驱动器
    • 添加硬件、存储并添加您原来的 windows.virtio,但请确保将 Device Type 设置为 virtio
  • 启动机器

恭喜,您的机器现在拥有 Virtio 驱动程序。

我也在我的博客上发布了这个