Fiziksel bölümün Virtualbox görüntüsü oluşturma


13

Ben çift önyükleme ile farklı bölümlerde Fedora ve Windows 7 ile bir sürücü var.

Şimdi, Fedora'yı çalıştırırken, Windows bölümünü emmek ve VirtualBox'ta çalıştırabileceğim bir görüntü oluşturmak istiyorum - bunu nasıl yapabilirim?


2
Bazı hilelerle, bölümü doğrudan önyükleyebilirsiniz.
shellholic

@shellholic: Bu nasıl yapılır? burada cevap verebilir misiniz: superuser.com/q/463591/74616
Tamer Shlash

Yanıtlar:


10

İlgilendiğiniz belgelenmiş bir "dahili" işlev var. Temel olarak tüm komutları sabit diskinizdeki bölüme geçiren bir "ham disk" görüntüsü oluşturabilirsiniz. Bu şekilde, Windows bölümünüzü koruyabilir ve VirtualBox'tan da önyüklemeye çalışabilirsiniz.

Aşağıdaki gibi ham bir görüntü oluşturabilirsiniz:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sda -partitions 1,5

burada 1,5bölüm 1 ve 5 anlamına gelir/dev/sda

Dikkat edin, kusursuz çalışma şansı oldukça zayıf. Windows'un donanımdaki aşırı değişikliklere uyum sağladığı kesin olarak bilinmemektedir.

Ham diskler hakkında daha fazla bilgiyi burada bulabilirsiniz: 10.8.1. Bir Konuktan Ham Ana Bilgisayar Sabit Diski Kullanma


Bunu daha önce yaptım ama tam tersi. Windows'da VM için bir nane ham diski kullanma. Video ile ilgili küçük bir sorun dışında mükemmel çalıştı.
Keltari

5

