У меня есть файл образа диска отсюда ; на этой странице написано, что я могу загрузить этот образ с помощью 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
Это терпит неудачу (я думаю), потому что мое загрузочное устройство включено /dev/sda
, шина 0, поэтому одно из следующего должно работать согласно справочной странице 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
qemu-system-x86_64 -fda os.flp
чтобы избавиться от предупреждения?-drive file=file,index=0,if=floppy
... так что вы должны быть в состоянии добавитьformat=raw
к этому.qemu-system-x86_64 -drive format=raw,file=os.flp,index=0,if=floppy
работал! Спасибо.-drive
ссоры, так что это другой вопрос. Предлагаю вам задать свой вопрос.