Vraag Mount een VirtualBox-schijfkopie (vdi)?


Is het mogelijk om een ​​VirtualBox-stationafbeelding (.vdi) te koppelen zodat de inhoud kan worden bekeken in Nautilus enz.?

Ik heb een Windows 2000.vdi die niet zal opstarten ("ontoegankelijk opstartapparaat") na het upgraden van VirtualBox 2.x naar 3.1.6. Ik denk dat de IDE-schijfgegevens zijn gewijzigd en dat ik alleen toegang hoef te hebben tot de afbeelding van de interne schijf en de Windows te bewerken boot.ini om naar de nieuwe locatie te wijzen.


76
2017-12-30 14:44


oorsprong


Als uw .vdi- en dan .img-bestand meer dan 1 partitie bevat, is dit erg handig: blader-img-zonder-montage - user2689749


antwoorden:


U kunt de standaardafbeelding converteren en vervolgens koppelen.

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

Dan

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

U moet het type bestandssysteem KENNEN, ext3 in dit geval. Nadat het is gemount, ga je naar binnen en bewerk het met de editor van je keuze. Verwar bestanden niet binnen de /mnt locatie met de draaiende host, of het zal slecht zijn.

Voer het volgende uit om details over uw VDI-bestand te controleren: VBoxManage showhdinfo ubuntu.vdi.

Bron: [SOLVED] Open .vdi met archiefbeheerder? - ubuntuforums.org


48
2017-12-30 14:47



Specilly nuttig in een situatie als deze. OP zal kunnen werken aan de kopie die het origineel als back-up houdt. - Javier Rivera
Doe dit voorzichtig met dvd-bestanden met een dynamische grootte. Door te converteren naar .img wordt het afbeeldingsbestand zo groot als de logische grootte van de schijf. Daarom werkt deze aanpak, maar deze kan veel groter zijn dan het .vdi-bestand. Bekijk de uitvoer van VBoxManage showhdinfo [your vdi file] als je het niet zeker weet. - Jack O'Connor
-1, stwissel en Maxime R.antwoorden bieden oplossingen - dit is een goede oplossing, maar niet het beste antwoord op de vraag - STW
Als de afbeelding een partitietabel heeft (zoals de meeste stations), moet u dit antwoord combineren met deze om de individuele partities te koppelen. - bain
Werkt niet. Blijf montagefouten foutief type fs. Ik probeerde ext3 en ext2 en ext4. Virtuele box zegt dat het hd fs type ext4 is. - Joshua Robison


Gebruik qemu-nbd, het proces wordt uitgelegd op serverfault en in deze blog.

Kortom, je zult moeten installeren qemu indien nodig:

sudo apt-get install qemu

Dan moet je de netwerkblokapparaat module:

sudo rmmod nbd
sudo modprobe nbd max_part=16

Koppel de .vdi-afbeelding aan een van de nbd die u zojuist hebt gemaakt:

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

Nu krijg je een / dev / nbd0 block device, samen met meerdere / dev / nbd0p * partitie apparaatknooppunten.

sudo mount /dev/nbd0p1 /mnt

Als je klaar bent, ontkoppel je alles en ontkoppel je het apparaat:

sudo qemu-nbd -d /dev/nbd0

75
2018-06-24 01:48



Ik zou dat graag opmerken max_part=16 lijkt een cruciaal onderdeel te zijn. Zonder het zul je er geen zien /dev/nbd0pX bestanden, ondanks dat het hoofdapparaat correct werkt. Controleer de volgende discussie op Gentoo-forums om te zien dat mensen deze problemen hebben ontmoet. - firegurafiku
Alle antwoorden werken tot op zekere hoogte, maar dit is mijn favoriet en zou de geaccepteerde moeten zijn. clonehd doet het werk maar verdubbelt de opslagvereisten. virtualbox-fuse is ideaal, maar hoewel je het nog steeds kunt krijgen, is het niet in repos in de moderne releases van OS. - Hatoru Hansou
Geweldig! Dit is absoluut de beste methode om een ​​.vdi-bestand te gebruiken! Ik kreeg domme fouten die de VDI klonen of van grootte veranderen, maar deze methode omzeilt alle problemen :) VBoxManage: error: Could not create the clone medium '/mnt/temp6/xubuntu-14.04-64bit.img'. VBoxManage: error: Raw: disk would overflow creating image '/mnt/temp6/xubuntu-14.04-64bit.img' (VERR_DISK_FULL)   VBOX_E_NOT_SUPPORTED VBoxManage: error: Resize hard disk operation for this format is not implemented yet! - Avio
Dit werkte prima. Merk op dat installeren qemu-kvm in plaats van qemu kan net zo goed werken. Het deed voor mij op mijn Ububtu 16.04, en installeerde alleen 23MB en 13 afhankelijkheden in plaats van 230MB en veel meer afhankelijkheden voor de volledige qemu-installatie. - mivk
Ik zou dat graag toevoegen sudo partprobe moet worden uitgevoerd met nieuwere kernels, zodat /dev/nbd0p* zijn gemaakt in Debian / Ubuntu (bugs.debian.org/cgi-bin/bugreport.cgi?bug=824553). - Kai


Het lijkt op vdfuse is de tool die u zoekt. Het bevindt zich in de Ubuntu-repositories. Als je jezelf wilt compileren (2010 bron) dan kan dat doe dat ook.

Maar voor de meesten van ons komt het neer op een simpel:

