Mam obraz całego dysku utworzonego za pomocą dd . Struktura dysku jest następująca:
kent@cow:~$ sudo fdisk -l
Disk /dev/sda: 750.1 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000b8508
Device Boot Start End Blocks Id System
/dev/sda1 * 5 90872 729929303+ 83 Linux
/dev/sda2 90873 91201 2642692+ 5 Extended
/dev/sda5 90873 91201 2642661 82 Linux swap / Solaris
Obraz został utworzony przy użyciu:
dd if=/dev/sda of=image750.img
Jak miałbym, jeśli to możliwe, zamontować / dev / sda1 z obrazu, aby móc odczytać zawartość?
To nie jest opcja ponownego klonowania dysku twardego, wiem, jak to zrobić, jeśli sklonowałem tylko pojedynczą partycję. Mam nadzieję, że nadal jest to możliwe przy obecnym obrazie.
linux
mount
disk-image
Usunięte
źródło
źródło
Odpowiedzi:
Obecnie istnieje lepszy sposób, nie trzeba już używać przesunięć ani kpartx:
aby zwolnić pętlę 0, użyj po umount:
źródło
kpartx
pierwszym użyciu, który montuje partycje jak/dev/mapper/loop3p1
, chcę tylko wskazać, żelosetup
tworzy takie urządzenia/dev/loop0p1
. Odpowiedź wskazuje na to, ale przeczytałem ją prawdopodobnie 10 razy. : /Zetknąłem się dzisiaj z tym problemem i chciałem zaktualizować odpowiedzi jako przypomnienie dla siebie. Zamiast samodzielnie obliczać przesunięcie, możesz użyć narzędzia, które zapewnia montowalne urządzenia z obrazu dd: kpartx
http://robert.penz.name/73/kpartx-a-tool-for-mounting-partitions-within-an-image-file/
http://linux.die.net/man/8/kpartx
W danym przypadku potrzebowałoby czegoś takiego
gdzie pętla1p1 oznacza pierwszą partycję, pętla1p2 dla drugiej itd.
źródło
Masz pierwszą część: fdisk -l, aby znaleźć przesunięcie początkowe. Weź tę liczbę, pomnóż przez 512, a dostaniesz opcję przesunięcia do zamontowania. Tak więc, dla twojego sda1, 5 * 512 = 2560. Następnie uruchom mount:
źródło
Loopmounting to tylko część odpowiedzi.
Zajrzyj na http://wiki.edseek.com/guide:mount_loopback#accessing_specific_partitions_in_the_image, aby uzyskać pomoc na temat określania partycji. Myślę, że pętla mount -o, offset = 32256 /path/to/image750.img / mnt będzie dla ciebie działać. ale naprawdę powinieneś przeczytać wspomniany samouczek.
źródło
losetup -P
automatyzacjaMetoda wspomniana przez https://superuser.com/a/684707/128124 (dodana w util-linux v2.21, dodana Ubuntu 16.04), tutaj są funkcje do jej dalszej automatyzacji. Stosowanie:
Źródło:
moduł pętli konfiguracja max_part
Przyzwoita metoda przed util-linux v2.21.
loop
jest modułem jądra wbudowanym w jądro w Ubuntu 14.04.Jeśli odpowiednio skonfigurujesz, Linux automatycznie podzieli urządzenia.
mówi, ile partycji
loop
mogą wygenerować urządzenia.Jest to
0
domyślnie na Ubuntu 14.04, dlatego nie następuje automatyczne dzielenie.Aby to zmienić, możemy dodać:
do pliku w
/etc/modprobe
lub:do
/etc/default/grub
i wtedysudo update-grub
.Jak ustawić parametr modułu jest również omówiony na stronie : https://askubuntu.com/questions/51226/how-to-add-kernel-module-parameters
Po ponownym uruchomieniu komputera:
montuje obraz na
/dev/loopX
urządzeniu i automatycznie montuje partycje na/dev/loopXpY
urządzeniach.Jest to więc najwygodniejsza metoda, jeśli chcesz zrestartować komputer.
Zobacz też
źródło
Jeśli masz system plików w trybie użytkownika, taki jak bezpiecznik, to w środowiskach stacjonarnych lubi Gnome i zainstalowałeś narzędzie takie jak gnome-disk-image-mounter, to bez rootowania, klikając prawym przyciskiem myszy i otwierając go.
źródło
Wierzę, że loopmounting jest odpowiedzią -
Powyższe powinno zamontować go w tym katalogu.
Powinno to odmontować:
źródło