加载virtio驱动的Windows10安装镜像
如今虚拟化已经非常流行,当我们使用Linux桌面环境时,可以通过安装libvirt和QEMU直接使用基于内核的虚拟化(KVM)来创建虚拟机并安装其他类型的操作系统。在基于Linux的服务器上,也可以通过oVirt或者PVE等基于KVM的虚拟化方案来实现虚拟机环境。
当我们想通过官方iso系统镜像安装比较新的Windows(例如Windows 10,Windows Server 2019等),在进入到选择安装磁盘,会发现找不到创建的虚拟磁盘,如下图所示
这是因为在官方的iso镜像中的Widnows未包含针对KVM的virtio-win驱动,因此我们可以基于Windows的iso镜像,加载virtio-win的相应驱动之后,重新创建一个包含了virtio-win驱动的iso镜像文件。
关于virtio-win的更多信息,可以参考 https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers 。
前提条件 为了创建一个加载virtio-win驱动之后的iso镜像文件,我们需要以下准备:
具有管理员权限的Windows 10工作系统并安装Windows ADK Windows 10的安装iso文件(这里以Windows 10作为例子) virtio-win驱动的iso文件 (https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.196-1/virtio-win-0.1.196.iso) UltraISO工具 准备工作 创建工作目录 假设在你的Windows 10系统上有D盘,那我们在D盘创建相应的工作目录,以管理员权限打开PowerShell,并执行
PS D:\> mkdir D:\mnt\windows_temp,D:\mnt\boot,D:\mnt\install,D:\virtio-win 提取Windows安装文件 使用UltraISO工具打开windows 10的iso文件,并将所有文件提取到目录 *D:\mnt\windows_temp* 下
然后给Windows的镜像文件授权读写
PS D:\> attrib -r C:\mnt\windows_temp\sources\*.wim /s 提取virtio驱动文件 使用UltraISO打开下载的virtio-win的iso文件,同样提取到目录 *D:\virtio-win* 下,然后查看有哪些w10(针对windowns10)的驱动
我们可以看到在 0.1.196 版本中,包含了以下w10(64位)的驱动,为了方便后面一条命令加载所有驱动,我们把这些驱动重新放到一个目录下
PS D:\> cd virtio-win\ PS D:\virtio-win\> mkdir w10 PS D:\virtio-win\> cp -r .\Balloon\w10\amd64\ .\w10\Balloon PS D:\virtio-win\> cp -r .\NetKVM\w10\amd64\ .\w10\NetKVM PS D:\virtio-win\> cp -r .