Klonowanie systemu Linux zainstalowanego na dysku USB na innym urządzeniu USB tej samej marki / typu

3

Mam w pełni skonfigurowany system Linux zainstalowany na dysku USB 16 GB. Mam dysk USB tej samej marki / typu 10 razy i dokładnie tę samą płytę główną 10 razy.

Teraz chcę skopiować dysk USB na inne, aby 10 systemów mogło korzystać z tego samego obrazu.

Stworzyłem obraz dysku USB za pomocą WinDiskImager32, a następnie próbowałem zapisać go z powrotem na oryginalnym dysku USB. To działało, ponieważ jest to ten sam dysk, ale gdy tylko spróbowałem zapisać go na innych dyskach USB, nie udało się, ponieważ obraz był zbyt duży dla tych dysków. Mimo że wszystkie mają 16 GB, w rzeczywistości zawsze istnieją niewielkie różnice.

Oczywiście nie jest to właściwy sposób, więc zastanawiam się, jak poprawnie „sklonować” mój oryginalny USB, aby móc go zainstalować na innych urządzeniach?

(Uwaga: system jest skonfigurowany do radzenia sobie z faktem, że jest zainstalowany na nowym komputerze, więc nie jest to problemem, wystarczy uzyskać dokładną kopię)

Aktualizacja

Na podstawie odpowiedzi WesleyDavid sprawdzam dysk za pomocą gparted i przypomniałem sobie, że pierwotnie skopiowałem obraz z urządzenia 8 GB za pomocą WinDiskImager32, więc partycja jest już wystarczająco mała.

rozdzierał

Problem polega na tym, że WindDiskImager kopiuje cały dysk, a nie tylko partycje.

Teraz rozwiązanie „dd” naprawia to, kopiując tylko partycję, ale w jaki sposób mogę uzyskać system plików ext2 i wymiany na docelowym usb?

Użycie dd do skopiowania całego urządzenia powoduje ponownie pełne 16 GB, co nie zawsze pasuje do innych urządzeń

Aktualizacja 2

Używając dd zgodnie z sugestiami WesleyDavid,
wystarczyło użyć parametru count dd, jak opisano tutaj

Zasadniczo oznacza to uruchomienie „fdisk -u -l / dev / sdb” (zamień sdb na swoje urządzenie)

> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
> 
>    Device Boot      Start         End      Blocks   Id  System
> /dev/sdb1   *        2048    13672447     6835200   83  Linux
> /dev/sdb2        13674494    15818751     1072129    5  Extended
> /dev/sdb5        13674496    15818751     1072128   82  Linux swap

W moim przypadku koniec ostatniej partycji to „15818751”, więc użyłem:

dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752

dodając jeszcze jeden, aby być bezpiecznym. To dało mi obraz, który mogę zainstalować.

TimothyP
źródło
ddmoże skopiować całe urządzenie, a nie tylko partycję.
Wesley,
Np. dd if=/dev/sda of=/dev/sdbI to dostaje każdą partycję, a nawet MBR. Wszystko od dziobu do rufy.
Wesley,
Ale to powoduje, że obraz znów ma pełne 16 GB (zawiera nieprzydzielone miejsce)
TimothyP,

Odpowiedzi:

2

Najłatwiejsza i wypróbowana opcja: użyj gparted, aby partycje źródłowe miały 15 GB, aby się upewnić. Następnie sklonuj na inne dyski USB.

Zasadniczo nie jest to problem z klonowaniem, to problem z rozmiarem partycji. Gdy rozmiar partycji / dysku spadnie poniżej maksymalnego rozmiaru, wystarczy dd if=source of=destination(zakładając, że Windows) i dalej grać ze swoim złym ja.

Wesley
źródło
Zobaczę, czy uda mi się to zrobić, a wrócę, aby sprawdzić odpowiedź, jeśli
zadziała
Zaktualizowałem pytanie, ponieważ teraz rozumiem, jak skopiować partycję za pomocą dd, ale co z wymianą?
TimothyP
Jeśli ustawisz urządzenie root / dev / sdb, powinno się na nim skopiować wszystko, jak sądzę
Journeyman Geek
Próbując tego teraz, mam tylko nadzieję, że nie skopiuje wszystkich sektorów urządzeń, ale tylko partycje (ponieważ Windiskimager kopiował wszystko)
TimothyP
Wydaje się, że kopiuje cały dysk, w tym nieprzydzielone miejsce ...
TimothyP