Kiedyś tworzyłemdd
kopię zapasową dysku o pojemności 80 GB
dd if=/dev/sdb of=~/sdb.img
Teraz muszę uzyskać dostęp do niektórych plików na tym dysku, ale nie chcę kopiować pliku „.img” z powrotem na dysk.
mount ~/sdb.img /mnt/sdb
też nie działa. Zwraca:
mount: you must specify the filesystem type
Próbowałem znaleźć typ systemu plików file -s
fox@shoebox $ file -s sdb.img
sdb.img: x86 boot sector; partition 1: ID=0x12, starthead 1, startsector 63, 10233342 sectors; partition 2: ID=0xc, active, starthead 0, startsector 10233405, 72517410 sectors; partition 3: ID=0xc, starthead 0, startsector 82750815, 73545570 sectors, code offset 0xc0
Czy można zamontować sdb.img
, czy muszę użyć, dd
aby przywrócić dysk?
file -l sdb.img
zamieszczonych w odpowiedzi na twoje pytanie: unix.stackexchange.com/questions/2668/…fdisk -l
niefile -l
.fdisk -u -l sdb.img
file
jest mniej rozmowny domyślnie spróbuj dodać-k
przełącznik, aby uzyskać rodzaj wyjścia pokazaną na odpowiedź - tak:file -k FILENAME.img
.W systemie Linux polecenia montowania w ramach zaakceptowanej odpowiedzi domyślnie utworzą urządzenie pętli. Zakładając, że pełny obraz dysku ma prawidłową tablicę partycji (którą jądro jest w stanie zrozumieć), możesz użyć
losetup(8)
bezpośrednio, aby zaoszczędzić kłopotów z obliczaniem przesunięć. Nie ma również potrzeby stosowania dodatkowych narzędzi, takichkpartx
jak sugerowane w innej odpowiedzi . Będzie to w zasadzie to samo, co następuje:losetup -Prf sdb.img
połączy pierwsze wolne urządzenie (-f
) jako readonly (-r
) z plikiem obrazusdb.img
. Ta-P
opcja zmusza jądro do skanowania tablicy partycji tego urządzenia pętli i utworzy urządzenia pętli dla każdej partycji.Możesz więc otrzymać coś takiego:
Możesz teraz zamontować każdą partycję, oczywiście tylko do odczytu, w wybranym punkcie montowania.
Trzymanie wszystkiego tylko do odczytu jest opcjonalne, ale może być dobrym rozwiązaniem dla obrazu zapasowego.
aktualizacja: w 2012 r.
-P
dodano opcję Ut-Linux-2.21. W związku z tym nie była dostępna w momencie pisania zaakceptowanej odpowiedzi. Zauważ też, że to i inne odpowiedzi są specyficzne dla systemu Linux. OpenBSD i NetBSD mają dyski vnode zarządzane przezvnconfig(8)
FreeBSD i dyski pamięci zarządzane przezmdconfig(8)
.źródło
Alternatywnie możesz użyć miłego narzędzia o nazwie
kpartx
. Ze strony podręcznika:Oznacza to, że możesz utworzyć „pseudo urządzenie” z partycjami urządzenia bezpośrednio z pliku img:
Następnie możesz zamontować
/dev/mapper/loop0p2
na przykład, jeśli chcesz drugą partycję na obrazie.źródło