在Windows上运行虚拟机的开源解决方案:QEMU、MSYS2和Emacs
QEMU、MSYS2和Emacs:在Windows上运行虚拟机的开源解决方案
| Dave Blandford
渗透测试工程师 | 开发者 | 纯GNU/Linux手机爱好者
作为测试人员,我所有的工作都在虚拟机(VM)中进行。最近遇到一个需求:需要在Windows PC上运行虚拟机,但既不想注册Broadcom账户,也不想使用VirtualBox。于是选择了开源解决方案QEMU(快速模拟器),它能直接运行qcow2格式的虚拟机镜像。
QEMU的双重能力
QEMU既是模拟器也是虚拟化工具:
- 模拟器模式:可运行与宿主机不同架构的系统(如通过Android Virtual Device在x86主机运行ARM安卓系统)
- 虚拟化模式:利用硬件虚拟化技术创建虚拟机
Windows环境配置
通过MSYS2(提供UNIX shell环境)简化安装流程:
- 更新包数据库:
pacman -Syu
- 安装QEMU:
pacman -S mingw-w64-x86_64-qemu
- 验证安装:
qemu-system-x86_64 --version
运行Kali虚拟机
创建快照并启动虚拟机的完整命令(含参数说明):
qemu-system-x86_64 \
-machine type=q35,accel=whpx \ # 启用Windows Hypervisor平台
-cpu qemu64 \ # 基础x86_64 CPU模型
-smp 2 -m 4G \ # 分配2核CPU和4GB内存
-drive file="C:\path\to\kali-snapshot.qcow2",format=qcow2,if=virtio \ # 镜像路径
-vga virtio -display sdl \ # 使用virtio显卡和SDL显示
-device usb-tablet \ # 提升鼠标集成体验
-netdev user,id=net0 \ # 网络配置
-device virtio-net-pci,netdev=net0
格式转换技巧
将VMWare的VDMK转换为qcow2格式:
qemu-img convert -f vmdk -O qcow2 /path/to/sof.vmdk /path/SOF-ELK.qcow2
UEFI启动解决方案
处理edk2-ovmf包不可用的情况:
- 从第三方仓库下载含OVMF文件的RPM包
- 使用bsdtar提取
OVMF-pure-efi.fd
固件文件 - 在启动命令中添加
-bios "OVMF-pure-efi.fd"
参数
性能优化建议
- Hyper-V启用时会成为根虚拟化层,建议使用WHPX加速器
- 物理USB设备连接需要管理员权限的MSYS2终端
- 使用virtio-net驱动提升网络性能
- 根据宿主机硬件调整CPU/GPU/内存参数
通过这套开源工具链,最终实现了SOF-ELK等专业虚拟化环境在Windows平台的稳定运行。QEMU的高度可定制性使其成为替代商业虚拟化方案的优秀选择。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
公众号二维码