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
편집: 루트 액세스로 QEMU를 실행했을 때 권한 거부 오류가 발생하는 대신 설치 프로세스가 시작되었기 때문에 이는 블록 장치의 권한 문제일 수 있는 것으로 나타났습니다 .일반 사용자가 블록 장치에 직접 액세스할 수 있는 방법이 있나요? 기본적으로 cryptsetup은 `/dev/mapper/windows-vm 장치 루트:루트 0600을 제공합니다.
감사해요.
답변1
/dev/mapper/windows-vm
QEMU에는 디스크 이미지 파일이 필요하며 블록 장치라고 생각합니다 . ~에 따르면아치스 위키QEMU에 파티션을 전달할 수 있지만 이를 위해서는 mkfs
블록 장치에서 실행해야 합니다. 그런 다음 위키에서는 부트로더를 파티션에 설치할 수 없기 때문에 이 접근 방식이 문제가 있다고 말합니다(100% 정확하다고 생각하지 않습니다). Xen(내 생각에 QEMU에 어느 정도 의존하고 있다고 생각함)은 블록 장치를 처리할 수 있으므로 이를 작동시킬 수 있는 희망이 있을 수 있습니다.
원시 디스크 이미지 파일 사용에 따른 오버헤드가 걱정되지 않는 경우 가장 쉬운 옵션은 파티션에 파일 시스템을 만든 다음 해당 새 파일 시스템 내에 원시 디스크 이미지 파일을 만드는 것입니다. 디스크 이미지 파일은 암호화된 파티션에 있으므로 암호화됩니다.