Kibontása adatok virtuális lemezek VirtualBox #!

Egyszer, késő este nagy szükség van, hogy ki a leállított Virtualbox virtuális gép található munkám számítógép, amit találtam egyet. Távoli indítsa el a virtuális gépet, és a jobban kapcsolódik ez nem működött, ezért úgy döntöttem, hogy próbálja meg a kívánt részt a VDI és csatlakoztassuk. A helyzetet némileg bonyolítja az a tény, hogy a virtuális merevlemez, bár tartalmazott egyetlen root partíció, de már bővül dinamikusan, ami azt jelenti, hogy a fájlrendszer blokkok vannak elrendezve időrendi sorrendben, és nem az egyik, hogy megvárja a fájlrendszer driver.

Szerencsére, akkor könnyen konvertálni VDI egy dinamikus és statikus formátum segítségével egy többcélú segédprogram VBoxManage, ami a csomag részét képezi virtualbox:

Most temp.vdi fájlt, amelyen belül valahol van egy kép a kívánt fájlrendszer; annak megfelelő kitermelési kell számítani az elmozdulás a kép képest a fájlt. A fél talált kérésre «szerelhető VDI linux» cikkek e célra ajánlott segédprogram vditool szánt ténylegesen tesztelni a funkcionalitás a belső virtuális lemezek VirtualBox. Korábban bináris vditool külön-külön is letölthető virtualbox.org oldalon, de most ez van nyilvánvaló okokból nem (bárki magunk fordíthatjuk: vditool.cpp)

Mi, mint mindig, menj a másik irányba, és használja az eszközöket a kezét. Az első 512 bájt a VDI-fájl - a fejléc, amely lehet válogatni végre, például, hogy kézi vagy közvetlenül leírás VDI fejléc szerkezete VirtualBox. Ezekből a forrásokból, ebből következik, hogy a kép jelölése a következő:
512 bájt: Fejes
4 * N + X: térkép megabájt blokkok itt N - száma megabájt egy virtuális merevlemez, és X - összehangolás kapott számot a legközelebbi felső 512-os határon
512 + 4 * N + szintező: ofszet adatot

Ismerve a pontos mérete a virtuális lemez, akkor könnyen kiszámítható az eltolás kézzel:

(UUID kívánt lemez megtalálható vboxmanage lista hhds parancs kimenet). Ott kiegyenlített a blokk térkép 512 érték megegyezik a mérete 16384, és egy adat ofszet - 16896.
És lehetséges, hogy húzza ki, és váltás közvetlenül a VDI fejlécet. Például itt van a kezdete a chetyrohgigovogo virtuális lemez:

Bold szükséges offsetData négy bájt offset 0 × 0158. Kereshet vizuálisan, szem előtt tartva a little-endian-sorrendben byte (ebben az esetben a kívánt érték 0 × 00004200), és tudja használni az egyszerű parancsokat:

Mindenesetre, még egyszer ellenőrizd magad sosem árt.

Lássuk, mi van, hogy ellensúlyozza. Azonnal azt feltételezhetjük, hogy van az elején a merevlemezkép, ebből következik, hogy az első 512 bájt tartalmazza a mbr. Ellenőrzés:

Merevlemez-meghajtó 2. szakasz tartalmaz fő megabájt méretű 3859 kezdődő 63. ágazatban (szektor 1-512 bájt) és 235 megabájt fejlett mellett kivonják Debian telepítő csere (ez egy meglepetés virtualke). Törléséhez lelkiismeretem ellenőrizze a címet az első rész:

Ez az! Bal mount. Néhány évvel ezelőtt lett volna egy újabb 7903917 kivonat minden ágazatban egyetlen fájlban, és csatolja, de most egyszerűen adja meg az eltolás elejétől a fájl csatolási lehetőség (a többi a kiterjesztett partíció, és a swap belül figyelmen kívül lesz hagyva):

A probléma megoldódott, minden ingyenes.

Kapcsolódó cikkek