[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Montare file di immagine HD



On Fri, May 06, 2005 at 08:27:50AM +0200, Andrea - wrote:
> Come faccio adesso a montare le partizioni che ci sono dentro a tale
> file immagine, nel caso che io dovessi esaminare il contenuto di
> quell'HD per fare un ripristino di qualche file che è stato cancellato
> dall'originale?

Devi trovare l'offset in byte della partizione che vuoi montare.
Quando hai l'offset, fai:
        losetup -o offset /dev/loop0 immagine.img
        mount /dev/loop0 /mount/point

Il problema è calcolare l'offset :-)

Se hai la geometria del disco, da prove empiriche che ho fatto, dovresti
fare sectors/track * 512 + (Start-1)*Units.
Per esempio, dal mio disco:

Disk /dev/hda: 82.3 GB, 82348277760 bytes
255 heads, 63 sectors/track, 10011 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1   *           1        2089    16779861    7  HPFS/NTFS
/dev/hda2            2090       10011    63633465    f  W95 Ext'd (LBA)
/dev/hda5            2090        4156    16603146   83  Linux

sectors/track è 63,
Start-1 (/dev/hda5) è 2089
Units è 8225280

Facendo
        losetup -o $(( (63*512)+2089*8225280)) /dev/loop0 /dev/hda
        mount /dev/loop0 /mnt

mi ritrovo hda5 montata in mnt.

Ma tu non hai la geometria (?), quindi dovresti poter trovare la
partizione con i magic number dei filesystem ...
Per ext2 non è così difficile: il magic number, come da
include/linux/ext2_fs.h EXT2_SUPER_MAGIC è 0xEF53, ma su disco mi viene
scritto come 53 EF (intel?).
Lancia hexedit immagine.img e cerca l'esadecimale 53EF. Se l'indirizzo a
cui te lo ti trova è paddato a 0x38 ed intorno ci sono pochi dati,
allora quasi sicuramente quello è il magic number. Sottrai 0x438 da
quell'indirizzo ed avrai l'offset necessario.

Saluti



Reply to: