Zrobiłem obraz całego dysku
dd if=/dev/sda of=/media/external_media/sda.img
Teraz problem polega na tym, że chciałbym zamontować system plików ext4, który był na tym dysku, ale
mount -t ext4 -o loop /media/external_media/sda.img /media/sda_image
oczywiście powoduje błąd superbloku, ponieważ obraz zawiera cały dysk (MBR, inne partycje), a nie tylko partycję, której potrzebuję. Myślę, że powinienem znaleźć sposób, aby obraz dysku pojawił się w /dev/
folderze ...
Czy ktoś wie jak to zrobić?
PS: Zawsze mogę utworzyć dd
kopię zapasową obrazu na oryginalnym dysku, ale byłoby to bardzo niewygodne (zaktualizowałem system operacyjny i chciałbym go zachować bez zmian)
sudo losetup -o $((56*512)) /dev/loop0 sda.img
mount -o loop,offset=$((56 * 512)) sda.img /mnt
. Źródło: madduck.net/blog/…Aktualizacja dla Ubuntu 16.04: dzięki nowemu
losetup
jest to teraz łatwiejsze:Zobacz resztę odpowiedzi dla starszych wersji Ubuntu.
Prostym rozwiązaniem jest użycie kpartx : obliczy układ partycji i odwzoruje każde z nich na urządzenia blokowe. Następnie wszystko, co musisz zrobić, to zamontować ten, który chcesz.
Otwórz terminal, zlokalizuj obraz dysku i wprowadź następujące polecenie:
To zostało utworzone
loop0p1
iloop0p2
pod/dev/mapper
. Na podstawie danych wyjściowych widać rozmiary partycji, które pomagają je zidentyfikować. Możesz zamontować ten, który chcesz:Alternatywnie, urządzenie blokujące jest wykrywane przez Nautilus i można je zamontować z paska bocznego:
Po zakończeniu odmontuj zamontowane urządzenie i usuń mapowanie urządzenia:
źródło
sudo apt-get install kpartx
- aby uzyskać dostęp do kpartx.kpartx
Ogniwem początku postu jest „pułapka” moim zdaniem. Linki sugerujące instalację oprogramowania są nie-nie.losetup -Pf
został wcześniej wspomniany przez askubuntu.com/a/496576/52975 Polecam przynajmniej link do tej odpowiedzi.losetup -Pf ..
polecenie utworzy takie urządzenia/dev/loopXpY
, które nadal trzeba zamontować. Możesz znaleźćX
od patrząc na wyniklosetup
polecenia. JestY
to numer partycji.Edycja : działa z util-linux> = 2.21 . W czasie statków pisanie Ubuntu z wersji 2.20 tylko
Od człowieka losetup :
Więc po prostu biegnij
aby utworzyć węzły urządzeń dla każdej partycji obrazu dysku na pierwszym nieużywanym urządzeniu pętli i wydrukować je na standardowe wyjście. Jeśli użyjesz
/dev/loop0
urządzenia, stworzy to przynajmniej/dev/loop0p1
, że będziesz mógł zamontować jak zwykle.źródło
losetup
? Ten, który mam w Ubuntu 14.04, ma stronę podręczną z lipca 2003 r. (Util-linux) i nie ma opcji `-P` (ani nic innego) do skanowania partycji.--partscan
Opcja została wprowadzona w util-linux 2.21gnome-disks
ma możliwość montowania obrazu dysku i jego partycji. (<- to jest do instalacji i używania bash / Terminal,Disks
w myślniku też to znajduje).losetup
), ale jest prawie trzy lata nowsza niż zaakceptowana odpowiedź - co było wtedy sposobem.Spróbuj
gnome-disk-image-mounter
:Nie
sudo
wymagane Zostanie zamontowany na/media/your_user_name/partition_name
, podobnie jak napędy USB.źródło
losetup -P
automatyzacjalosetup -P
jest najlepszą metodą zaczynającą się od Ubuntu 16.04, jak wspomniano na https://askubuntu.com/a/496576/52975 , tutaj są funkcje automatyzacji, jeśli są dalsze. Stosowanie:Źródło:
moduł pętli max_part config
To przyzwoita metoda przed 16.04.
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 w: Jak dodać parametry modułu jądra?
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
Użyj losetup, aby dołączyć cały obraz dysku.
Następnie użyj mdadm, aby utworzyć urządzenie md, a urządzenia blokowe zostaną utworzone dla wszystkich partycji.
Teraz powinieneś zobaczyć urządzenia partycji.
źródło
Moim zdaniem najprostszym sposobem jest użycie,
mount -o loop,offset=...
jak wspomniano w tej odpowiedzi na StackOverflow . Pomysł jest następujący:Ta metoda jest najlepsza, ponieważ nie wymaga usuwania urządzenia pętli po zamontowaniu zamontowanej partycji.
Aby jeszcze bardziej uprościć zadanie (które jest potrzebne, jeśli robisz to często), możesz użyć mojego skryptu,
mountimg
aby zrobić wszystko za Ciebie. Wystarczy pobrać go z https://github.com/AlexanderAmelkin/mountimg i użyć w ten sposób:Możesz również określić typ systemu plików i inne dodatkowe opcje montowania, jeśli chcesz:
Kiedy skończysz z partycją, po prostu
umount
:źródło