web-dev-qa-db-fra.com

Montage de l'image du disque au format brut

Tout en essayant de monter une image disque au format Raw (dd) en utilisant la commande suivante

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

Je reçois le message d'erreur suivant

mount: you must specify the filesystem type

Je sais qu'en utilisant -t, nous pouvons spécifier le système de fichiers, mais quelle est la terminologie utilisée pour un fichier RAW (dd), qui peut être passé en tant qu'argument à la commande mount. Si ma méthode de montage de ce système de fichiers est incorrecte, aidez-moi à faire de même.

$ 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 
10
spaceman_spiff

De http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , il y a une suggestion. utiliser un offset. Commencez par obtenir le décalage via fdisk(8), puis spécifiez-le avec l’option offset à mount. Utilisez fdisk pour déterminer le secteur de départ de la partition et la taille du secteur. Puis calculez le décalage en octets en utilisant le numéro de secteur de départ et la taille de secteur en octets. Voir Monter une seule partition à partir de l'image du disque entier (périphérique) pour un exemple. Finalement:

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

Sur un disque dur typique, les cellules contenant les données sont regroupées. Les groupements sont appelés secteurs. Comme nous partitionnons habituellement les choses, les premiers secteurs sont gardés de côté pour donner des informations sur les partitions, ce qui laisse un vide. Donc, si nous avons l'image d'un disque entier, ces secteurs sont également inclus. Désormais, la commande mount ne peut pas démarrer directement au premier octet, car la partition ne démarre pas au premier octet. Nous devrons donc indiquer à mount le nombre d'octets à ignorer (pour éviter les informations supplémentaires) et accéder à la partition réelle. C'est ce qu'on appelle l'offset. Désormais, chaque secteur peut stocker une certaine quantité d’informations en octets, appelée la taille d’un secteur. Nous prenons la taille totale des informations pouvant être stockées dans cet espace en multipliant la taille d'un secteur par la taille de l'espace en nombre de secteurs.

Dans la sortie de fdisk, vous pouvez voir que la taille du secteur est de 512 octets et qu'elle commence au secteur 1. Le décalage est donc de 1 * 512 = 512. Essayez la commande suivante:

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

J'ai ajouté le type de système de fichiers depuis que fdisk l'a donné en tant que FAT32. Pour le monter en écriture, utilisez également -o offset=512,rw.

16
muru

Vous pouvez également demander à l'ordinateur d'analyser automatiquement toutes les partitions d'un dump et de préparer automatiquement tous les périphériques en boucle, comme décrit ici .

Donc, disons que vous avez vidé tout votre /dev/sda dans un nom appelé sda.img. Vous pouvez accéder à ses partitions comme suit:

losetup -f -P sda.img

Sur mon système, il se présente comme suit:

sda raw image

Dans les environnements non graphiques, vous pouvez répertorier le périphérique créé avec losetup -l, qui vous indiquera le nom du périphérique en boucle, par exemple:

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

Vous pouvez ensuite monter disons, la première partition, avec:

mount /dev/loop0p1 /mnt/mypartition

J'espère que cela pourra aider.

9
aggregate1166877

Impossible d'ajouter un commentaire en raison d'un manque de réputation, mais tenez à dire à ceux d'entre vous qui possèdent un disque GPT lors de son test avec fdisk, utilisez plutôt gdsik pour obtenir le secteur de démarrage et compter le décalage adéquat. Ça m'a aidé.

fdisk -l m'a donné:

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

et il ne pouvait pas être monté avec 512 offset avec une erreur 'mount: vous devez spécifier le type de système de fichiers'

gdisk -l m'a donné un bon résultat:

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
Drey