本帖最后由 sqmm 于 2021-2-24 12:43 编辑
我有一个E3826的工控机,装PVE发现性能不太理想。
于是我直接物理机安装了OpenWRT,然后直接运行Qemu加载Win10,效果不错。
是基于官方OpenWrt 19.07.0, r10860-a3ffeb413b的,我添加了vnc支持,使得能够运行界面。
目前官方的包是不带vnc支持的,不支持 -vnc
教程:
1.下载我的百度云盘里面的包,通过sftp传到openwrt的tmp下:
2.然后按照如下的顺序分四批安装这些包:
opkg install libffi glib2 libjpeg libpng libsasl2 pixman uclibcxx kmod-tun qemu-firmware-pxe qemu-firmware-seabios qemu-firmware-seavgabios qemu-keymaps qemu-firmware-efi qemu-x86_64-softmmu qemu-nbd qemu-img qemu-ga qemu-bridge-helper virtio-console-helper 3.最后运行qemu,我的运行方式如下,
MEM="8G"
NET_E1000="-device e1000e,mac=EE:FF:00:01:02:03,netdev=br0 -netdev bridge,br=br-lan,id=br0 ";
NET_APPLE="-device vmxnet3,mac=EE:FF:00:01:02:03,netdev=br0 -netdev bridge,br=br-lan,id=br0 ";
NET_VIO="-device virtio-net-pci,mac=EE:FF:00:01:02:03,netdev=br0 -netdev bridge,br=br-lan,id=br0 ";
EFI_APPLE="-drive if=pflash,format=raw,readonly,file=$OVMF_MAC/OVMF_CODE.fd -drive if=pflash,format=raw,file=$OVMF_MAC/OVMF_VARS-1024x768.fd ";
CPU_APPLE="+sse3,+sse4.2,+aes,+xsave,+avx,+xsaveopt,+xsavec,+xgetbv1,+avx2,+bmi2,+smep,+bmi1,+fma,+movbe,+invtsc";
Win10CMD="qemu-system-x86_64 -enable-kvm -nodefaults \
-machine q35,accel=kvm -vga virtio \
-cpu host -smp 4,cores=2,threads=2 -m $MEM \
-drive file=$your_file_path,cache=none,format=raw \
$NET_VIO \
-usb -device usb-kbd -device usb-tablet \
-vnc :0,websocket -k en-us\
-monitor stdio"
MacCMD="qemu-system-x86_64 -enable-kvm -nodefaults \
-machine q35,accel=kvm -vga std \
-cpu Penryn,kvm=on,vendor=GenuineIntel,vmware-cpuid-freq=on,$CPU_APPLE \
-smp 4,cores=2,threads=2 -m $MEM \
$EFI_APPLE -smbios type=2 \
-device isa-applesmc,osk=\"ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc\" \
\
-device ich9-intel-hda -device hda-duplex \
-device ich9-ahci,id=sata \
\
-drive id=Clover,if=none,snapshot=on,format=qcow2,file=$CloverPATH \
-device ide-hd,bus=sata.1,drive=Clover \
\
-drive id=SystemMedia,if=none,file=/dev/sdb,format=raw \
-device ide-hd,bus=sata.2,drive=SystemMedia \
\
$NET_APPLE \
-usb -device usb-kbd -device usb-tablet \
-vnc :0,websocket -k en-us\
-monitor stdio" 4. 有人问我怎么使用efi来启动, 这里提供一个pre compiled binary link:
Index of /repos (kraxel.org), 具体来说x64的包在这里: https://www.kraxel.org/repos/jen ... e5ecc4d2.noarch.rpm
其实是一个压缩包, 解压就行.
Tips:
注意在Win10中加入 virtio 的 viostor和netkvm 驱动,否则直接蓝屏。你也可以省掉if=virtio,直接启动到系统换驱动。
另外我手上有个只占用5G磁盘,能够跑迅雷的Win10,改天发出来。
refer to(https://docs.fedoraproject.org/e ... -drivers/index.html)
使用novnc链接, 请使用v1.1.0版本, path需要为空, no encrypt. 最新的1.2版本会提示websock handshake error.
链接: https://pan.baidu.com/s/1vxYffHEs588SFvs1dzXVLg
提取码: ym9u
Note:
VNC的鼠标指针有点偏移,请注意加上 -device usb-tablet 。如果是Legacy BIOS引导Windows,尽量避免使用GPT磁盘分区,得用一个MBR的虚拟盘才能引导WIN。
进阶的用户可以试试EFI引导,然后装苹果系统,苹果必须GPT磁盘的。
你在实验这些东西的时候可能需要多次装机,可以在内存里面dd一个盘出来装,试好之后实际装机。
附上我的Window和Mac 10.15.3一起跑的截图。
最后,我提醒大家别玩软路由了,即使入手软路由也别用来上网,在我家的100M宽带通上,网速和10块钱一个的山寨路由效果一样。
|