在windows 10上使用qemu安装Windows 10虚拟机
純記錄安裝步驟,供研究使用,日常工作建議使用VmWare VirtualBox HyperV等
qemu版本
λ qemu-system-x86_64 -version QEMU emulator version 6.2.0 (v6.2.0-11889-g5b72bf03f5-dirty) Copyright (c) 2003-2021 Fabrice Bellard and the QEMU Project developers1 下載windows 10安裝 ISO文件 Win10_1909_English_x64.iso
2 下載Qemu中設備的virtio驅(qū)動,可以用于加速設備的模擬,提升虛擬機運行速度
到下面的網(wǎng)址找一個最新版本下載,我用的是virtio-win-0.1.215.iso
3 創(chuàng)建磁盤
qemu-img create -f qcow2 hdd.img 40G4 啟動虛擬機進行安裝
這里使用了 whpx 加速,適合安裝并啟用了hyper-v的機器,也可以使用intel的haxm來加速,下載地址 https://github.com/intel/haxm,haxm與hyper-v不兼容,啟用了hyper-v就不能使用haxm了,根據(jù)機器選一個
qemu-system-x86_64.exe -accel whpx -machine q35 -smp sockets=1,cores=1,threads=2 -m 2048 -usb -device usb-kbd -device usb-tablet -rtc base=localtime -net nic,model=virtio -drive file=1909.img,media=disk,if=virtio -drive file=Win10_1909_English_x64.iso,media=cdrom -drive file=virtio-win-0.1.215.iso,media=cdromqemu中無法直接得知whpx是否正常啟用,不過如果看到qemu輸出包含這一行,一般whpx就正常啟用了,還可以是應用process explorer等工具查看 WinHvPlatform.dll是否正常加載
Windows Hypervisor Platform accelerator is operational當然,就算正常加載了,后面還可以報錯,甚至影響功能,比如后面的savevm命令就不能使用
有時候可能會看到這一行(whpx貌似已經(jīng)正常進行加速了,目前不知這個報錯會影響哪些)
這時候可以加一個參數(shù)kernel-irqchip=off來去除這個報錯(當然也不能解決savevm無法使用的問題)
qemu-system-x86_64 -accel whpx,kernel-irqchip=off -machine ....5 然后就是正常的windows安裝步驟,值得注意的是下面一步,如果到了分區(qū)那一步找不到磁盤,需要點擊下面的 Load Driver,找到下載的iso里的 viostor 目錄里 w10\amd64 子目錄里查找并安裝驅(qū)動,然后就可以了正常分區(qū)
6 安裝完windows之后,需要安裝網(wǎng)卡驅(qū)動才能上網(wǎng),打開設備管理器,點擊update driver,選擇驅(qū)動盤,會自動找到驅(qū)動并安裝
7 繼續(xù)安裝驅(qū)動盤里的驅(qū)動,一個是 qemu-ga-x86_64.msi,一個是qemu guest agent,virtio-win-guest-tools.exe
8 安裝spice webdavd,以便進行文件傳輸,暫時省略
可以參考
https://www.guyrutenberg.com/2018/10/25/sharing-a-folder-a-windows-guest-under-virt-manager/
https://askubuntu.com/questions/899916/how-to-share-folder-with-windows-10-guest-using-virt-manager-kvm
9 建立內(nèi)存快照,以便將一些更改操作放在快照里,后面可以方便切換或者迅速恢復設置
9.1 關閉虛擬機
9.2 建立快照磁盤
9.3 啟動虛擬機
qemu-system-x86_64 -accel whpx -machine q35 -smp sockets=1,cores=1,threads=2 -m 2048 -usb -device usb-kbd -device usb-tablet -rtc base=localtime -net nic,model=virtio -drive file=snapshot.img,media=disk,if=virtio -monitor stdio9.4 進行一些設置或者操作
9.5 在monitor窗口或者stdio中保存快照 ,然后退出
注意/待解決:可能由于whpx的bug,導致無法保存快照,如果是kvm hax tcg可能不存在這個問題
10 從快照中啟動虛擬機
qemu-system-x86_64 -accel whpx -machine q35 -smp sockets=1,cores=1,threads=2 -m 2048 -usb -device usb-kbd -device usb-tablet -rtc base=localtime -net nic,model=virtio file=snapshot.img,media=disk,if=virtio -loadvm windows11 可以將上面的操作結果放到docker里
$ mv hdd.img snapshot.img image $ cd image $ docker build -t windows/test .refer
1 https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers
2 https://github.com/aerokube/windows-images
3 https://www.qemu.org/docs/master/system/invocation.html?highlight=kernel-irqchip
4 https://www.digitalfoundations.com.au/blog/qemu-5-on-windows-host-with-whpx/
5 https://qemu-project.gitlab.io/qemu/system/monitor.html
6 https://github.com/qemu/qemu/blob/master/docs/system/images.rst
福利
xemu是一款基于qemu的xbox模擬器,可以玩xbox優(yōu)秀,https://xemu.app
總結
以上是生活随笔為你收集整理的在windows 10上使用qemu安装Windows 10虚拟机的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: NLP-准确率、精确率、召回率和F1值
- 下一篇: 剑指offer刷题总记——Java