Jak sklonować pamięć USB, w tym partycje?

12

Mam kilka dysków flash USB, a jeden z nich ma instalację Ubuntu z kilkoma partycjami. Chcę, aby pozostałe dyski USB były dokładnie takie same jak ten (do udostępniania rodzinie i znajomym), wszystko do partycji i formatowania powinny być identyczne. Ten dysk flash będzie w zasadzie dyskiem narzędziowym, który każdy może chcieć, więc mogę wykonać wiele kopii.

Mam też znacznie mniejszy dysk flash USB (4 GB), który jest dyskiem rozruchowym systemu Ubuntu. Mam 3 porty USB, więc chciałbym uruchomić z małym, podłączyć 2 większe dyski USB i zrobić kompletny klon dysku narzędziowego - zastępując wszystko, co może być na istniejącym dysku. Można założyć, że kopiowany będzie co najmniej tak duży i najprawdopodobniej pusty (lub wypełniony śmieciami do usunięcia).

Czy to możliwe przy użyciu darmowego oprogramowania na Ubuntu?

współczynnik kodu
źródło
Pierwsza część to idealne zadanie dla dd, które jest podstawowym narzędziem w Linuksie. Jeśli niektórzy nie odpowiedzą zbyt długo, dam ci szczegóły w odpowiedzi, gdy będę przy komputerze. Druga część jest nieco trudniejsza, ale wykonalna.
acejavelin

Odpowiedzi:

15

Tak, to bardzo proste. Oczywiście dyski docelowe muszą być co najmniej tak duże, jak dysk źródłowy.

Następnie, mając zarówno dysk źródłowy i docelowy połączone stosowanie coś fdisk -l, lsblklub cokolwiek zidentyfikować nazwy urządzeń (jak /dev/sdb) dla każdego. Upewnij się, że zamówienie jest prawidłowe!

Aby sklonować bezpośrednio z dysku na dysk, użyj tego polecenia:

dd if=/dev/source of=/dev/target bs=1M

Alternatywnie, jeśli masz wystarczająco dużo miejsca na dysku wewnętrznym, możesz najpierw utworzyć obraz, co ułatwi tworzenie wielu kopii:

dd if=/dev/source of=/home/me/image.img bs=1M

Następnie użyj obrazu, aby utworzyć klony:

dd if=/home/me/image.img of=/dev/target bs=1M

W ten sposób można udostępnić wiele dysków jednocześnie, pod warunkiem, że jeden dysk docelowy nie nasyca już przepustowości USB.

Jeśli dysk docelowy jest większy, możesz później powiększyć ostatnią partycję, używając partedinnego odpowiedniego narzędzia. Pamiętaj, że nie możesz zmienić rozmiaru partycji między innymi partycjami, jeśli skopiujesz całą strukturę.

Daniel B.
źródło
Możesz dodać do polecenia status = progress, aby zobaczyć postęp podczas kopiowania dd.
user1757247
status=progressniestety nie jest dostępny we wszystkich (większości, nawet) wersjach dd.
Daniel B
3

Możesz użyć dd https://en.wikipedia.org/wiki/Dd_(Unix)

Przykład:dd if=/dev/sdc of=/dev/sdd bs=1M

ifjest urządzeniem źródłowym. Użyj nazwy urządzenia, a nie partycji (liczba na końcu to partycja, na przykład / dev / sdc1).

of jest urządzeniem docelowym.

Bądź bardzo ostrożny z tym poleceniem. Całkowicie wyczyści urządzenie docelowe.

Paulo Gonçalves
źródło