VirtualBox'da bir USB sürücüsünden nasıl önyüklenir?


72

Soru basit ve açıktır:

VirtualBox'da bir USB sürücüsünden nasıl önyüklenir?

EDIT :

Ekli olan usbekran görüntüsünde görüldüğü gibi VirtualBox'ı.

https://i.stack.imgur.com/UPZZo.png

Ancak takılı olsa bile bir USB sürücüsünden önyükleme yapmak mümkün değildir (referans) .

Öyleyse, bir USB sürücüsünden önyükleme yapma olasılığınızın olup olmadığını bilmek istiyorum.


USB'nizi açabilir, her şeyi bir ISO dosyasına sıkıştırabilir ve normal şekilde önyükleyebilirsiniz.
dat tutbrus

@Ravan - sık sık unutmamak için kullanıcılar gparted özelliğini "boot" özelliğini usb çubuğuna takmazlar. Bu, gparted'in 'partition' menüsündedir ve orada resp resini düzenleyebilirsiniz. usb-stick etiketini ve "boot" parametresini etkinleştirin.
dschinn1001

1
@dattutbrus USB'deki dosyaları değiştirmek istiyorsanız bu işe yaramaz
Paul

Yanıtlar:


89

VirtualBox, bir USB cihazdan önyüklemeyi desteklemiyor. Bir USB cihazından önyükleme yapmak için başka bir önyükleyici gerekir. Aşağıdaki adımlar, bunu başarmanın olası bir yolunu sunar:

  1. Plop Boot Manager'ı İndirin (şu anda v5.0.15)
  2. Dosyayı plpbt.isoZIP arşivinden çıkarın ve bir yere kaydedin.
  3. Sanal makine için ayarları açın ve ISO dosyasını ekleyin:

    görüntü tanımını buraya girin

  4. USB cihazı için bir filtre ekleyin:

    görüntü tanımını buraya girin

  5. Sanal Makineyi önyükleyin ve menüden "USB" seçeneğini seçin:

    görüntü tanımını buraya girin

Her şey yolunda giderse, makine şimdi USB cihazından önyüklemelidir.


1
Bu kesinlikle benimkinden daha kolay bir cevap. Bunu sevdim! Keşke daha fazlasını oylayabilseydim. =)
Terrance

3
Bu cevap vboxusers grubunun bir parçası olmanız gerektiğini içermelidir .
musiKk

6
Bu benim için çalışmıyor. USB'yi seçtiğimde onun ekranı ile sonsuza kadar beklerim. Herhangi bir fikir? postimg.org/image/dv8w83pi3
John,

6
Plop Boot Manager'ın yalnızca resmi olarak EHCI'yi desteklediğini eklemek istedim. Benim gibiyseniz ve Plop Boot Manager ile bir USB 3.0 sürücüsü kullanmaya çalışıyorsanız, çalışmaz. Diğer gönderide belirtilen yöntemi kullanmayı deneyebilirsiniz, ancak VirtualBox ayrıca USB 3.0 aygıtlarından gelen ham vmdks ile çalışmayı pek sevmiyor. Bilgisayarınızda yalnızca USB 3 bağlantı noktalarınız varsa, bir USB 2.0 hub sipariş edebilir ve sürücüyü buna bağlayabilirsiniz. Temelde bir USB 2.0 sürücüsü gibi davranır.
fakedad

3
Bu çözümü VMDK ile birleştirirseniz, yerel USB performansı elde edebilirsiniz. Aksi halde bu sadece USB 1.1 ile çalışır.
Will Bickford

50

EDIT: 7 Mar 2018

Burada not edilecek bir şey var. Yeniden başlattığınızda USB sürücüsünün bilgisayarda bırakılması /dev/sd, ham usb.vmdkdosyanın yanlış sürücüye işaret etmesine neden olarak sürücü harfi tanımlamasını değiştirebilir, böylece VirtualBox'da önyüklenmez. Test olarak sistemimde bir tane bıraktım. O oldu /dev/sdiben yeniden önce yeniden başlatma sonrasında öyleydi /dev/sdc. Herhangi bir değişiklik için bilgisayarınızı yeniden başlattığınızda, lütfen yeniden başlatmadan önce USB sürücüsünü çıkarın. Ben değişmeyecek şekilde ham diskin sürücünün UUID'sinden yaratılıp oluşturulamayacağına bakıyorum.


