Завантаження завантаженого зображення диска в QEMU


25

У мене звідси файл диска ; на цій сторінці написано, що я можу завантажувати це зображення за допомогою 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

Відповіді:


38

-driveОпція приймає параметри , які виглядають наступним чином :

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

... вам потрібно використовувати коми між його "під" -функціями, а не пробілами.

Наприклад, ось один я тестував на завантаження компакт-диска Debian Installer:

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

як вказати необроблений варіант для дискети в наступному, qemu-system-x86_64 -fda os.flpщоб позбутися від попередження?
enthusiasticgeek

1
@enthusiasticgeek знаходиться на сторінці людини - шукайте "Замість -fda, -fdb, ви можете використовувати:" дає -drive file=file,index=0,if=floppy... тож вам слід додати format=rawдо цього.
дероберт

добре, зрозумів. qemu-system-x86_64 -drive format=raw,file=os.flp,index=0,if=floppyпрацювали! Спасибі.
enthusiasticgeek

2
@ Mr.Hyde вважаючи це працював і для мене, і для ОП, це дивно! Що таке повний командний рядок? Можливо, було б найкраще задати нове запитання, ви можете посилатися на це у своєму запитанні.
дероберт

1
@ Mr.Hyde У вас -driveтам немає аргументів, тому, здається, це вже інше питання. Запропонуйте задати власне запитання.
дероберт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.