Bir VirtualBox sürücü görüntüsü (vdi) monte etmek?

76

Bir VirtualBox sürücü görüntüsü (.vdi) monte etmek mümkün mü? Bu yüzden içerikler Nautilus vb. içinde görüntülenebilir.

VirtualBox 2.x'den 3.1.6'ya yükseltildikten sonra önyükleme yapmayacak bir Windows 2000 .vdi ("erişilemeyen önyükleme aygıtı") var. IDE sürücü ayrıntılarının değiştiğine ve tek yapmam gereken şeyin dahili sürücü görüntüsüne erişmesi ve Windows boot.ini 'in yeni konuma işaret etmesidir.

    
sordu matt wilkie 30.12.2010 15:44

7 cevap

48

Standart resme dönüştürebilir ve sonra da bağlayabilirsiniz.

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

Bu durumda dosya sistemi türünü, ext3 bilgisini bilmeniz gerekecek. Monte edildikten sonra, seçtiğiniz editör ile içeri girip düzenleyin. Dosyaları /mnt konumu içinde çalışan ana bilgisayarla karıştırmayın, aksi takdirde kötü olacaktır.

VDI dosyanızla ilgili ayrıntıları kontrol etmek için şunu çalıştırın: VBoxManage showhdinfo ubuntu.vdi .

Kaynak: [SOLVED] Arşiv yöneticisiyle .vdi dosyasını açın. - ubuntuforums.org

    
verilen cevap Vojtech Trefny 30.12.2010 15:47
75

qemu-nbd kullanın, işlem serverfault ve .

Temel olarak, gerekirse qemu 'ı yüklemeniz gerekir:

sudo apt-get install qemu

Ardından ağ bloğu cihazını modülünü yüklemeniz gerekir:

sudo rmmod nbd
sudo modprobe nbd max_part=16

.vdi resmini az önce oluşturduğunuz numaradan birine ekleyin:

sudo qemu-nbd -c /dev/nbd0 drive.vdi

Artık bir / dev / nbd0 blok aygıtını ve / dev / nbd0p * bölüm aygıtı düğümleri ile birlikte alacaksınız.

sudo mount /dev/nbd0p1 /mnt

İşiniz bittiğinde, her şeyi ayırın ve cihazın bağlantısını kesin:

sudo qemu-nbd -d /dev/nbd0
    
verilen cevap Maxime R. 24.06.2011 03:48
35

Aradığınız aradığınız vdfuse gibi görünüyor. Ubuntu depolarında. Kendinizi (2010 kaynağı) derlemek isterseniz, bunu yapabilirsiniz .

Ancak çoğumuz için basit bir şekilde aşağı doğru:

sudo apt-get install virtualbox-fuse

Artık dinamik vdi'yi de destekliyor gibi görünüyor.

Ve .vdi dosyasını /mnt dizinine eklemek için şu komutu kullanın:

sudo vdfuse -a -f /path-to-vdi-file /mnt

Tüm disk bölümleri Partition1 , Partition2 adlandırma biçimi ile yüklenecek. Sonra bu dosyalar loop monte edilebilir. Örneğin,

sudo mount -o loop /mnt/Parition1 /mountpoint
    
verilen cevap stwissel 07.05.2012 08:02
14

Diski başka bir sanal işletim sistemi için ikincil master olarak ayarlayın, ardından bu (sanal) işletim sistemine önyükleme yapın ve onu monte edebilirsiniz.

1. Adım: Sanal kutuya yüklendiğinizi varsayalım (demek Ubuntu 16.04), sanal kutuya zaten yüklenmişse, o sanal os ayarlarından yeni bir depolama alanı ekleyin.

2. Adım: Erişmek istediğiniz Vdi dosyasına göz atın ve onu seçin.

3. Adım: Sanal OS'ye giriş yapın.

4. Adım: Sanal disk muhtemelen işletim sistemi içinde mevcut olacaktır. Değilse, 5. adımı takip edin

