qemu-kvmを使用してliveusbから起動するにはどうすればよいですか?


回答:


23

qemu-kvm -hdb <device><device>USBスティックはどこにありますか(例/dev/sdb)、それを行う必要があります(USBスティックでUbuntu 12.04でテストし、動作します)。

デバイスへの書き込み許可が必要になります(つまりroot、許可を変更するか、許可を変更します)。


2
いい答えだ。ところで、VMを管理するための簡単なインターフェースが必要な場合は、virt-managerを試してみてください。
wazoox

2
ヒントとして:私はライブUSBスティックをテストするためにkvmの代わりにVirtualBoxを試してみました。あなたはVirtualBoxの中で使用されるようにVMDKファイルを作成するには、rootとしてこのコマンドを使用する必要がありますVBoxManage internalcommands createrawvmdk -filename .VirtualBox/HardDisks/usbdisk.vmdk -rawdisk /dev/sdb
マルク・MAURICE

4
ここで自己へのちょっとした注意-ディスク/デバイスノードを使用します-hdb(例/dev/sdb)。パーティションではない(のように/dev/sdb4
-sdaau

警告メッセージを回避するために警告:イメージ形式は '/ dev / sdb'に指定されておらず、プローブは生であると推測しました。フォーマットを自動的に検出することは生の画像にとって危険であり、ブロック0の書き込み操作は制限されます。「raw」形式を明示的に指定して、制限を削除します。この形式でオプションを指定できます。 この質問を-drive file=/dev/sdb,format=raw,index=0,media=disk参照してください
Ashark

26

qemu-kvmが消えました。代わりにLinuxルートへのパスを指定して、start qemuのヒントを使用します。これの意味は

qemu-system-x86_64 -usb -usbdevice disk:/dev/sdb

/ dev / sdbは、起動するusbスティックのrawデバイス(パーティションではない)です。

(ただし、2014年12月現在、私にとっては不安定です。ubuntu-gnome14.10を起動すると、最終的にスティックでカーネルパニックが発生し、金属で正常に起動することが確認されました。)

/ iaw


おかげでbin-x86_64-efi/ipxe.usb、EFIブート用のビルドを自動ブートするためにこれが必要でしたが、今のところ問題なく機能しました。
-NiKiZe

2
回答を更新してください。私は次のようになりました: qemu-system-x86_64: -usbdevice disk:/dev/sdb: '-usbdevice' is deprecated, please use '-device usb-...' instead
Ashark

8

なぜ正確なのかはわかりませんが、レナンの答えはうまくいきませんでした。KVMは、USBパーティションがそのようにマークされているにもかかわらず、起動可能なドライブを見つけることができないと私に言いました。

しかし、私は別の解決策を見つけました。USBデバイスのVendorID:ProductIDをlsusbで取得します。例:

$ lsusb
...
Bus 002 Device 007: ID 0781:5406 SanDisk Corp. Cruzer Micro U3

それをKVMに渡し、ブートメニューを要求します。

sudo  kvm -m 512 -smp 1 -drive file=/path/to/hardisk/file.img -usb \ 
-usbdevice host:0781:5406 -boot menu=on

F12キーを押してメニューを表示し、USBデバイスを選択すると、動作します。おそらく、ブートメニューを呼び出すことなくUSBブートをコマンドする方法はありますが、man kvmには見つかりませんでした。


私については、USBスティックをHDDドライブとして渡すと正しく機能しますが、USBデバイスとしてUSBスティックを渡すと、-boot menu = on 1)biosモードで選択できるようになり、syslinuxメニューが表示されます(archlinux isoをフラッシュしましたusb stick with dd)そしてロードを開始しますが、デバイス/ dev / disk / by-label / ARCH_201903を30秒待機して失敗します... sd 2:0:0:0 [sda]ドライブキャッシュを想定:print_req_errorを介して書き込み: I / Oエラー、dev sda、セクター0バッファーI / Oエラー、dev sda、論理ブロック0、非同期ページ読み取りエラー: '/ dev / disk / by-label / ARCH_201903'デバイスは30秒後に表示されませんでした2) uefiでは失敗します
Ashark

1

物理的なUSBスティックではなく、liveusbのイメージを使用する場合は、次のようにできます。

$ kvm -usbdevice disk:/path/to/liveusb.img -boot menu=on ...

「-boot menu = on」がない場合、kvmは「-drive」または「-hd [a | b | c | d]」で設定したハードドライブを常に優先します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.