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

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

在 virtio 磁盘上的 kvm 中安装 Windows 2008 R2 时,似乎不支持驱动程序。即使安装了驱动程序,我也无法将 Windows 安装到映像中。这是因为 Windows 无法将映像视为可启动的。那么如何制作支持 virtio 并可添加到 Glance 的 Windows Server 2008 R2?

编辑 1:添加图片 以下是我遇到的问题的一些图片。这不是 0x80300001 错误,为了证明这一点,我添加了一张显示 Windows iso 已加载到 CD-ROM 中的图片。 概述

没有磁盘,因此需要安装驱动程序

选择司机

安装驱动程序

在此处输入图片描述

在此处输入图片描述

编辑2:这种现象似乎只在 Ubuntu 上出现。Dyasny 确认它在 Fedora 上也能正常工作。

答案1

我用来解决这个问题的方法是:

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

kvm-img create -f raw windows.virtio 15G

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

  • 命名您的机器
  • 使用 ISO 映像并选择您的 Windows 2008 R2 映像
  • 在下拉菜单中选择 Windows 和 Windows 2008
  • 2048 MB 内存
  • 2 个 CPU
  • 配置网络以便你可以使用互联网

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

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

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

我也发布了这个我的博客

答案2

对于到达这里的任何人,您都不需要执行建议的黑客攻击,只需将 virtio 驱动程序指定为 cdrom。

在 qemu-system-x86 中,使用这些选项。

sudo qemu-syste-x86 -m 1024 -drive file=/path/to/file/windows_2012_r2.ISO,index=2,media=cdrom \
  -drive file=win2012.raw,if=virtio,index=0, -boot d -net nic,model=virtio \
  -net user,hostfwd=tcp::3389-:3389 -nographic -vnc :0 \
  -drive file=/path/to/file/virtio-win-0.1-81.iso,index=3,media=cdrom 

答案3

Openstack 提供了有关您要在此处实现的目标的文档:http://docs.openstack.org/diablo/openstack-compute/starter/content/Creating_a_Windows_Image-d1e1594.html

诀窍是在安装过程中提供 virtio-win-xxxvfd 软盘映像,以便 Windows 从中获取驱动程序

相关内容