sudo apt-get install virtualbox-fuse

Het lijkt erop dat het nu ook dynamische vdi ondersteunt.

En om de .vdi bestand in /mnt gebruik de opdracht:

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

De hele schijf wordt gemount met partities Partition1 , Partition2 naamgeving. Vervolgens kunnen die bestanden in een lus worden gemount. Bijvoorbeeld,

sudo mount -o loop /mnt/Parition1 /mountpoint

35
2018-05-07 06:02



@mattwilkie: Het verschil nu: geen handmatige compilatie meer nodig - stwissel
Alstublieft. Zittend aan een propper scherm / toetsenbord in plaats van pikken op glas maakte het verschil :-) - stwissel
Het is niet beschikbaar in 14.04. - int_ua
Men kan het hier downloaden: sourceforge.net/projects/vdfuse/?source=typ_redirect en het werkt (op 15.04) - sup
Niet meer geldig voor 16.10, pakket bestaat niet meer. - Piskvor


Stel de schijf in als secundaire master voor een ander virtueel OS, start dan op in dit (virtuele) OS en u kunt het koppelen.

Stap 1: Ervan uitgaande dat je een virtuele os hebt (zeg Ubuntu 16.04) die al in Virtual box is geïnstalleerd, voeg je een nieuwe opslag toe vanaf de instellingen van dat virtuele os. enter image description here

Stap 2: Blader door het Vdi-bestand dat u wilt openen en selecteer het.

Stap 3: Meld u aan bij het virtuele besturingssysteem.

Stap 4: De virtuele schijf is waarschijnlijk beschikbaar in het besturingssysteem. Als dat niet het geval is, volgt u stap 5

Stap 5: Gebruik binnen het virtuele besturingssysteem Gparted en controleer de schijven. en zorgen dat de schijf van het type is dat toegankelijk is voor het virtuele besturingssysteem. Als dat niet het geval is, moet u misschien de schijf bewerken, maar dan verliest u de bestaande inhoud.


14
2017-12-30 15:13



Voor de goede orde, in 2016 zal het niet werken - Paulo Pedroso
Het werkt in ubuntu 16.04. - Sharun
dit is echt de enige oplossing wanneer je wijzigingen moet aanbrengen en dan teruggaat naar het gebruik ervan, rw niet kon werken met vdfuse - DuBistKomisch


Ik heb mezelf niet getest, maar er lijkt een zekeringmodule te zijn om ze te monteren (vfduse), kijk op de volgende pagina:

Houd er rekening mee dat het gebruik ervan voor schrijftoegang riskant is.


Gebruik:

$ ./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

Om een ​​afbeelding rechtstreeks te koppelen met behulp van de bestandsnaam:

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

Een apparaatschijf (inclusief snapshots) koppelen:

$ ./vdautomount-<version> -p /path/to/vdfuse WinXP /mnt/vdi
$ mount -o loop /mnt/vdi/Partition1 /mnt/WindowsXP

6
2017-12-30 15:08



Niet langer relevant omdat dit hulpprogramma niet wordt ondersteund. - Evan Carroll


Niet wat je hebt gevraagd, maar als het gewoon een kwestie van is bestanden ophalen van de vdi, en jij wilt een zeer snelle oplossing:

  1. Voer een ssh-server uit op uw host (apt-get install openssh-server && service ssh restart)
  2. Gebruik VirtualBox om een ​​virtuele machine te bouwen vanuit het bestaande vdi-bestand en vervolgens die virtuele machine op te starten. (Ik heb net de standaard netwerkadapter (NAT) bewaard toen ik de VM bouwde.)
  3. Binnen de virtuele machine, sftp naar je host. (sftp hostuser@hostip)
  4. In de sftp-sessie put zoveel bestanden naar de host als je nodig hebt.

3
2018-02-20 17:23



Een lelijke hack, maar als je je in een krappe situatie bevindt, wordt het werk gedaan. - Piskvor
Een probleem kan zijn dat het apparaat momenteel niet correct opstart, dus u moet dat probleem eerst oplossen en dat betekent dat u het niet van binnenuit kunt doen. Het gebruik van SSH met uw virtualbox-besturingssystemen is ook de manier om bestanden te kopiëren. Veel sneller dan een schijf proberen te delen. - Alexis Wilke


Zoals Vojtech Trefny hierboven vermeldde,

1) converteer eerst uw VDI -> IMG

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

2) Monteer vervolgens de IMG

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

3) Echter, toen ik deze foutmelding kreeg:

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

en dmesg zei:

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

je moet de partitiestructuur van de .img eens bekijken:

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) Zoals je kunt zien begint de hoofdpartitie bij bytes 16775168. Merk echter op dat de sectorgrootte 512 bytes is, dus je moet de resultaten 16775168 x 512 = 8588886016 vermenigvuldigen, dus je moet de mount als volgt verschuiven:

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

5) Eigenlijk werkte dit niet voor mij in het geval dat het bestandssysteem na het wijzigen van de grootte vuil was. In dit geval deed ik dit verder:

dd if=ubuntu.img of=ubuntu.disk bs=512 skip=16775168 count=12092416
e2fsck ubuntu.disk
mount ubuntu.disk /mnt

-1
2018-06-18 12:51



Dit is geen antwoord op de vraag. Je had een ander probleem - een corrupte afbeelding. Je had zelf een nieuwe vraag moeten beantwoorden. - Evan Carroll