Montaggio dell'immagine del disco in formato Raw


11

Durante il tentativo di montare un'immagine del disco nel formato Raw (dd) usando il comando seguente

mount  nps-2010-emails.dd /media/manu/

Ricevo il seguente messaggio di errore

mount: you must specify the filesystem type

So che usando -tpossiamo specificare il file system ma qual è la terminologia per un file RAW (dd), che può essere passato come argomento al comando mount. Se il mio metodo per montare questo file system è sbagliato, aiutatemi a fare lo stesso.

$ file -s nps-2010-emails.dd
nps-2010-emails.dd: x86 boot sector; 
partition 1: ID=0xb, starthead 254, startsector 1, 20479 sectors, extended partition table (last)\011, code offset 0x0

$ fdisk -l nps-2010-emails.dd
Disk nps-2010-emails.dd: 10 MB, 10485760 bytes
255 heads, 63 sectors/track, 1 cylinders, total 20480 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: 0x00000000

             Device Boot      Start         End      Blocks   Id  System
nps-2010-emails.dd1               1       20479       10239+   b  W95 FAT32 

Puoi aggiungere l'output del comando file -s nps-2010-emails.ddal tuo post, per favore?
Steeldriver,

Ho dato un'occhiata al tuo profilo e ho visto l'altra domanda. Forse questo post sul blog potrebbe essere di aiuto.
Muru,

@steeldriver Output aggiunto ...
spaceman_spiff

Opzioni più semplici per il montaggio - disponibili / descritte qui: askubuntu.com/questions/69363/…
Hannu

Risposte:


16

Da http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , c'è un suggerimento per usare un offset. Prima ottenere l'offset tramite fdisk(8)e quindi specificarlo con l' offsetopzione per mount. Utilizzare fdiskper determinare il settore iniziale della partizione e le dimensioni del settore. Quindi calcolare l'offset in byte utilizzando il numero del settore iniziale e la dimensione del settore in byte. Vedere Montare una singola partizione dall'immagine dell'intero disco (dispositivo) per un esempio. Finalmente:

mount -o offset=<offset in bytes> nps-2010-emails.dd /media/manu/

In un tipico disco rigido, le celle che contengono i dati sono raggruppate. I raggruppamenti sono chiamati settori. Nel modo in cui di solito partizioniamo le cose, i primi pochi settori vengono tenuti da parte per fornire informazioni sulle partizioni, lasciando un vuoto. Quindi, se abbiamo un'immagine di un intero disco, anche questi settori vengono inclusi. Ora, il mountcomando non può iniziare direttamente dal primo byte, poiché la partizione non inizia dal primo byte. Quindi, dovremo dirlomountquanti byte saltare (in modo che possa evitare le informazioni extra) e arrivare alla partizione effettiva. Questo si chiama offset. Ora ogni settore può memorizzare una certa quantità di informazioni in byte, che è chiamata la dimensione di un settore. Prendiamo la dimensione totale delle informazioni che possono essere archiviate in questo divario moltiplicando la dimensione di un settore, con la dimensione del divario in numero di settori.

Dall'output di fdisklì, puoi vedere la dimensione del settore è di 512 byte e inizia dal settore 1. Quindi l'offset è 1 * 512 = 512. Prova il seguente comando:

mount -t vfat -o offset=512 ps-2010-emails.dd /media/manu/

Ho aggiunto il tipo di filesystem da quando l' fdiskho dato come FAT32. Per montarlo anche per la scrittura, utilizzare -o offset=512,rwinvece.


Ho letto l'articolo nel primo link che hai pubblicato ma non ho capito molto su offset , numero di settore e altri concetti, se possibile potresti approfondire questo argomento o pubblicare alcuni riferimenti per studiare lo stesso. Grazie
spaceman_spiff

Post aggiornato per includere l'output di fdisk -l nps-2010-emails.dd.
spaceman_spiff

grazie, il mio background è stato nell'informatica teorica (io sono un insegnante di matematica), c'è qualche riferimento per capire questo argomento su una nota generale?
spaceman_spiff

Argomenti "Questo" sono dischi, settori, filesystem e tutto il resto? Forse potresti iniziare con il capitolo IO / Archiviazione di un libro di testo sui sistemi operativi, come quello di Tannenbaum. A parte queste nozioni di base e il tipo di mount FAT32, tutto ciò che ho postato sulla risposta proviene da tholink.
Muru,

10

Puoi anche fare in modo che il computer esegua automaticamente la scansione di tutte le partizioni in un dump e prepari automaticamente tutti i dispositivi ad anello, come descritto qui .

Quindi, diciamo che hai scaricato tutto /dev/sdain qualcosa chiamato sda.img. Puoi accedere alle sue partizioni come segue:

losetup -f -P sda.img

Sul mio sistema, quindi si presenta come segue:

immagine grezza sda

In ambienti non con GUI, puoi elencare il dispositivo creato con losetup -l, che ti dirà il nome del dispositivo loop, ad esempio:

# losetup -l
NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         0  0 /path/mmcblk0

È quindi possibile montare dire, la prima partizione, con:

mount /dev/loop0p1 /mnt/mypartition

Spero possa aiutare.


Ha funzionato perfettamente per me.
praveen pathak,

2
Allo stesso modo, su Ubuntu 18.04 non ho avuto problemi a fare "gparted backup.img" e ottenere un elenco di partizioni. "fdisk -l backup.img" mostra anche informazioni utili.
RoundSparrow hilltx,

1
Come si annulla il losetupcomando?
Flimm,

1

Non puoi aggiungere un commento a causa della mancanza di reputazione, ma vuoi dirlo a quelli di voi che hanno il disco GPT quando lo testano con fdisk, usate invece gdsik per iniziare il settore e contare l'offset corretto. Mi ha aiutato

fdisk -l mi ha dato:

      Device Boot      Start         End      Blocks   Id  System
vm2080737.bak1   *           1        3901    31457279+  ee  GPT

e non può essere montato con offset 512 con errore "mount: è necessario specificare il tipo di filesystem"

gdisk -l mi ha dato un buon risultato:

Number  Start (sector)    End (sector)  Size       Code  Name
   1              34             545   256.0 KiB   A501  gpboot
   2             546          993825   485.0 MiB   A502  swap
   3          993826        62914526   29.5 GiB    A503  rootfs

1
Oppure usa parted.
Muru,
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.