Przenieś instalację na nowy dysk

10

Obecnie mam jeden HD z tymi partycjami:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Zastanawiam się nad kupnem /dysku SSD na moją partycję.

Teraz moje pytanie brzmi: czy można przenieść / przekonwertować obecną konfigurację na nową (dwa dyski, / home pozostaje)? Przede wszystkim z działającego systemu?

Chris
źródło

Odpowiedzi:

11

Odradzam używanie dd. Po prostu wykonuje głupi sektor po kopii sektorowej, co oznacza, że ​​nie powiedzie się, jeśli partycja docelowa jest mniejsza i marnuje dużo czasu na kopiowanie wolnego miejsca, a jeśli partycja docelowa jest większa, dodatkowe miejsce nie będzie dostępne, dopóki nie uruchomisz resize2fsaby rozwinąć system plików.

Najlepiej zrobić to z Live CD, ponieważ jeśli skopiujesz pliki podczas ich modyfikacji, skończysz z uszkodzonymi wynikami.

Sformatuj ssd i zainstaluj zarówno nową partycję SSD, jak i oryginalną partycję root, a następnie po prostu uruchom sudo cp -ax /media/old-partition/* /media/new-partition, gdzie stara partycja i nowa partycja zostaną zastąpione ich rzeczywistymi punktami podłączenia. Spowoduje to skopiowanie każdego pliku, zachowując własność, uprawnienia i znaczniki czasu.

Następnie uruchom sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, po podstawieniu poprawnych wartości dla nowej partycji i SSD_DEVICE. Spowoduje to zainstalowanie gruba, dzięki czemu dysk będzie rozruchowy.

Po ponownym uruchomieniu (upewniając się, że BIOS jest skonfigurowany do uruchamiania z dysku SSD zamiast ze starego dysku), upewnij się, że uruchamiasz się z dysku SSD, a nie ze starego dysku, sprawdzając dane wyjściowe dfi / lub mount, i powinieneś być dobrze zdmuchnąć starą partycję.

Aha, i będziesz chciał edytować /etc/fstabplik na nowej partycji po skopiowaniu i zaktualizowaniu UUID partycji głównej, aby pasował do UUID nowej partycji SSD zamiast starej. Możesz znaleźć ten UUID, uruchamiając sudo blkid.

Edycja: dodano / * w kopii powyżej, ale konieczna była edycja, która ma więcej niż 6 znaków. Teraz ma 101 znaków!

psusi
źródło
1
Zakładam, że zadziałało?
Martin Ueding,
2
Miałem problemy z instalacją gruba przy użyciu powyższej metody. W końcu zrobiłem to, co sugeruje ten wątek: askubuntu.com/a/3409/8152 , aby zainstalować i zainstalować gruba na innym dysku. Reszta odpowiedzi działała świetnie.
Mladen Jablanović
1

To polecenie:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

powinien działać w celu klonowania /partycji na dysk SSD.

EDYCJA: zadziała to tylko wtedy, gdy twoja partycja ma taki sam rozmiar jak dysk. Jeśli nie są tego samego rozmiaru, możesz użyć partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Zastrzeżeniem tej metody jest to, że potrzebujesz wystarczającej ilości miejsca na dysku dla obrazu zawierającego całą zawartość /. Wszystko powinno być w porządku, jeśli masz> 10 GB wolnego miejsca. W przeciwnym razie możesz użyć -z1zamiast -z0kompresji obrazu. Aby uzyskać jeszcze większą kompresję, użyj -z2. Również partimage nie obsługuje systemu plików ext4 .

Po wykonaniu tej czynności należy zamontować dysk SSD i sprawdzić, czy dane zostały poprawnie skopiowane:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Zamień ext4na używany system plików /.

Prawdopodobnie będziesz musiał zainstalować program ładujący GRUB na tym dysku:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Następnie musisz edytować /etc/fstabplik, aby zastąpić /dev/sdb1ścieżką urządzenia dysku SSD we wpisie, w którym się montuje /. ( sudo $EDITOR /etc/fstab)

Poczekaj, aż ta odpowiedź uzyska kilka pozytywnych opinii, zanim wykonasz te instrukcje. Nie jestem ekspertem w tych sprawach, więc mogłem przeoczyć kilka istotnych informacji. Każdy, kto widzi w tym jakieś wady, dodaj komentarz wyjaśniający je. Powinieneś podjąć takie środki ostrożności, ponieważ jeśli coś pójdzie nie tak, komputer może się nie uruchamiać.

dv3500ea
źródło
(-1) To rozwiązanie jest więcej niż niebezpieczne . Zwłaszcza jeśli rozmiar urządzeń nie pasuje.
Raphael Bossek
Skopiuje również UUID napędu źródłowego, jeśli używasz dd.
Michael
0

Przeczytaj najpierw, jak przeprowadzić migrację. Czy istnieje prosty sposób na przeniesienie systemu operacyjnego z jednego dysku twardego na inny? .

Uruchom z dysku SSD i dodaj następujący wiersz /etc/fstab(to tylko powiązanie):

/media/slowhd/home /home none rw,bind 0 0

Rozpocznij, mount -aaby zmiany były aktywne.

Wskazówka : nie, mount /dev/yourhd /homeponieważ tracisz elastyczność przenoszenia kolejnych katalogów do starego dysku HD.

Bardziej technicznymi rozwiązaniami byłoby użycie LVM (logical volume manager) .

Raphael Bossek
źródło