Virtual-Machine
在 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
這失敗了(我認為)因為我的引導設備在
/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
該
-drive
選項採用如下所示的參數:qemu-system-x86_64 -drive format=raw,file=x86-64.img
…您需要在其“子”選項之間使用逗號,而不是空格。
例如,這是我測試的用於引導 Debian 安裝程序 CD 的一張:
qemu-system-x86_64 -drive format=raw,media=cdrom,readonly,file=debian-8.2.0-amd64-DVD-1.iso