qemu-kvm의 가상 USB 드라이브에서 부팅

qemu-kvm의 가상 USB 드라이브에서 부팅

GRUB2를 사용하여 여러 개의 부팅 가능한 USB를 만들고 싶습니다. 하지만 실험을 위해 물리적인 USB 스틱을 사용하고 싶지는 않습니다.

Qemu를 사용하여 실제 장치처럼 사용할 가상 USB를 어떻게 만들 수 있나요? 게스트 머신을 부팅하고, 게스트 OS에서 GRUB를 설정하고 싶습니다.

나중에 가상 이미지를 가져와서 실제 USB 스틱에 복사할 수 있기를 원합니다. 어떻게 해야 하나요? 아마 if=usb_image.vmdk of=/dev/sdx?

답변1

예를 들어 추상화 계층을 사용합니까 libvirt? 그렇다면 디스크 이미지 파일을 USB 디스크로 추가하면 됩니다.

kvm/ 를 직접 실행하면 qemu매뉴얼 페이지( man kvm또는 man qemu)에 답이 있습니다:

USB 옵션:

-usb 활성화 → USB 드라이버(곧 기본값이 될 예정)

-usbdevice devname → USB 장치 devname을 추가합니다.

disk:[format=format]:file → 파일 기반 대용량 저장 장치. 형식을 감지하는 대신 선택적 형식 매개변수가 사용됩니다. 신뢰할 수 없는 형식 헤더의 해석을 피하기 위해 "format=raw"를 지정하는 데 사용할 수 있습니다.

그래서 이와 같은 것이 작동해야합니다

dd if=/dev/zero bs=1M count=8000 of=usb.img    # Create the usb disk image
kvm ... -usb -usbdevice disk:raw:usb.img      # Start kvm/qemu

잠시 후에 작동하겠지만 , 실제로 USB 장치인지 dd if=usb.img bs=1M of=/dev/sdX확인하세요 ! /dev/sdX또한 더미 이미지를 스틱과 동일한 크기(또는 더 작게)로 만들어야 합니다. 1GB 스틱은 2^31바이트가 아니라 10^9바이트에 불과하다는 점을 기억하세요.

관련 정보