VirtualBox USB sürücülere ön yükleme yapmadığından, önyükleme için USB sürücünüzü .vmdkgösteren bir dosya oluşturabilirsiniz .

NOT:vboxusers USB'nizi görmek için kullanıcı hesabınızı VirtualBox grubuna eklemelisiniz . Ayrıca hesabınızı diskgruba da eklemelisiniz , yoksa .vmdkdosyayı Sanal Makinenize ekleyemezsiniz . İçinde aşağıdaki talimatları eklendi EDIT'e . Bu aynı zamanda USB sürücüsünü sabit sürücüye kopyalamaz ve USB'yi doğrudan kullanır. Bu, saklamak istediğiniz USB'de ısrar varsa yardımcı olabilir. Her durum aynı değildir, bu her durum için işe yaramayabilir.

Öncelikle, sisteminizde oluşturduğunuz USB'nizin olması ve fiziksel sürücünün ne olduğunu belirlemeniz gerekir. Sürücünüzün monte edildiğini varsayacağız /dev/sdb1. Böylece, fiziksel tahrik olur /dev/sdb.

Ardından, .vmdkUSB sürücüsüne işaret eden dosyayı oluşturmak için terminal penceresinden aşağıdakini yazın :

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Veya

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

O zaman buna benzer bir şey görmelisin:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

Not: Bazı kişilerin yeni oluşturulan dosyanın mülkiyeti ile ilgili sorunları vardı. Yeni dosyanın sahipliğini al:

sudo chown $USER:$USER ~/usb.vmdk

Daha sonra yapmanız gereken tek şey .vmdkdosyayı VirtualBox Sanal Makinenize eklemek ve onu önyükleyebildiğinizden emin olmaktır.

görüntü tanımını buraya girin

DÜZENLE:

Kullanıcıyı vboxusersgruba eklemek için aşağıdaki komutu çalıştırın:

sudo usermod -a -G vboxusers username

Kullanıcıyı diskgruba eklemek için aşağıdaki komutu çalıştırın:

Not: Kullanıcıyı disk grubuna eklemek tehlikeli ve güvenlik açısından tehlikeli olabilir. Ham diske yazmak sudo erişimi olması kadar tehlikelidir.

sudo usermod -a -G disk username

O zaman değişikliklerin geçerli olması için sisteminizi yeniden başlatmanız ZORUNLU .

Yeniden başlatmadan önce:

görüntü tanımını buraya girin

Yeniden başlattıktan sonra:

görüntü tanımını buraya girin

Bu yardımcı olur umarım!


1
Bu hatayı aldım: VBoxManage: hata: VMDK: '/ dev / sdc' ham disk dosyasını açamadı VBoxManage: hata: Hata kodu /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/VBox/ adresindeki VERR_WRITE_PROTECT fonksiyon int vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) VBoxManage depolama / VMDK.cpp (3390): hata: VERR_WRITE_PROTECT VBoxManage: error: ham disk VMDK dosyası oluşturulmadı ham disk VMDK oluşturulamıyor
John

@John Hesabınızı diskgruba eklediniz mi, ardından grubu ekledikten sonra oturumu kapatıp tekrar açtınız veya yeniden başlattınız mı ?
Terrance

Evet, onu yeniden başlatıyorum ve kök sonucu olarak çalıştırırsam olay aynıdır ...
John

2
benim için iyi çalışıyor. Notlar: sadece oturum açmak / oturum açmak için yeniden başlatmanız gerekmez. Disk grubuna girdikten sonra sudo kullanmaya gerek kalmamalıdır.
Karl Forner

1
Talimatları izledim, ancak Windows 10'u sanal sürücüdeki USB sürücüsünden başlatmaya çalışırken "FATAL: Önyükleme ortamından okunamadı! Sistem durduruldu" yazıyor. Baska öneri? Yardımın için teşekkürler!
Arch Linux Tux

