Chciałbym wykonać kopię zapasową mojego systemu bez wyłączania go. Klon systemu powinien także móc działać na innej maszynie.
Próbowałem „dd” całą partycję systemową na innym dysku, po czym mam pewność, że nie uruchomiono żadnych zadań administracyjnych. Myślę, że musiałem powiedzieć Grub'owi, żeby uruchomił się na tym dysku, więc wykonałem polecenie:
grub-install /dev/sdc1
ale dostałem ten błąd:
The file /boot/grub/stage1 not read correctly.
Wiem, że robię to nie jest bardzo czyste, więc czy masz dobre rozwiązanie, aby osiągnąć moje cele lub pomysł rozwiązania problemu z grub?
Odpowiedzi:
Istnieje kilka opcji, z których każda ma kompromisy. Nie można użyć
dd
do sklonowania systemu plików, gdy jest on podłączony do odczytu / zapisu, w przeciwnym razie klon zostanie uszkodzony, ponieważ źródło jest zmieniane podczas kopiowania, więc miejsce docelowe będzie częściowo nieaktualne, a częściowo nie. Jeśli naprawdę chcesz mieć możliwośćdd
kopiowania partycji na gorąco, możesz to zrobić za pomocą migawek LVM . Wymaga to przede wszystkim zainstalowania systemu za pomocą LVM , ale następnie można utworzyć migawkę w dowolnym momencie, a ponieważ migawka jest zawieszona i nie jest zamontowana, można bezpiecznie wykonaćdd
migawkę, a następnie usunąć migawkę. Druga strona korzystaniadd
polega na tym, że marnuje czas na kopiowanie całego nieużywanego miejsca w woluminie i wymaga, aby miejsce docelowe było co najmniej tak duże, nawet jeśli większość źródła nie jest używana.Zamiast używać
dd
, możesz po prostu użyć tradycyjnych narzędzi do tworzenia kopii zapasowych, takich jaktar
lub,dump
aby wykonać kopię zapasową migawki. Ma to tę zaletę, że nie marnuje czasu na kopiowanie wolnego miejsca i może zostać przywrócone na mniejszą partycję, o ile ma miejsce na pliki. Możesz także wyodrębnić tylko niektóre pliki, aby wykonać częściowe przywracanie. Nie musisz również używać LVM z tą metodą: dopóki masz pewność, że żadne pliki nie są modyfikowane podczas tworzenia kopii zapasowej, można to bezpiecznie zrobić na zamontowanym systemie plików. Najgorsze, co może się zdarzyć, to uszkodzenie pojedynczego pliku zmodyfikowanego podczas tworzenia kopii zapasowej, a nie uszkodzenie całej kopii zapasowej, jak to może się zdarzyćdd
.Jak się wydaje, po przywróceniu systemu plików nadal trzeba ponownie zainstalować grub, aby uruchomić system. Nie jestem pewien, dlaczego wystąpił ten błąd podczas próby, ale wygląda na to, że korzystałeś z grub-legacy, ponieważ grub2 nie ma stage1.
źródło
tar
, chcesz wykluczyć nie tylko / proc, ale także / dev, / sys i / run, lub użyj--one-file-system
przełącznika, aby zatrzymać zejście do innych systemów plików.Użycie czegoś takiego jak
rsync
lubtar
do skopiowania partycji może być prostsze. Zamontowałbym partycję na drugim punkcie montowania, tak jak/mnt
przed kopiowaniem. Te opcje umożliwiają także zmianę rozmiaru lub typu partycji. Możesz także mieć struktury na dodatkowych partycjach. Często mam osobne partycje dla/var
i/usr
. Te również będą musiały zostać wzięte pod uwagę.Konieczne może być zagłębienie się w
grub
dokumentacji w celu ustalenia, w jaki sposób prawidłowo skierować dysk i partycję.install-grub
może przyjmować błędne założenia, które nie robią tego, co chcesz.Istnieją takie narzędzia,
mondo
które pozwalają utworzyć rozruchową płytę odzyskiwania po zainstalowaniu na niej systemu operacyjnego.źródło
Myślę, że nie ma realnej opcji wykonania niezawodnej kopii zapasowej działającego systemu na poziomie urządzenia: Twój system plików zostałby zbyt uszkodzony, ponieważ nie można zatrzymać bieżącego stanu, a operacja tworzenia kopii zapasowej zajmuje dużo czasu.
Możesz jednak wypróbować następujące opcje:
źródło