5. Adım: Sanal OS'de Gparted'ı kullanın ve diskleri kontrol edin. ve diskin, sanal işletim sistemi tarafından erişilebilen türde olduğundan emin olun. Değilse, diski düzenlemeniz gerekebilir, ancak mevcut içeriği kaybedersiniz.

    
verilen cevap josef 30.12.2010 16:13
6

Kendimi test etmedim ama onları monte etmek için bir sigorta modülü var gibi görünüyor ( vfduse ), aşağıdaki sayfayı kontrol edin:

Yazma erişimi için kullanmanın riskli olduğunu lütfen unutmayın.

Kullanım:

$ ./vdfuse-v<version> -h
USAGE: ./vdfuse [options] -f image-file mountpoint
   -h   help
   -r   readonly
   -t   specify type (VDI, VMDK, VHD, or raw; default: auto)
   -f   VDimage file
   -a   allow all users to read disk
   -w   allow all users to read and write to disk
   -g   run in foreground
   -v   verbose
   -d   debug

Bir resmi doğrudan kendi dosya adını kullanarak bağlamak için:

$ ./vdfuse-v<version> -f image.vdi /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

Bir makine diskini (anlık görüntüler dahil) monte etmek için:

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP
    
verilen cevap João Pinto 30.12.2010 16:08
3

İstediğiniz şey değil, ancak yalnızca dosyaları vdi'den kaldırma ile ilgiliyse ve çok hızlı bir çözüm istiyorsanız :

  1. Ana makinenize bir ssh sunucusu çalıştırın ( apt-get install openssh-server && service ssh restart )
  2. Mevcut vdi dosyasından bir sanal makine oluşturmak için VirtualBox'ı kullanın, ardından bu sanal makineyi önyükleyin. (VM'yi oluştururken varsayılan Ağ Bağdaştırıcısını (NAT) tuttum.)
  3. Sanal makinede, barındırıcınıza sftp. (% Co_de%)
  4. Sftp oturumunda,%, sunucuyu ihtiyaç duyduğunuz kadar dosya için% co_de olarak kaydeder.
verilen cevap JellicleCat 20.02.2015 18:23
-1

Vojtech Trefny'nin yukarıda belirttiği gibi,

1) önce VDI'nızı dönüştürün - & gt; IMG

VBoxManage clonehd --format RAW ubuntu.vdi ubuntu.img

2) Daha sonra IMG'yi takın

mount -t ext3 -o loop,rw ./ubuntu.img /mnt

3) Ancak, bu hata mesajını aldığımdan:

mount: wrong fs type, bad option, bad superblock on /dev/loop0,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

ve dmesg dedi ki:

[3105578.013671] EXT4-fs (loop0): VFS: Can't find ext3 filesystem

.img'nin bölüm yapısını kontrol etmeniz gerekiyor:

fdisk -l ubuntu.img

Disk ubuntu.img: 21.0 GB, 20971520000 bytes
255 heads, 63 sectors/track, 2549 cylinders, total 40960000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf45bc910

   Device Boot      Start         End      Blocks   Id  System
ubuntu.img1   *        2048    12582911     6290432   83  Linux
ubuntu.img2        12584958    16775167     2095105    5  Extended
ubuntu.img3        16775168    40959999    12092416   83  Linux
ubuntu.img5        12584960    16775167     2095104   82  Linux swap / Solaris

4) Gördüğünüz gibi, ana bölüm, bayt 16775168'den başlıyor. Ancak, sektör büyüklüğünün 512 bayt olduğunu unutmayın, bu yüzden sonuçları 16775168 x 512 = 8588886016 ile çarpmanız gerekir; Bu:

mount -t ext3 -o loop,rw,offset=8588886016 ./ubuntu.img /mnt

5) Aslında dosya yeniden boyutlandırıldıktan sonra dosya sisteminin kirli olması durumunda benim için çalışmadı. Bu durumda bunu daha da yaptım:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt
    
verilen cevap PHZ.fi-Pharazon 18.06.2017 14:51

Etiketlerdeki diğer soruları oku