Qemu-kvm kullanarak bir liveusb'dan nasıl başlatırım?


Yanıtlar:


23

qemu-kvm -hdb <device>, <device>USB çubuğu nerede (örneğin/dev/sdb ) bunu yapmalı (bir USB çubuğunda Ubuntu 12.04 ile test edildi ve çalışıyor).

Aygıta yazma izniniz olması gerekir (yani rootizinlerini değiştirin veya değiştirin).


2
İyi cevap. VM'lerinizi yönetmek için kolay bir arayüze ihtiyacınız varsa BTW, virt-manager'ı deneyin.
wazoox

2
Tıpkı bir ipucu: Canlı usb çubuğumu test etmek için kvm yerine VirtualBox'u denedim ve daha hızlı. VirtualBox'da kullanılacak bir vmdk dosyası oluşturmak için bu komutu root olarak kullanmalısınız:VBoxManage internalcommands createrawvmdk -filename .VirtualBox/HardDisks/usbdisk.vmdk -rawdisk /dev/sdb
Marc MAURICE

4
Burada kendin için sadece küçük bir not - -hdb(örneğin /dev/sdb) disk / cihaz düğümünü kullanın ; Bölüm (içinde olduğu gibi /dev/sdb4)
sdaau

Bir uyarı mesajından kaçınmak için UYARI: '/ dev / sdb' için görüntü formatı belirtilmemiş ve sondalama ham olarak tahmin edilmiştir. Biçimi otomatik olarak algılamak, ham görüntüler için tehlikelidir, blok 0'a yazma işlemleri kısıtlanacaktır. Kısıtlamaları kaldırmak için 'raw' biçimini açıkça belirtin. seçenekleri bu formatta belirleyebilirsiniz: Bu soruya-drive file=/dev/sdb,format=raw,index=0,media=disk bakın
Ashark

26

qemu-kvm kayboldu. Bunun yerine linux köküne bir yol vererek start qemu'daki ipucunu kullanın. Bunun anlamı

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

/ dev / sdb, önyüklemek istediğiniz usb çubuğunun ham aygıtınızdır (bölüm değil).

(ancak, 12/2014 itibariyle, benim için lapa lapa oldu. ubuntu-gnome 14.10 ile sonuçlanan, sonuçta metal üzerinde ince çizildiği doğrulanan bir çubuk üzerinde bir çekirdek panikine yol açar.)

/ iaw


Teşekkürler, bin-x86_64-efi/ipxe.usbbir EFI önyüklemesi için otomatik önyükleme yapmak için buna ihtiyacım vardı ve şimdiye kadar sorunsuz çalıştı.
NiKiZe,

2
Lütfen cevabınızı güncelleyebilir misiniz? Aşağıdakileri aldım: qemu-system-x86_64: -usbdevice disk:/dev/sdb: '-usbdevice' is deprecated, please use '-device usb-...' instead
Ashark

8

Tam olarak nedenini bilmiyorum ama Renan'ın cevabı benim için pek işe yaramadı. KVM, önyüklenebilir bir sürücü bulamadığını söyledi (usb bölümünün bu şekilde işaretlenmesine rağmen).

Ancak başka bir çözüm buldum. USB aygıtını alın VendorID: lsusb ile ProductID. Örnek:

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

Bunu KVM'ye ilet ve önyükleme menüsünü sor:

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

Menü için F12 tuşuna basın, usb cihazını seçin, çalışır. Muhtemelen önyükleme menüsünü çağırmaya gerek kalmadan usb önyüklemesini kumanda etmenin bir yolu vardır, ancak hiçbir erkek kvm içinde bulamadım.


Bana gelince, usb çubuğu bir hdd sürücü olarak geçirmek benim için doğru bir şekilde çalışıyor, ancak bios modunda -boot menüsü = açık olan bir usb aygıtı olarak usb çubuğunu geçmek benim seçmeme izin veriyor, syslinux menüsünü gösteriyor (archlinux iso'yu parlattım. dd ile usb stick) ve yüklenmeye başlar, ancak cihaz / dev / disk / by-label / ARCH_201903 ... sd 2: 0: 0: 0 [sda] Sürücü önbelleği varsayarak: print_req_error: G / Ç hatası, dev sda, sektör 0 Dev sda'daki tampon I / O hatası, mantıksal blok 0, zaman uyumsuz sayfa HATA okundu: '/ dev / disk / by-label / ARCH_201903' cihaz 30 saniye sonra görünmedi 2) uefi'de başarısız oldu
Ashark

1

Liveusb görüntüsünü kullanmak istiyorsanız , fiziksel bir USB çubuğu yerine, bunu

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

"-Boot menu = on" olmadan, kvm her zaman "-drive" veya "-hd [a | b | c | d]" ile ayarladığınız sabit sürücüyü tercih eder.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.