Sfoglia .img senza montaggio


13

Esiste un modo per sfogliare un file .img senza montarlo? Ho un file .img che ho generato da un'istantanea della partizione clonezilla. In qualche modo ho problemi a montare il file con il comando mount -o loop sda5.img /mnt/.

dmesg | tail mi mostra il seguente errore:

[1325.395286] EXT4-fs (loop0): geometria errata: numero di blocchi 11221248 supera la dimensione del dispositivo (blocchi 11218432)

Qualcuno ha idea di come navigare senza montaggio o cosa potrebbe causare questo errore?



Risposte:


18

Se questa è l'immagine di un intero disco rigido o come nel tuo caso questa potrebbe essere l'immagine di una partizione estesa, dovrai conoscere il layout della partizione e gli offset di ogni partizione nel file per poterli montare.

Per fare ciò avrai bisogno dello partedstrumento, puoi installarlo con il seguente comando:

apt-get install parted

Dopo l'installazione parted, avviarlo con il percorso del file immagine. partedVerrà visualizzato un prompt:

$ parted /path/to/image/file/sda5.img
GNU Parted 2.3
.....
(parted)

In questo prompt (con prefisso (parted)) digitare i seguenti comandi:

(parted) unit B
(parted) print
.....
Number  Start          End            Size           Type     File system  Flags
 1      1048576B       1573912575B    1572864000B    primary  ntfs         boot
 2      1573912576B    156774694911B  155200782336B  primary  ntfs
 3      156774694912B  171454758911B  14680064000B   primary  ntfs
 4      171454758912B  180044693503B  8589934592B    primary

(parted) q

La tabella nell'output indicherà gli offset di ogni partizione nel file e il tipo di filesystem in ciascuna partizione. Ad esempio, per montare la prima partizione nell'output esemplare sopra riportato, è necessario immettere il comando seguente:

sudo mount -o loop,ro,offset=1048576 /path/to/image/file/sda5.img /mnt/partition

Assicurati che /mnt/partitionesista prima.


1
Ok, penso che il problema potrebbe essere che ottengo un errore, quando eseguo il comando print, perché dice una tabella partiton sconosciuta. Indovina l'immagine è rotta?
Ahatius,

Sembra molto rotto. Ma prima prova a cercare il tuo errore su Google.
bender

1
Can't have a partition outside the disk!errore con parted come con gparted ...
Philippe Gachoud,

8

Ho avuto lo stesso problema con un'immagine ext4 generata da un'istantanea di Clonezilla.

Ciò che realmente ha funzionato per me è stato di estendere il file alle dimensioni riportate nella tabella delle partizioni, usando troncato. L'errore dmesg riportato nel mio caso era:

[15687.653868] EXT4-fs (loop0): bad geometry: block count 18482176 exceeds size
  of device (18352672 blocks)

Quindi ho regolato la lunghezza del file con:

truncate -o -s 18482176 /path/to/partition.img

(^ nota che è il primo e più grande dei due numeri nel registro)

Dopo quella montatura fu felice e potei accedere ai miei dati.


Questo ha funzionato per me, sebbene la dimensione fosse errata, immagino che le dimensioni del blocco fossero diverse, quindi ho dovuto specificare la dimensione in byte. Fai attenzione perché puoi perdere i dati se tronchi il file di immagine a una dimensione inferiore a quella originale.
golimar

1
Come conosci la taglia corretta? si prega di aggiungere i comandi qui.
Hunsu,

@Hunsu La dimensione è riportata nel messaggio di errore (dmesg).
Melebio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.