如何将 ZFS 磁盘传递给在 Windows 11 上运行的 qemu,并以 FreeBSD 14 作为客户操作系统

如何将 ZFS 磁盘传递给在 Windows 11 上运行的 qemu,并以 FreeBSD 14 作为客户操作系统

我使用 Hyper-V 虚拟机管理程序在 Windows 11 上通过 qemu-kvm for Windows 虚拟化了 img 文件(通过 dd 真实的 FreeBSD 14.0 安装创建)。我使用的参数如下:

I:\OS\qemu\FreeBSD\qemu\qemu-system-x86_64w.exe -accel whpx -machine q35 \
-cpu kvm64,hv_relaxed,hv_time,hv_synic -m 8G \
-device vmware-svga,id=video0,vgamem_mb=16,bus=pcie.0,addr=0x1 \
-audiodev dsound,id=snd0 -device ich9-intel-hda \ 
-device hda-duplex,audiodev=snd0 \ 
-hda "I:\OS\qemu\FreeBSD\FreeBSD-ada1p2-qemu.img" -rtc base=localtime \
-device nec-usb-xhci,id=usb -device usb-tablet -device usb-kbd \
-smbios type=2 -nodefaults -netdev user,id=net0 \
-device virtio-net-pci,netdev=net0,id=net0,mac=52:54:00:11:22:33 \ 
-device ich9-ahci,id=sata \ 
-bios "I:\OS\qemu\FreeBSD\OSX-KVM-master\OVMF_combined.fd"

运行良好。现在,我想要做的是将磁盘 8 传递给 qemu,这样我就可以在 FreeBSD 系统中使用它。磁盘 8 有 ZFS 文件系统。Windows 版 Qemu 不使用 /dev,磁盘 8 甚至没有在 Windows 中映射为驱动器,那么我该怎么办?

PS:我倾向于不使用 virt-manager。

答案1

Windows 原始磁盘设备路径是 \.\PhysicalDrive[x],其中 x 是从 0 开始的磁盘设备号。您可以使用磁盘管理 MMC 管理单元或使用 diskpartlist disk命令检查磁盘设备号。

对于您来说,您应该使用以下命令行:

I:\OS\qemu\FreeBSD\qemu\qemu-system-x86_64w.exe -accel whpx -machine q35 \
-cpu kvm64,hv_relaxed,hv_time,hv_synic -m 8G \
-device vmware-svga,id=video0,vgamem_mb=16,bus=pcie.0,addr=0x1 \
-audiodev dsound,id=snd0 -device ich9-intel-hda \ 
-device hda-duplex,audiodev=snd0 \ 
-hda "I:\OS\qemu\FreeBSD\FreeBSD-ada1p2-qemu.img" -rtc base=localtime \
-device nec-usb-xhci,id=usb -device usb-tablet -device usb-kbd \
-smbios type=2 -nodefaults -netdev user,id=net0 \
-device virtio-net-pci,netdev=net0,id=net0,mac=52:54:00:11:22:33 \ 
-device ich9-ahci,id=sata \ 
-bios "I:\OS\qemu\FreeBSD\OSX-KVM-master\OVMF_combined.fd"
-drive file=\\.\PhysicalDrive8,format=raw,media=disk

这是一个例子来自 Arch Wiki 的 QEMU 原始设备映射

我的同类回答,我确信全文比简单的链接更有帮助。

相关内容