我正在尝试创建一个Windows 7 (32bits)
带有virtio
磁盘和网络的一小步使用 virt-manager。
我一直在尝试按照步骤进行这里。
然而,下面这样的事情是不存在的Debian
:
# yum install virtio-win
在互联网上快速搜索后,该包似乎仅适用于右心室收缩订阅者,按照关联。
您可以在 RHN 中找到 virtio-win 包: https://rhn.redhat.com/rhn/software/packages/details/Overview.do?pid=602010。它需要访问以下频道之一:RHEL 客户端补充 (v. 6) RHEL 服务器补充 (v. 6) RHEL 工作站补充 (v. 6)
所以我剩下的那里是免费的。显然我不能简单地下载 *.iso 文件并将其安装为“软盘”。我实际上尝试过,Windows 告诉我需要格式化我的驱动器!
我也尝试添加辅助 CD-ROM 并安装virtio-win-0.1-81.iso
,但 Windows 安装程序甚至拒绝启动。当系统有多个 CD-ROM 驱动器时,似乎 kvm/qemu 会感到困惑。
所以最后,我只剩下一个两步我需要挂载 Windows iso,将其安装在常规磁盘上,然后关机并按照说明执行 virtio 操作这里, 或者这里。
对于非 RHN 用户来说,有没有更简单的流程(单步)?我使用的是 Debian/Jessie amd64 系统(Linux 有挂载/卸载)。
加分项:无需使用中间的Windows系统来准备ISO文件。
答案1
准备一个模板虚拟机,使用类似工具进行修改snf-图像创建器安装 virtio 驱动程序和 sysprep,并克隆它:
sudo snf-mkimage -f --print-metadata --disable-sysprep=shrink --print-syspreps --install-virtio=/mnt/loop/win8/amd64 -o win2012-out.img win2012-template.img
如果您想从头开始创建每个映像,则可以将驱动程序整合到 Windows ISO 中,以便在安装期间可以使用它们。
以下是适用于 Windows 2012 的相当冗长的操作指南(摘自http://joshrestivo.com/?p=17,删除了作者的一些激烈评论),它应该可以轻松适应 Windows 7。
准备
你需要:
- 一个 Windows 框来执行此操作
- Windows 2012 服务器安装 ISO
- RedHat 为 Windows 提供的最新签名 virtio 驱动程序。截至撰写本文时,这些驱动程序包含在 virtio-win-0.1-59.iso 中
- ImgBurn 或任何其他能够处理 ISO 映像的工具。
细节
为了便于解释,我创建了以下内容:
c:\iso
c:\iso\ms-iso
c:\iso\ms-mount
c:\iso\virtio-iso
继续将 Windows 和 virtio iso 映像放在 c:\iso 中。
使用 ImgBurn 或您选择的工具,将 Windows 安装 iso 的内容提取到 c:\iso\ms-iso。
将 virtio iso 的内容提取到 c:\iso\virtio-iso。或者,您可以直接挂载 iso,并在到达步骤 #5 时引用适当的路径。
接下来,我们将使用 dism 来挂载 wim 映像。从提升的命令提示符运行此命令:
dism /mount-image /imagefile:c:\iso\ms-iso\sources\install.wim /index:1 /mountdir:c:\iso\ms-mount
是时候插入驱动程序了。
dism /image:c:\iso\ms-mount /add-driver /driver:c:\iso\virtio-iso\WIN8\AMD64 /recurse
如果一切顺利,5 个驱动程序中的 5 个将成功“安装”。现在我们来确认一下:
dism /unmount-wim /mountdir:c:\iso\ms-mount /commit
现在我们必须执行相同的过程,但这次我们要更新 boot.wim,以便我们可以在安装过程中看到虚拟驱动器。
dism /mount-image /imagefile:c:\iso\ms-iso\sources\boot.wim /index:1 /mountdir:c:\iso\ms-mount dism /image:c:\iso\ms-mount /add-driver /driver:c:\iso\virtio-iso\WIN8\AMD64 /recurse dism /unmount-wim /mountdir:c:\iso\ms-mount /commit
现在剩下的就是将 iso 重新粘合在一起。在 ImgBurn 中,此操作通过以下方式完成:
A. 模式 -> 构建
B. 在“源”部分,单击“浏览文件夹”图标。选择 c:\iso\ms-iso。
C. 在“目标”部分,单击“浏览文件”图标。为您的 iso 命名并将其放在您想要的位置。
D. 在右侧的选项选项卡下,将“文件系统”设置为“UDF”,并确保选中“递归子目录”。
E. 在标签选项卡下,在 UDF 字段中设置适当的标签(例如“win2012-virtio”)。
F. 在高级 -> 可启动磁盘选项卡下:
I. 勾选“使映像可启动”复选框
II. 仿真类型:无(自定义)
III. 启动映像:c:\iso\ms-iso\boot\etfsboot.com
四、平台ID:80×86
V. 开发者 ID:Microsoft Corporation
VI. 负载段:07C0
VII. 加载扇区数:8(Vista 及更早版本为 4)
VIII. 补丁信息表:未选中
G.最后,点击左下角的“构建图像”按钮。
答案2
我也遇到了同样的问题。当我为虚拟机选择较少的磁盘空间和较少的 RAM 时,问题解决了