15

Bu yazıya sadece birkaç gün önce geldim. USB flash belleğim zaten önyüklenebilir olduğundan Plop Boot Manager kullanmak istemiyorum.

Ben de USB bellek çubuğunu (Terrance cevabında olduğu gibi) bir VMDK diske yönlendirmeye çalıştım. vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Ne yazık ki, bu ... çalışmayı I reddetti chmodve diski ve bu yüzden bir VM ekleyin başardı ama sadece işe yaramadı.chownusb.vmdk

Sonunda başka bir çözüm denedim ve bu da kusursuz çalıştı. İşte ( araştırma için Gean Santos'a teşekkürler ):

  1. USB çubuğu takın ve tanımlayın (benimki, /dev/sdbSabayon Linux kullanıyor);
  2. Ham cihazı (yani USB çubuğu) bir VirtualBox diskine dönüştürerek bir .vmdkdisk oluşturun.

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Şimdi usb.vmdk, önyüklenebilir USB çubuğunuzdan oluşturulmuş bir diske sahipsiniz . Ayrıca ddUSB bellek çubuğunu bir görüntü dosyasına da denedim ve .vmdkdiski görüntü dosyasından oluşturdum. .vdiEski yoldan yaratılan disklerin yanı sıra çalışır (veya görüntü dosyasından)

  4. Şimdi, VirtualBox'un dosyaya erişebilmesi için oluşturulan diske izin verin. Bu sadece dosya sahibini vboxusers grubundaki bir kullanıcı olarak değiştirmek anlamına gelir . VirtualBox kurulumunuz iyi çalışıyorsa, bu sahibin olduğundan daha büyük olasılıkla siz:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. Şimdi, usb.vmdkdiski bir Sanal Makineye takmanız yeterlidir. Ancak bir IDE kontrol cihazına bağlanmalıdır . SATABaşarı olmadan denedim .

IDE denetleyicisine bağlı, önyüklenebilir bir <code> usb.vmdk </code> içeren bir VM örneği

Bu noktada, iyisin.

Sadece yeni VM'yi önyükleyin, tuşuna basın F12ve önyüklenebilir sürücüyü seçin.

Keyfini çıkarın!


Bu USB 3.0 ile çalışıyor mu (burada yayınlanan askubuntu.com/questions/693719/… )?
natty hakkında

Ben sadece kontrol ettim ve temelde usb bellek sürücünüzü kopyaladınız ve orijinal usb bellek bu şekilde kullanılmıyor.
Fedcomp

11

En kolay çözüm, USB anahtarının içeriğini bir iso dosyasına kopyalamaktır (bir dahaki sefere isoyu doğru makineye indireceğim, ilk başta USB anahtarına gerek yok)

dd if=/dev/sdc of=myusbkey.iso

Ve sonra bu .iso'yu VirtualBox ayarlarında, Storage, Controller: IDE (veya SATA, sanırım) altındaki optik sürücü olarak ekleyin.

Bir .vmdk dosyası yapmaya gerek yok, VirtualBox .iso dosyalarını destekler.


Bu cevap en üstte olmalı.
McMutton

Katılıyorum :-) Ama yine de daha fazla yükseltme gerektirir;)
David Faure

Buradaki şey, yaklaşık 40
GB

Doğru, ama diğer tüm çözümler de bunu yapıyor, değil mi?
David Faure

1
@DavidFaure "VBoxManage internalcommands createrawvmdk ..." kullanımıyla ilgili orijinal cevap, yukarıdaki komutu çalıştırdığınız zaman sisteme bağladığınız USB sürücüsünün kısayoluna eşdeğer olarak düşünebileceğiniz bir şey yaratır. Bu nedenle, kullanıcı tarafından belirtildiği gibi USB belleğin potansiyel olarak devasa bir görüntüsü ile bitmiyorsunuz33845
ConceptRat 10:18

5

