Partition in dd-Festplattenimage mounten
Unter Linux ist es möglich, eine einzelne Partition in einem Festplattenimage, das zum Beispiel mit dd angefertigt wurde, zu mounten. Mit mount kann man allerdings nur eine einzelne Partition mounten und nicht die gesamte Festplatte. Aam Anfang eines kompletten Festplatten-Images befindet sich jedoch der Bootsektor mit der Partitionstabelle. Es gilt also den Sektor zu ermitteln, bei dem die zu mountende Partition beginnt. Üblicherweise spricht man die Imagedatei dazu über das Loop-Device an (mit losetup) und ermittelt mit fdisk den Anfang der zu mountenden Partition. Dann kann man losetup ein weiteres Mal aufrufen und den passenden Offset übergeben. Das ist nervige Handarbeit.
Das folgende Skript (Quelle siehe unten) errechnet automatisch die Offsets und macht die Aufgabe damit erheblich einfacher:
#!/bin/bash
#———————————————————————-
# Author: haveaniceday
# Version: 1, Last updated: 12/2007
#———————————————————————-# fdisk finden
PATH=”/sbin:$PATH”
if [ $# -lt 1 ]
then
echo “usage: ${0##*/} <image>”
exit 1
fiIMAGE=$1
if [ ! -f $IMAGE ]
then
echo “Warnung, $IMAGE ist kein File”
fi# tr -d ‘*’ => bootflag entfernen
LANG=C fdisk -lu $IMAGE 2>&1 | tr -d ‘*’ | grep “$IMAGE[a-z0-9]” | while read part start end blocks id rest
do
echo
echo “$read $part $start $end $blocks $id $rest”
case $id in
5|f|85) echo “Ignoriere extended partition”
continue
;;
82) echo “Ignoriere Swap”
continue
;;
*)
;;
esaclet offset=$start*512
echo mount -o loop,ro,offset=$offset $IMAGE /mnt
done
exit 0
Partition in einem DD-Festplattenimage mounten






