本文总结几点Tee个人在使用QEMU下win10 guest的小贴士,也作避坑参考。
图形工具
我使用virt manager和gnome boxes来运行维护。
安装前使用virt manager定义cpu、内存、磁盘格式、光驱等参数。再用gnome boxes运行。
既然virt manager能直接运行,为什么我要用gnome boxes?因为我用gnome,自带boxes,且boxes无菜单栏看起来guest系统画面较大,切除host系统的快捷键也跟virt manager一致。
但文章当前版本的gnome boxes在我使用上有一定问题,如关掉guest系统后,需要关闭boxes再打开才能开启guest系统。这有一点点麻烦。
按自己需求和喜好来选择。
硬盘文件格式
我使用过raw和qcow2两种格式,均跑在ssd上。这两个格式性能在我的普通使用中无差异(使用Windows专属应用,无跑满)。
差异
raw占用空间固定,即新建时定义多大就实际占用多大;qcow2占用随着guest系统内实际使用而增大,类似vdi在VirtualBox。raw不能制作快照,qcow2可以。
以上是我的使用中的差异,我目前使用qcow2。有具体需求需按需求具体分析。
安装前
需要准备的iso:
- Windows10 iso文件
- virto Windows驱动iso文件
安装前我会手动用qemu系列工具,在命令行create一个磁盘文件。再用virt manager定义guest系统硬件参数,注意磁盘载入刚刚新建的磁盘文件,格式选择virtio。光驱建立2个,分别加载win10 iso与virtio iso。
运行win10安装镜像时,你会发现你的磁盘并不存在,因为win10镜像没有virtio驱动,上述磁盘选择了virtio格式。在win10安装界面打开驱动镜像 -> 打开磁盘驱动目录中对应版本的win10驱动。你将会看到你的磁盘,接下来就是正常安装。
安装后tips
没有网络
打开virtio驱动iso,安装NETKVM驱动。
其他驱动
打开你的设备管理器,在感叹号的设备中手动更新驱动。驱动也是选择刚刚的virtio iso文件。
guest画面自适应大小 与 共享剪贴板
安装Windows版本的spice二进制文件,重启guest即可。
特色网络障碍
host上定义好http代以及端口,在guest中运行ipconfig,在直接使用ip和端口做win10代。
注意有些软件并不支持win10自带的网络代设定,edge等浏览器没问题,我们可以加速下载上述文件。
文件共享
有三种方式。一是使用外置硬盘设备,二是在guest中安装spice-webdav(不能大文件),三是在host建立smb服务并启动。
我的需求下很少小文件,都是稍大的文件,且spice-webdav用下来并不稳定。我选择了smb。
注意smb在host中的配置文件定义的方括号内容,就是网络映射的目录。如[share],win10中映射的地址就是\\10.0.2.2\share
,host的ip也是在ipconfig中查看。
管理员权限启动的程序看不见smb
我的需求是:用管理员权限启动win10专属应用,来读取Linux生成的文件。
管理员权限启动的程序默认在win10(2004版)中看不见smb的目录。在网上搜寻后用此方法解决:
在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
新建字段AllowInsecureGuestAuth
值为1
。
出处:https://superuser.com/questions/946999/windows-10-smb-shares
注意可能在以后的Windows版本会有不一样的解决方案与问题,在网上搜寻即可这类问题与方案非常多。
总结
- 按需自建raw或qcow2磁盘文件
- 使用virt manager定义硬件参数,选择virtio格式
- 准备win10 iso 和 virtio驱动iso
- 在win10安装界面手动选择virtio驱动让磁盘能被识别
- 安装完成后检查网络和其他设备,并用virtio补完驱动
- 安装spice让画面自适应 与 共享剪贴板
- 使用host smb来共享文件目录
本作品采用知识共享署名 4.0 国际许可协议进行许可。