以前一直采用的 vftool,但是虚拟机稳定性堪忧,经常性遇到内核 panic 以及文件系统损坏的情况,想着 qemu 可能稳定些,研究了一下 qemu 的方法。

必要文件准备

  1. 首先安装本体
brew install qemu
  1. 这个地方 下载 OVMF 镜像,然后转换到合适大小(规定 64M)。
qemu-img convert -f raw -O qcow2 ovmf.bin pflash0.qcow2
qemu-img convert -f raw -O qcow2 vars.bin pflash1.qcow2
qemu-img resize pflash1.qcow2 64M
qemu-img resize pflash1.qcow2 64M
  1. 准备好你的 iso 镜像(支持 UEFI 即可)。
  2. 准备磁盘
qemu-img create -f qcow2 disk.qcow2 10G
  1. 开始安装
sudo qemu-system-aarch64 -M virt \
  -cpu host --accel hvf \
  -smp 4 \
  -m 2048 \
  -rtc base=localtime,clock=rt \
  -drive file=pflash0.qcow2,format=qcow2,if=pflash \
  -drive file=pflash1.qcow2,format=qcow2,if=pflash \
  -device ramfb \
  -device qemu-xhci \
  -device usb-kbd \
  -device usb-tablet \
  -nic vmnet-shared \
  -drive file=disk.qcow2,format=qcow2,if=virtio \
  -cdrom nixos.iso # 你的镜像
  1. 启动脚本

给 linux 开启 ssh 登录之后即可一键后台启动

sudo nohup qemu-system-aarch64 -M virt \
  -cpu host --accel hvf \
  -smp 4 \
  -m 2048 \
  -rtc base=localtime,clock=rt \
  -drive file=pflash0.qcow2,format=qcow2,if=pflash \
  -drive file=pflash1.qcow2,format=qcow2,if=pflash \
  -device ramfb \
  -device qemu-xhci \
  -device usb-kbd \
  -device usb-tablet \
  -nic vmnet-shared \
  -drive file=disk.qcow2,format=qcow2,if=virtio \
  -nographic > log 2>&1 &
Last modification:October 6, 2023
如果觉得我的文章对你有用,请随意赞赏