Aşağıdaki adımları öneriyorum.

  1. Diskleri Aç
  2. USB'yi arayın.
  3. Oraya tıklayın ve sağ üst köşede 3 paralel çizgiye sahip bir ayar simgesi göreceksiniz.
  4. Buraya tıklayın ve Disk Görüntüsü Oluştur ... seçeneğini seçin .
  5. Konumu seçin ve Oluştur'a tıklayın . VirtualBox'da kullanabileceğiniz bir .img dosyası oluşturacaktır.

2

Virtualbox'ı root olarak çalıştırmak istemedim. Kullanıcımın tüm disklerde tam izinleri olan disk grubunda olmasını istemedim.

İşte benim çalışmam gereken şey:

Bellek çubuğunun ne olduğunu bulun. Aşağıdaki talimatlarda öyle sdc.

  • Memory Stick'i çıkar

    su -
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    exit # Run the following command as regular user:
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    su - # Back as root again:
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • Usb.vmdk sanal kutu makinesi ekle

    chmod 666 /dev/sdc
    
  • Virtualbox makinesini başlat
  • Yaptıktan sonra, güvenlik için sdc1 iznini sıfırlayın:

    chmod 660 /dev/sdc1
    

Yukarıdakilerde, bellek çubuğunun izinlerini birkaç kez sıfırlamak zorunda kaldığımı görüyorsunuz, çünkü her seferinde köke geri dönüyordu.

Mandriva Linux kullanıyorum, fakat Ubuntu'da da aynı olmalı


Burada işe yaramayacak izin çok kötü bir tavsiye. Her şeyden önce, bunu kök olarak yapıyorsunuz, bu yüzden bu komutları çalıştırmak için izinleri değiştirmeniz gerekmez. İkincisi, uygun kullanıcıyı disk grubuna eklemek daha iyidir, böylece gerekli değildir.
Evan Teran

@ Evan Teran Denediniz mi? Ve evet, kullanıcı disk grubunun bir parçasıdır. Bugün hala kendi linux işletim sistemimde kullandığım yöntem. Wayne Sallee Wayne@WayneSallee.com
Wayne

İşe yaramaz demiştim, tavsiye olmadığını söyledim. Kullanıcı grupları ne olursa olsun, komutları root olarak çalıştırıyorsanız, yine de root erişimi olduğu için izinlere uymanız gerekmez. Ayrıca, 777 ve 666 ile dosya ve klasör oluşturmak kötü bir uygulamadır, dünyayı olması gerekmedikçe okunabilir veya yazılabilir hale getirmemelisiniz.
Evan Teran,

@ Evan Teran bir programı root olarak çalıştırmak iyi bir tavsiye değil, root olmak zorunda değil. Memory stick yalnızca bir süredir içeride ve sunucuda yok. Riski nereye koymak istediğin meselesi. Riski sistemden çok bellek çubuğuna koymayı seçiyorum. Wayne@WayneSallee.com
Wayne

Düzeltme: Kullanıcımı disk grubuna yerleştirmedim. Wayne@WayneSallee.com
Wayne

1

USB sürücünüz bir EFI önyüklenebilir sürücüsü ise, Plop Boot Manager EFI önyüklemesini desteklemediğinden çalışmayacaktır. Bu durumda benim için işe yarayan şey rEFInd önyükleme yöneticisini kullanmaktı ( http://www.rodsbooks.com/refind/ ).

  1. Http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download adresinden rEFInd önyüklenebilir iso dosyasını indirin ve açın.

  2. Sanal makine ayarlarını VirtualBox'ta açın ve rEFInd CD ISO dosyasını ekleyin.

  3. "Sistem" sekmesindeki sanal makine ayarlarında "EFI'yi etkinleştir (yalnızca özel işletim sistemleri)" "seçeneğinin etkin olduğundan emin olun.

  4. Sanal makineyi önyükleyin ve rEFInd önyükleme menüsünü görmelisiniz:

REFInd menüsü

  1. USB sürücünüzü VirtualBox'a takın.

  2. Menüyü yenilemek için geri tuşuna basın veya birkaç saniye bekleyin; sürücü menüde görünmelidir.

  3. USB sürücünüzü seçin ve enter tuşuna basın, USB sürücünüz önyüklemeye başlamalıdır.

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.