SSDの25GBパーティションを暗号化してゲストドライブとして使用しよcryptsetup
うとしています。QEMU-KVM
ドライブをluksformattingしてみました。
cryptsetup luksFormat /dev/disk/by-id/...
次に開きます。
cryptsetup luksOpen /dev/disk/by-id/... windows-vm
/dev/mapper/windows-vm
次のスクリプトを使用してデバイスにアクセスしようとすると、QEMUは権限を拒否されます。
#!/bin/bash
exec qemu-system-x86_64 \
--enable-kvm \
-netdev user,id=vmnic -device virtio-net,netdev=vmnic \
-usbdevice tablet \
-monitor stdio \
-machine type=pc,accel=kvm \
-cpu host \
-m 4G \
-balloon virtio \
-name Windows \
-smp cores=2 \
-vga std \
-soundhw ac97 \
-drive file=/dev/mapper/windows-vm,cache=none,if=virtio \
"$@"
また、インストールしようとしましたが、インストール時に誤ったfsタイプがあると文句を言いました。これはmkfs
デバイスで実行されないため意味があります。とにかくWindowsでデバイスをフォーマットするので、これを行う必要はないようです。
cryptsetup
Luks暗号化をパーティションに関連付けて開くと、QEMU-KVM
通常のqcow2 / rawイメージファイルのように読み取り/書き込み/実行を可能にする方法はありますか?
/dev/mapper/windows-vm
編集:rootアクセスでQEMUを実行したときに権限拒否エラーが発生するのではなく、インストールプロセスが開始されたため、これはブロックデバイスの権限の問題である可能性があることがわかりました。一般ユーザーがブロックデバイスに直接アクセスする方法はありますか?デフォルトでは、cryptsetup は `/dev/mapper/windows-vm デバイスルート:ルート0600を提供します。
ありがとうございます。
答え1
/dev/mapper/windows-vm
QEMUにはディスクイメージファイルが必要で、ブロックデバイスだと思います。 ~によるとアーチスウィキQEMUにパーティションを渡すことはできますが、これを行うにはmkfs
ブロックデバイスで実行する必要があります。その後、Wikiはブートローダをパーティションにインストールできないため、このアプローチに問題があると言います(100%正しいとは思いません)。 Xen(私の考えにQEMUにある程度依存していると思う)はブロックデバイスを処理できるのでこれを動作させることができる希望があるかもしれません。
ネイティブディスクイメージファイルの使用によるオーバーヘッドが心配されない場合は、最も簡単なオプションはパーティションにファイルシステムを作成し、その新しいファイルシステム内にネイティブディスクイメージファイルを作成することです。ディスクイメージファイルは暗号化されたパーティションにあるため、暗号化されます。