26.10.2011

Virtualbox'ı USB bellekten boot etmek

Bu yazıyı okuyorsanız muhtemelen farketmişsinizdir; Virtualbox'ta ESC ile girilen boot menüsünde USB diskiniz yer almaz. Yani boot edilebilir bir USB cihazınız (disk veya bellek) varsa ve sanal makinenizi bu cihazdan açmak isterseniz bu mümkün değildir. Elimizde yeni hazırlanmış bir boot edilebilir USB sürücü varsa ve bunu denemek istiyorsak ille de boş bir bilgisayar mı bulmalıyız? Hayır.

Çözüm biraz "kulağı tersten göstermek" gibi. Geliştiriciler güzel güzel boot menüsüne USB'yi koymak istememişler. Onun yerine USB cihazınıza işaret eden bir tane raw (ham) disk vmdk dosyası yaratıp, bunu sanal makineye bağlamayı ve sonra buradan açmayı önermişler. Adımlar şöyle:

  1. Önce USB cihaz ana (evsahibi - host) bilgisayara takılır.
  2. Yönetici yetkileriyle açılmış bir komut satırı penceresine aşağıdaki komut yazılır.
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk \\.\PhysicalDriveX
    vboxmanage.exe dosyası Virtualbox'ın kurulum klasöründe bulunur. Bu komutu o klasörden çalıştırabilir,ya da başına C :\Program Files\Oracle\VirtualBox gibi bir yol ekleyebilirsiniz. Kırmızı ile yazılan X yerine ise USB cihazınızın disk yöneticisinde veya diskpart'ta görülen numarasını olmalı (örneğin diskpart'ta list disk komutu ile listelenen disk numarası)
  3. Daha sonra USB cihazınızı bağlayacağınız sanal makineye yeni disk ekleme işlemine geçip, yeni disk yaratma değil mevcut bir diski kullanma seçimini yaparak 2. adımda yaratılan usb.vmdk dosyasının yerini gösterilir.
  4. Bundan sonraki adımda ya ESC ile boot menüsünde öncelikli boot cihazı seçilir, ya da olmazsa Depolama seçeneklerinde eklediğimiz raw disk Primary Master falan yapılabilir.
Benim takıldığım nokta 3. adımdı. Windows 7 üzerinde bir türlü raw diski ekleyemiyordum. Eklemeye çalıştığımda aldığım hata aşağıda görüldüğü gibi E_FAIL (0x80004005) ile başlayan, çok da anlamlı olmayan bir hataydı.


Bu hatayı, bir kereye mahsus Virtualbox'ı yönetici yetkileriyle açıp, raw disk dosyasını yükseltilmiş yetkilerle ekledikten sonra, gerekiyorsa Virtualbox'ı tekrar normal yetkilerle açarak çözdüm.

Evet, sonuçta ana makineye ait fiziksel bir diski sanal makineye tanıtmak yükseltilmiş yetki gerektiren bir durum olabilir, ama insan daha anlamlı bir hata mesajı görüntülenemez miydi diye düşünüyor elinde olmadan.

Hiç yorum yok: