Klonuj wewnętrzny dysk twardy na nowy dysk SSD

20

Niedawno zainstalowałem dysk SSD na moim komputerze. Samo urządzenie to thinkpad Lenovo W520, a wcześniej miał wewnętrzny dysk twardy. Przeniosłem wewnętrzny dysk twardy do wnęki rozszerzeń (zastępując CD-ROM) i włożyłem nowy dysk SSD do wewnętrznej wnęki.

Problem, który mam, polega na tym, że mam konfigurację Ubuntu DOKŁADNIE tak, jak chcę - pierwotnie spędziłem wiele godzin konfigurując ją, aby była taka, jaka jest teraz. Wolałbym tego więcej nie robić. Ale chciałbym również zyski z rozruchu, jakie uzyskałbym z systemu operacyjnego znajdującego się na dysku SSD.

Chciałbym więc sklonować moją partycję Ubuntu na dysk SSD. Problem polega na tym, że standardowy dysk twardy jest znacznie większy niż dysk SSD. I ma partycję Windows, której nie potrzebuję na dysku SSD (nigdy nie używam Windowsa, więc jeśli uruchamia się z drugiego dysku twardego, to w porządku). Układ moich dysków twardych jest następujący:

/ dev / sda (SSD): Model: ATA M4-CT256M4SSD2 (scsi) Dysk / dev / sda: 256 GB Rozmiar sektora (logiczny / fizyczny): 512B / 512B Tabela partycji: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/ dev / sdb (HDD): Model: ATA ST9500420AS (scsi) Dysk / dev / sdb: 500 GB Rozmiar sektora (logiczny / fizyczny): 512B / 512B Tabela partycji: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

Co próbowałem do tej pory:

1) Zmiana rozmiaru partycji / dev / sdb5 i / dev / sda1 na taki sam rozmiar. 2) Uruchamianie systemu Ubuntu 11.04 (z / dev / sdb5) i uruchamianie dd if = / dev / sdb5 z = / dev / sda1 (oczywiście powoduje to problemy z uruchamianiem, więc musiałem ponownie zainstalować gruba .. Mogę to zrobić boot, ale potem mam problemy z tym, że initrd nie znajduje niektórych plików ... prawdopodobnie nie może załadować niektórych partycji).

Teraz uważam, że te dwa kroki są niewłaściwym podejściem, ponieważ dokładnie sklonuje / dev / sdb5 - w tym referencje w fstab, które wskazują na zły dysk twardy. Nie jestem pewien, jak to naprawić. Mogę zainstalować Ubuntu 11.04 na dysku SSD, a następnie spróbować skopiować wszystkie konfiguracje, ale obawiam się, że coś stracę lub że zastąpię coś takiego jak fstab, co wskazuje na oryginał twardy dysk.

Zauważ, że obecnie nadal mogę uruchamiać system z dysku twardego, więc nie muszę tego robić od razu, ale chcę, aby było dokładnie tak, jak teraz, aby mógł utrzymać mój obecny poziom wydajności ( to laptop roboczy).

Sugestie, jak mogę pokonać tę trudność?

Z góry dziękuję!

jwir3
źródło

Odpowiedzi:

13

Jest więcej niż jeden sposób na przeniesienie starego systemu na nowy dysk, ale tak naprawdę nie zapytałeś w ten sposób, poprosiłeś o sklonowanie systemu.

Sam bym użył gparted z live CD, więc żadna partycja nie jest zamontowana. Możesz zmniejszyć oryginalną partycję do odpowiedniego rozmiaru na dysku SSD, a następnie skopiować i wkleić partycję na nowy dysk. Jeśli dobrze pamiętam, spowoduje to ponowne użycie tego samego identyfikatora UUID, ale możesz to później zmienić na jednej lub drugiej partycji. Poleceniem tego jest sudo tune2fs -U random /dev/sdb5UUID dla sdb5.

Jeśli nie chcesz zmieniać starego systemu i jeśli chcesz go zamontować przez jakiś czas, możesz zmienić identyfikator UUID dla partycji SSD i edytować swój plik fstab. To wcale nie jest trudne i powinieneś się o tym dowiedzieć. Jest to dość oczywiste dla kogoś z wiedzą, którą już masz. Po przypisaniu nowego UUID możesz zobaczyć je wszystkie za pomocą tego polecenia: sudo blkid -c /dev/null- parametr -c określa plik pamięci podręcznej, a / dev / null oznacza, że ​​nie korzystaj z pamięci podręcznej, więc zawsze otrzymujesz natychmiastowe zmiany. Zawsze używam tego formularza i nie widzę żadnych wad, chyba że masz dużo partycji.

Po otrzymaniu identyfikatora UUID możesz skopiować go i wkleić nad starym w / etc / fstab przy użyciu gedit lub dowolnego edytora tekstowego, który preferujesz.

Osobiście jednak, zamiast zajmować trochę czasu, aby najpierw zmienić rozmiar partycji, po prostu skopiowałbym starą instalację na nowy dysk. Jeśli nie wiesz, jak zainstalować GRUB na MBR, możesz najpierw zainstalować podstawowy Ubuntu, a następnie wykonać kopię zapasową / etc / fstab, skopiować na niego starą instalację, a następnie skopiować fstab z nowej instalacji, aby ma tylko poprawne wpisy.

