私はここで言及したことをしたいと思います。https://wiki.archlinux.org/index.php/QEMU#Mounting_a_partition_of_the_guest_on_the_host- デフォルトでは、パーティションをVMに直接マウントします。そのため、mmap
マウントで使用できます。(9p
サポートされていないようです)。
しかし、ここでnixモジュールの関連設定(?)が何であるかわかりません。https://github.com/NixOS/nixpkgs/blob/b0df5a6816b644c2e0b6ebcde6ad0784b07205e0/nixos/modules/virtualization/qemu-vm.nixこれを構成します。実際に使っています。https://github.com/Mic92/nixos-shellこれは参照されたモジュール/ファイルを再利用するようです。
次のようにしてみてください。
extraMounts = {
"/test" = {
target = /dev/sdc;
cache = "none";
};
};
エラーが発生しました。
qemu-system-x86_64: -virtfs local,path=/dev/sdc,security_model=none,mount_tag=a457b9c00b7152b02ceea27e7fe1a07: cannot initialize fsdev 'a457b9c00b7152b02ceea27e7fe1a07': failed to open '/dev/sdc': Not a directory
パラメータを設定する必要があるようですが、-hda
nixモジュールにオプションは表示されません。
答え1
ここで解決策を見つけてください:https://github.com/Mic92/nixos-shell/issues/14
環境変数を設定する必要があります。
QEMU_OPTS="-hdc /dev/disk/by-uuid/836d83ab-cba5-4eb4-a7c8-09911cd67403"
ここに引用されています:
# Start QEMU.
exec ${qemuBinary qemu} \
-name ${vmName} \
-m ${toString config.virtualisation.memorySize} \
-smp ${toString config.virtualisation.cores} \
-device virtio-rng-pci \
${concatStringsSep " " config.virtualisation.qemu.networkingOptions} \
-virtfs local,path=/nix/store,security_model=none,mount_tag=store \
-virtfs local,path=$TMPDIR/xchg,security_model=none,mount_tag=xchg \
-virtfs local,path=''${SHARED_DIR:-$TMPDIR/xchg},security_model=none,mount_tag=shared \
${drivesCmdLine config.virtualisation.qemu.drives} \
${toString config.virtualisation.qemu.options} \
$QEMU_OPTS \
"$@"