Montage de l'image disque au format Raw


11

Lors de la tentative de montage d'une image disque au format Raw (dd) à l'aide de 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, -tnous pouvons spécifier le système de fichiers, mais quelle est la terminologie pour un fichier RAW (dd), qui peut être passé comme argument à la commande de montage. Si ma méthode pour monter ce système de fichiers est erronée, 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 

Pouvez-vous ajouter la sortie de la commande file -s nps-2010-emails.ddà votre message s'il vous plaît?
steeldriver

J'ai jeté un œil à votre profil et j'ai vu l'autre question. Peut - être que ce billet de blog pourrait être utile.
muru

@steeldriver Sortie ajoutée ...
spaceman_spiff

Options de montage plus faciles - disponibles / décrites ici: askubuntu.com/questions/69363/…
Hannu

Réponses:


16

Sur http://major.io/2010/12/14/mounting-a-raw-partition-file-made-with-dd-or-dd_rescue-in-linux/ , il est suggéré d'utiliser un décalage. Obtenez d'abord le décalage via fdisk(8)puis spécifiez-le avec l' offsetoption to mount. Utilisez fdiskpour déterminer le secteur de départ de la partition et la taille du secteur. Calculez ensuite le décalage en octets à l'aide du numéro de secteur de départ et de la taille du secteur en octets. Voir Monter une partition unique à 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/

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

De la sortie de fdisklà, 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 je l'ai fdiskdonné en FAT32. Pour le monter également en écriture, utilisez -o offset=512,rwplutôt.


J'ai lu l'article dans le premier lien que vous avez publié, mais je ne comprenais pas grand-chose sur l' offset , le numéro de secteur et d'autres concepts, si possible, veuillez développer ce sujet ou publier des références pour l'étudier. Thanx
spaceman_spiff

Post mis à jour pour inclure la sortie de fdisk -l nps-2010-emails.dd.
spaceman_spiff

merci, mes antécédents ont été en informatique théorique (je suis un majeur en mathématiques), y a-t-il une référence pour comprendre ce sujet sur une note générale?
spaceman_spiff

«Ce» sujet étant les disques, les secteurs, les systèmes de fichiers et tout ça? Peut-être pourriez-vous commencer par le chapitre IO / Stockage d'un manuel de systèmes d'exploitation, comme celui de Tannenbaum. Outre ces bases et le type de montage FAT32, tout ce que j'ai publié sur la réponse provient de tholinks.
muru

10

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

Donc, disons que vous avez vidé votre totalité /dev/sdadans quelque chose appelé sda.img. Vous pouvez accéder à ses partitions comme suit:

losetup -f -P sda.img

Sur mon système, il apparaît alors comme suit:

image brute sda

Dans les environnements non GUI, vous pouvez lister le périphérique créé avec losetup -l, qui vous indiquera le nom du périphérique de 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.


A parfaitement fonctionné pour moi.
praveen pathak

2
Dans la même veine, sur Ubuntu 18.04, je n'ai eu aucun problème à faire "gparted backup.img" et à obtenir une liste de partitions. "fdisk -l backup.img" affiche également des informations utiles.
RoundSparrow hilltx

1
Comment annuler la losetupcommande?
Flimm

1

Impossible d'ajouter un commentaire en raison du manque de réputation, mais souhaitez dire à ceux d'entre vous qui ont un disque GPT lors du test avec fdisk, utilisez plutôt gdsik pour obtenir le secteur de démarrage et compter le décalage approprié. Ç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 un décalage de 512 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
Ou utilisez parted.
muru
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.