Marty Fried
źródło
To bardzo pomocne, dziękuję. Spróbuję i zobaczę, czy uda mi się go uruchomić. Potem wrócę i zaakceptuję odpowiedź lub zapytam o nią więcej. ;)
jwir3
1
Wiele razy korzystałem z instalacyjnej płyty CD, ponieważ zawiera ona większość wszystkiego, czego potrzebujesz. Ale najlepszym obrazem ratunkowym, którego użyłem, jest System Rescue CD . Ta bootowalna płyta CD, dostępna również jako pamięć USB, naprawiła dla mnie GRUB wiele razy po tym, jak coś (lub ktoś, kto pozostanie nienazwany) wymazał go. Ma gparted, narzędzia grub i wszystko, co chcesz naprawić instalację Linuksa, bez nadmiernego obciążenia. Czy o to pytasz?
Marty Fried
1
Nie ma za co i powodzenia.
Marty Fried
1
To działało dobrze. Nie byłem pewien, jak skonfigurować grub, a dokładniej, że istnieją bardzo różne sposoby konfigurowania starszego gruba w porównaniu do grub2. Użyłem następujących informacji jako odniesienia dla grub2, kiedy go zainstalowałem ( apt-get install grub2): dedoimedo.com/computers/grub-2.html Pierwotnie korzystałem z metody instalacji grub2, kiedy w rzeczywistości w moim systemie zainstalowano grub-legacy.
jwir3
1
Ach, tak, uroczy grub, i jest ulepszony, grub2 (NOWOŚĆ! ULEPSZONO! TERAZ JESZCZE WIĘCEJ KOMPLEKSU!). Przepraszam, to wszystko moja wina; W pełni zrozumiałem starego gruba, więc oczywiście go zmienili. Potem, kiedy myślałem, że dostaję grub2, wprowadzili kilka drobniejszych zmian, niezgodnych z poprzednią wersją. Właśnie dlatego zasugerowałem możliwość instalacji podstawowej, aby skonfigurować GRUB-a. Ale warto uczyć się gruba i tak naprawdę nie jest to tak skomplikowane. Czy zmieniłeś już teraz na grub2?
Marty Fried
5

Uruchom z LIVECD, zamontuj oba dyski, a następnie po prostu skopiuj pliki za pomocą sudo cp -ax /media/source /media/dest. Zmodyfikuj plik / etc / fstab w miejscu docelowym, aby wskazywał poprawny UUID (wyszukaj blkid) i ponownie zainstaluj grub.

psusi
źródło
Tak bym zrobił, ale zajęło mi wieczność opanowanie grub2 - głównie ze względu na mnóstwo różnych metod, które czytałem, z których żadna nie wydawała się kompletna. Twój post zakłada, że ​​osoba jest na tym samym poziomie, co ty, a może po prostu zakładasz, że zapyta o części, które nie są znane (co prawdopodobnie jest w porządku). Ciekawe, że podałeś najłatwiejszą część, polecenie kopiowania, i jakbyś przeleciał nad trudniejszymi częściami. :)
Marty Fried
3
@MartyFried, szybkie google wyskakuje prawo do help.ubuntu.com/community/Grub2#Reinstalling_GRUB2 , który mówi, że to tak proste, jak działa grub-install --root-directory /mnt /dev/sdapo zamontowaniu partycji Ubuntu / mnt;)
psusi
Ach, cieszę się, że ulepszyli lub dodali do dokumentacji. Minęło trochę czasu, ale kiedy próbowałem się z tym pogodzić, nawet oficjalna dokumentacja GRUB-a nie była całkowicie poprawna. Wprowadzono także zmianę wersji GRUB2, która spowodowała błąd z nieznanym komunikatem o błędzie. Problem z forami Ubuntu, który często odwiedzałem, polega na tym, że wiele dezinformacji powtarza się, aż stają się faktem przez osoby, które ledwo wiedzą, o czym mówią - nie wszyscy, ale czasem trudno to rozwiązać.
Marty Fried
2

Sugerowałbym unikanie używania, dd if=/dev/sdb5 of=/dev/sda1jeśli system działa /dev/sdb5sam z siebie (i prawdopodobnie nie jest zamontowany tylko do odczytu).

Innym sposobem kopiowania partycji jest uruchomienie z Live CD (lub USB) i uruchomienie GParted. Możesz użyć Ctrl + C / Ctrl + V, aby skopiować partycje z jednego dysku na drugi.

Po utworzeniu kopii (i być może po ponownym uruchomieniu należy odświeżyć tablicę partycji), wciąż z Live CD, zamontuj nową partycję root za pomocą terminalu:

sudo mount /dev/sda1 /mnt

Następnie edytuj, /mnt/etc/fstababy wskazywać prawidłowe lokalizacje.

Bruno
źródło
1
jeśli jesteś ddz live CD, nie musisz edytować fstab, pod warunkiem, że używa UUID (co powinno).
Alecz
0

Skrypt bash clone-ubuntu.shautomatyzuje kroki, które określa zaakceptowana odpowiedź. Dostępne jest menu ułatwiające znalezienie nowej partycji:

clone-ubuntu.png

Kliknij powyższy link, aby uzyskać kopię skryptu i ważne punkty do rozważenia, takie jak:

  • rsync służy do klonowania partycji rozruchowej, a katalogi wirtualne systemu są poprawnie pomijane.
  • /etc/fstab klon docelowy jest aktualizowany z poprawnymi identyfikatorami UUID do rozruchu.
  • /etc/grub/grub.cfg został zaktualizowany w celu bezproblemowego uruchamiania gruba.
WinEunuuchs2Unix
źródło