Come si avvia da un liveusb usando qemu-kvm?


Risposte:


23

qemu-kvm -hdb <device>, dove si <device>trova la chiavetta USB (ad es. /dev/sdb), dovrebbe farlo (testato con Ubuntu 12.04 su una chiavetta USB e funziona).

Sarà necessario il permesso di scrittura sul dispositivo (ovvero essere rooto modificare le sue autorizzazioni).


2
Buona risposta. A proposito, se hai bisogno di un'interfaccia semplice per gestire le tue VM, prova virt-manager.
Wazoox,

2
Solo un suggerimento: ho provato VirtualBox invece di kvm per testare la mia chiavetta USB live ed è MOLTO più veloce. Devi usare questo comando come root per creare un file vmdk da usare in VirtualBox:VBoxManage internalcommands createrawvmdk -filename .VirtualBox/HardDisks/usbdisk.vmdk -rawdisk /dev/sdb
Marc MAURICE

4
Solo una piccola nota per auto qui - usa il nodo disk / device in -hdb(es. /dev/sdb); NON la partizione (come in /dev/sdb4)
sdaau,

Per evitare un messaggio di avvertimento AVVERTENZA: il formato dell'immagine non è stato specificato per '/ dev / sdb' e il sondaggio è stato indovinato. Il rilevamento automatico del formato è pericoloso per le immagini non elaborate, le operazioni di scrittura sul blocco 0 saranno limitate. Specificare il formato "raw" in modo esplicito per rimuovere le restrizioni. puoi specificare le opzioni in questo formato: -drive file=/dev/sdb,format=raw,index=0,media=diskvedi questa domanda
Ashark

26

qemu-kvm è scomparso. usa il suggerimento in start qemu dandogli invece un percorso per un root Linux . questo significa

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

dove / dev / sdb è il dispositivo non elaborato (non partizione) della chiavetta USB che si desidera avviare.

(tuttavia, a partire dal 12/2014, è stato traballante per me. l'avvio di Ubuntu-GNOME 14.10 alla fine porta ad un panico del kernel su uno stick verificato per avviarsi bene sul metal.)

/ IAW


Grazie, questo era necessario per l'avvio automatico di una build bin-x86_64-efi/ipxe.usbper un avvio EFI e finora ha funzionato senza problemi.
NiKiZe,

2
Puoi per favore aggiornare la tua risposta? Ho ottenuto il seguente: qemu-system-x86_64: -usbdevice disk:/dev/sdb: '-usbdevice' is deprecated, please use '-device usb-...' instead
Ashark

8

Non so esattamente perché, ma la risposta di Renan non ha funzionato per me. KVM mi ha detto che non riusciva a trovare un'unità avviabile (nonostante la partizione USB fosse contrassegnata come tale).

Tuttavia ho trovato un'altra soluzione. Ottieni il dispositivo USB VendorID: ProductID con lsusb. Esempio:

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

Passalo a KVM e chiedi il menu di avvio:

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

Premi F12 per il menu, scegli il dispositivo USB, funziona. Probabilmente c'è un modo per comandare l'avvio USB senza dover richiamare il menu di avvio, ma in man kvm non ne ho trovato nessuno.


Per quanto mi riguarda, il passaggio della chiavetta USB come unità hdd funziona correttamente per me, ma il passaggio della chiavetta USB come dispositivo USB con -boot menu = on 1) in modalità BIOS mi consente di sceglierlo, mostra il menu syslinux (ho lampeggiato archlinux iso to chiavetta USB con dd) e inizia il caricamento, ma fallisce con l'attesa di 30 secondi per dispositivo / dev / disk / by-label / ARCH_201903 ... sd 2: 0: 0: 0 [sda] Supponendo che la cache dell'unità: scriva tramite print_req_error: Errore I / O, dev sda, settore 0 Errore I / O buffer su dev sda, blocco logico 0, lettura asincrona della pagina ERRORE: il dispositivo '/ dev / disk / by-label / ARCH_201903' non si è mostrato dopo 30 secondi 2) a
uefi

1

Se vuoi usare un'immagine di un liveusb, invece di una chiavetta USB fisica, puoi farlo con

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

Senza "-boot menu = on", kvm preferirà sempre il disco rigido impostato con "-drive" o "-hd [a | b | c | d]".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.