Chcę wykonać kopię zapasową całego układu partycji dysku twardego, w tym dysków logicznych, aby móc przywrócić ten układ na innym dysku. Ja nie chce skopiować zawartość partycji tylko układ. W przypadku partycji podstawowej i rozszerzonej jest to łatwe:
dd if=/dev/sda of=partitiontable.bin bs=1 skip=446 count=64 # backup
dd if=partitiontable.bin of=/dev/sda bs=1 seek=446 count=64 # restore
Ale jeśli chodzi o układ partycji logicznych, zastanawiam się, czy wśród standardowych narzędzi istnieje podobny sposób zapisywania układu? Myślę, że głównym problemem jest znalezienie przesunięć w lokalizacjach EBR, ponieważ dzięki temu dd
zrobi resztę. Pamiętaj, że muszę umieć wszystko przywrócić (ewentualnie) pusty dysk, a tym samym przywrócić ten sam układ. Korzystanie z narzędzi do partycjonowania takich jak fdisk
lub parted
jest w porządku, ale muszę być w stanie zautomatyzować ich użycie (skrypty) i nie powinny one zależeć od żadnych pakietów związanych z X - tylko wiersz poleceń.
Mój plan tworzenia kopii zapasowych polega na tym, że robię to ręcznie w małym skrypcie Pythona za pomocą modułu struct, ale raczej miałem nadzieję, że istnieje łatwiejszy sposób.
źródło
sfdisk
nie działa z dużymi woluminami ani nie obsługuje GPT.sfdisk -L /dev/sda < part_table
Zależy to od tego, czy dysk źródłowy używa tablicy partycji MBR (aka „dos” lub „msdos”), czy GPT (aka „GUID”).
Dyski o pojemności powyżej 2 TB nie mogą korzystać z MBR, więc są GPT.
Dyski o pojemności poniżej 2 TB mogą korzystać z obu, więc najpierw musisz dowiedzieć się, która to jest.
Zakładając, że korzystasz z systemu Linux, użyj jednego z poniższych poleceń, aby dowiedzieć się, z której tablicy partycji korzysta dysk źródłowy:
Dany
Dla dysków MBR
użyj
sfdisk
zgodnie z sugestią Petra Uzela lub tego wariantu:Dla dysków GPT
Prawidłowa odpowiedź została podana tu i tutaj przez Krisa Harpera .
Potrzebujesz fdisk GPT . Spójrz na stronę pobierania lub uruchom
sudo apt-get install gdisk
.Następnie użyj polecenia sgdisk :
Ostatnie polecenie losowo identyfikuje identyfikator GUID na dysku i wszystkich partycjach. Jest to konieczne tylko wtedy, gdy dyski mają być używane na tym samym komputerze, w przeciwnym razie nie jest to konieczne.
źródło
--backup=File
wyeksportowanie tabeli partycji z dysku źródłowego i--load-backup=File
przywrócenie dysku docelowego.Starsze, ale wciąż interesujące powiązania dzielone na części i python-lvm .
Aktualizacja:
Poprzedni został opublikowany, ponieważ powyższe nie działa w wielu nowoczesnych sytuacjach na stronie podręcznika sfdisk.
To polecenie obsługuje jednak partycje> 2 TB i LVM.
Przykładowe dane wyjściowe:
źródło
sda.parted
pliku na nowy dysk?