As Matt dedim, seni VBoxManage komutunu kullanın ve Windows an yokmuş gibi olabilir. Ancak, daha fazla disk alanı kullanmanın daha hızlı bir yolu vardır. Stdin convertrawkomutunun girişi olarak kullanabilirsiniz (Matt'in cevabını okursanız, convertddkomutla aynıdır) :

# dd if=$WinDevice | VBoxManage convertfromraw stdin windows.vdi $Bytes

$ WinDevice, Windows bölümünün (/ dev / sda2 gibi) aygıtıdır ve $ Bytes tam bayt sayısıdır (örneğin, 1488581554176; C: sürücüsünü sağ tıklatarak bunu Windows içinden belirleyebilirsiniz) Bilgisayarım'da ve "Özellikler" e bastığınızda, Kapasite: Kullanılan ve Boş alan satırlarının altındaki ve pasta grafiğin üzerindeki satır).

Bunu kendim denemediğimi ve Windows'un açık olduğu sürücüye yazmayacağınızı varsayarak / dev / sda2 yerine / dev / sda kullanmanız gerekebileceğine inanıyorum. Bu şekilde, bölüm tablosunu ve önyükleyiciyi yakalarsınız.


Şu an itibariyle (şu anda 22 Şubat 2014), bayt sayısı çıktı dosya adından sonra geliyor.
echristopherson

Ha, haklısın. Sabit. Durumun her zaman böyle olup olmadığını ve şimdiye kadar kimsenin fark edilmediğini veya siparişi son üç yıl içinde bir süre değiştirip değiştirmediklerini biliyor musunuz? Sanýrým düzeni deđiţtirmeyeceklerdi, ama birisinin şimdiye kadar fark etmesini de beklerdim.
Daniel H

Hiç farklı olup olmadığından emin değilim ... Bu yüzden cevabı düzenlemememin bir parçası.
echristopherson

2

Ubuntu'dan da olsa hemen hemen aynı şeyi yapmaya çalışıyordum. Tüm sabit sürücünün bir görüntüsünü oluşturmak istemedim ve fiziksel diski VM ile kullanmak benim için iyi bir fikir gibi görünmüyordu. Sonunda çözümü buldum:

  1. (Önerilir) Windows diskiniz veya ISO'nuz yoksa bir ISO indirin. X17-59465.iso kullandım

  2. İstenirse, görüntü boyutunu küçültmek için pencere bölümünü küçültün. Bunu GParted kullanarak Linux'tan yapmayı tercih ediyorum (kullanımda olan "umovable" dosyaları önlemek için), sonra Windows'a yeniden başlat, bir chkdsk yapmasına izin ver ve Linux'a yeniden başlat.

  3. Takılıysa, görüntüleme sırasında değişmediğinden emin olmak için windows bölümünü çıkarın

    sudo umount /windows
    
  4. MBR paketini yükleyin. Ubuntu'da:

    sudo apt-get -y install mbr 
    
  5. MBR'nin bir görüntüsünü oluşturun (cihazı gerektiği gibi değiştirin)

    sudo dd if=/dev/sda of=mbr.img bs=512 count=1
    
  6. GRUB'dan kurtulmak için görüntüye yeni bir MBR yükleyin

    sudo install-mbr mbr.img
    
  7. Mevcut bölüm düzenini yansıtacak ham bir VMDK görüntüsü oluşturun (cihazı ve bölümü gerektiği gibi değiştirin)

    sudo vboxmanage internalcommands createrawvmdk -filename windows.vmdk -rawdisk /dev/sda -partitions 2 -mbr mbr.img
    
  8. Önceki adımda seçilen bölümlerden verileri kopyalayacak bir VDI görüntüsü oluşturun

    sudo vboxmanage clonehd windows.vmdk windows.vdi --format VDI
    
  9. Yeni görüntü dosyasının sahipliğini değiştirme

    sudo chown $USER. windows.vdi
    
  10. Temizlemek

    sudo rm mbr.img windows.vmdk windows-pt.vmdk
    
  11. (İsteğe bağlı) Yeni disk görüntüsünü sıkıştır

    vboxmanage modifyhd windows.vdi --compact
    
  12. Sabit disk için oluşturduğunuz görüntüyü kullanarak yeni bir Windows 7 VM oluşturun

  13. VM'yi önyüklemeyi deneyebilirsiniz, ancak başarısız olabilir. Varsa, VM'yi Windows diskine / ISO'ya önyükleyin → Bilgisayarınızı onarın ve seçenek belirtilirse Onar ve yeniden başlat'ı tıklatın.

Kaynaklar:


Korkarým 8. yapmaný beklediđini yapmaz. clonehd, ham diske işaret eden vdi oluşturur. Yani "işaretçi" gerçek verileri klonlar. Disk bölümleme için bir zorunluluk gibi görünüyor.
mlt

Birisi bunu düşünebilir, ama gerçek verilerin bir klonunu yaptı. Adım 7 (yalnızca ham diske işaret eden) ~ 1 KB'lik bir görüntü oluşturdu, ancak Adım 8'de oluşturulan görüntünün boyutu, bu durumda 40 GB olan tüm bölümlerin boyutuydu. Bunun bir kopya olduğunu da biliyorum, çünkü Windows bölümüme önyükleme yaptığımda, değişiklik yaptığım VM'ye dayanarak oluşturduğum VM'den farklı. -rw------- 1 root root 40G Feb 4 09:28 windows.vdi -rw------- 1 root root 722 Feb 4 09:11 windows.vmdk
bmaupin

0

Windows 10 ile bir sabit diskim vardı ve bir VirtualBox makinesine koydum. Bunu başarmak için şu adımları izledim:

  • Windows 10 için bir VirtualBox makinesi oluşturun.
  • Önemli : Sabit diski oluştururken VHD türünü seçin.
  • Windows bölüm yöneticisi ile bir VHD'yi sürücü gibi monte etmek mümkündür. Takın.
  • AOMEI Bölüm Yardımcısı Standardını indirin ( http://www.disk-partition.com/ )
  • Windows 10 ile sabit diskten yeni takılan VHD'ye bir sabit disk kopyası yapmak için AOEMI kullanın.

Hepsi bu, yeni VirtualBox makinenizi başlatın.

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.