Jak przenieść instalację Linuksa między partycjami?

8

Mam nowy dysk twardy i chcę przenieść istniejącą instalację systemu Linux (dokładniej: OpenSUSE 11.1) z partycji na starym dysku twardym na partycję na nowym dysku twardym.

Mój plan to:

  1. rozruch przy użyciu rozruchowego dysku CD (powiedzmy, że jest to rozruchowy dysk CD OpenSUSE)

    EDYCJA Jak sugeruje wiele osób (dzięki wszystkim)
    1a. skopiuj wszystkie pliki z jednego dysku na drugi

  2. modyfikuj / etc / fstab ( dodaj punkty montowania do nowych partycji)
  3. modyfikuj /boot/grub/menu.conf ( dodaj partycję rozruchową)
  4. zainstaluj ponownie grub

Czy mam rację? Czy to jest to?
Czy pominąłem jakiś ważny krok? (Jestem prawie pewien, że tak zrobiłem)

linux_is_for_desktop
źródło
1
pominąłeś etap kopiowania plików ze starej partycji na nową. niektórzy mogliby powiedzieć, że to było dość ważne :)
cas

Odpowiedzi:

4

Powiedziałbym, że brakuje jednej rzeczy.

  1. rozruch przy użyciu rozruchowego dysku CD (powiedzmy, że jest to rozruchowy dysk CD OpenSUSE)

    1a. skopiuj wszystkie pliki z jednego dysku na drugi

  2. modyfikuj / etc / fstab (zmień punkty montowania na nowe partycje)

  3. modyfikuj /boot/grub/menu.conf (zmień partycję rozruchową)
  4. zainstaluj ponownie grub

Powiedziałbym, że jeśli skonfigurujesz partycję na nowym dysku, aby była kompatybilna ze starymi ustawieniami, powinno to być całkiem proste. Może to być nieco bardziej skomplikowane, jeśli musisz edytować lokalizacje punktów montowania w plikach systemu operacyjnego. Polecam utrzymywanie partycji na tyle podobnych, że wszystko, co musisz zrobić, to uruchomić komputer, zamontować nowy dysk, skopiować, zmienić partycję rozruchową, ponownie zainstalować grub na nowym dysku. usuń stary dysk i gotowe!

Axxmasterr
źródło
Musisz jednak zachować ostrożność przy kopiowaniu. Użyj opcji -a, aby cp.
Kim
5
lub użyj rsync. ma tę zaletę, że jeśli coś zakłóci kopiowanie, możesz po prostu ponownie uruchomić rsync i zacznie on od miejsca, w którym zostało przerwane, zamiast zaczynać od początku. w kolejności preferencji odpowiednie narzędzia do tego zadania to: rsync, tar, cp -a
cas
+1 Powyższa sugestia Craiga jest rzeczywiście dobrą radą.
Axxmasterr
1

Musisz skopiować pliki, jak wskazał Axxmasterr. Wszystko inne wygląda mi dobrze. Inni podążają bardzo podobną ścieżką: Przenoszenie instalacji GNU / Linux na nową partycję

Uważaj na polecenie cp, którego używasz do kopiowania plików. Użyj opcji -a, aby zapewnić poprawne zachowanie po trafieniu dowiązań symbolicznych i zachować informacje o własności.

Niektórzy ludzie używali tar zamiast cp do skopiowania plików na nową partycję:

$ cd sourcedir; tar --create --file = -. | (cd targetdir; tar --extract --file = -)

Jak zasugerowano w łączu na początku, możesz zostawić stary wpis w pliku grub i po prostu dodać nowy, na wypadek, gdybyś musiał przywrócić.

Powodzenia!


źródło
Polecam zmianę średników w tym poleceniu na && (operatory warunkowe), aby kolejne polecenia „tar” nie były wykonywane, jeśli chdir () nie powiedzie się z jakiegokolwiek powodu (literówka, uprawnienia, cokolwiek). Polecam także użycie opcji -S (--sparse) z opcją 'tar' --create, aby umożliwić obsługę rzadkich plików, takich jak na przykład niektóre wystąpienia / var / log / wtmp lub / var / run / utmp).
Jim Dennis
1

Myślę, że to zadziała.

Jeśli na każdym dysku twardym jest tylko jedna partycja, a nowy dysk ma ten sam rozmiar lub jest większy niż dysk oryginalny, szybszym sposobem jest po prostu sklonowanie starej (/ dev / xxx, gdzie xxx = oryginalny dysk sda , hdb itp.) do nowego (/ dev / rrr).

Tak więc kroki byłyby następujące:

  1. Uruchom przy użyciu płyty CD na żywo
  2. sudo dd if = / dev / xxx of = / dev / yyy bs = 32k

Upewnij się, że otrzymałeś if (plik wejściowy) i jest poprawny, inaczej zablokujesz cały stary dysk.

Fred Hamilton
źródło
Wykonanie dd spowoduje również skopiowanie systemu plików, może on nie być przygotowany na zmianę rozmiaru dysku (nawet jeśli będzie więcej miejsca na nowym dysku)
Joakim Elofsson,
To prawda, że ​​sklonowana partycja na nowym dysku będzie miała taki sam rozmiar jak oryginalna partycja na starym dysku, więc musisz ją rozwinąć, aby użyć pełnego nowego dysku (użyłbym gparted). Jeśli chcesz również zmienić systemy plików, lepsze jest podejście „cp -a” wspomniane w innej odpowiedzi.
Fred Hamilton,
Możesz zmienić rozmiar plików ext2-3-4 za pomocą resize2fs. Inne systemy plików mają podobne narzędzia. Dla ext możliwe jest również zmniejszenie rozmiaru systemu plików. Zawsze wolałem takie podejście niż podejście cp / tar / dump.
Kristof Provost