QEMU에서 원시 디스크 이미지 부팅

QEMU에서 원시 디스크 이미지 부팅

디스크 이미지 파일이 있습니다여기;페이지에는 QEMU와 다음 명령을 사용하여 이 이미지를 부팅할 수 있음이 표시됩니다.

$ qemu-system-x86_64  -m 4096  -ctrl-grab  -no-reboot  x86-64.img

이는 다음과 같은 메시지를 제공합니다.

WARNING: Image format was not specified for 'x86-64.img' and probing guessed raw.
     Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted.
     Specify the 'raw' format explicitly to remove the restrictions.

에뮬레이터가 로드되지만 PilOS가 충돌합니다. 이는 내가 뭔가 잘못하고 있음을 의미합니다.

(아마도 PilOS가 블록 0에 쓰고 싶어하지만 그렇게 할 수 없기 때문일 것입니다)

raw내가 아는 한, 명령줄 매개변수는 다음과 같이 전달되어야 합니다.

$ qemu-system-x86_64 -drive format=raw file=x86-64.img 
qemu-system-x86_64: -drive format=raw: drive with bus=0, unit=0 (index=0) exists

내 부팅 장치가 버스 0에 있기 때문에 이것이 실패한다고 생각합니다. /dev/sda따라서 QEMU 매뉴얼 페이지에 따르면 다음 중 하나가 작동하지만 작동하지 않습니다.

$ qemu-system-x86_64 -drive bus=9 format=raw file=x86-64.img 
qemu-system-x86_64: -drive bus=9: Could not open 'format=raw': No such file or directory
$ qemu-system-x86_64 -drive format=raw file=x86-64.img bus=9
qemu-system-x86_64: -drive format=raw: drive with bus=0, unit=0 (index=0) exists

bus=9허용되어야 하는 인수는 -drive파일 이름으로 해석되거나 완전히 무시됩니다.

QEMU에서 이러한 원시 이미지를 올바르게 부팅하는 방법은 무엇입니까?


이것은 Ubuntu 15.10이며 다음을 실행합니다.

QEMU emulator version 2.3.0 (Debian 1:2.3+dfsg-5ubuntu9.3), Copyright (c) 2003-2008 Fabrice Bellard

이미지에 대한 데이터:

$ file x86-64.img 
x86-64.img: DOS/MBR boot sector; partition 1 : ID=0x83, active, start-CHS (0x0,1,1), end-CHS (0x82,246,62), startsector 62, 2006072 sectors; partition 2 : ID=0x82, start-CHS (0x83,0,1), end-CHS (0x15,246,62), startsector 2006134, 2006134 sectors

$ fdisk -lu x86-64.img 
Disk x86-64.img: 670 KiB, 686080 bytes, 1340 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device      Boot   Start     End Sectors   Size Id Type
x86-64.img1 *         62 2006133 2006072 979.5M 83 Linux
x86-64.img2      2006134 4012267 2006134 979.6M 82 Linux swap / Solaris

답변1

-drive옵션은 아래와 같이 매개변수를 사용합니다.

qemu-system-x86_64 -drive format=raw,file=x86-64.img 

..."하위" 옵션 사이에는 공백이 아닌 쉼표를 사용해야 합니다.

예를 들어, 데비안 설치 프로그램 CD를 부팅하기 위해 테스트한 것은 다음과 같습니다:

qemu-system-x86_64 -drive format=raw,media=cdrom,readonly=on,file=debian-8.2.0-amd64-DVD-1.iso 

관련 정보