W dzisiejszym samouczku wyjaśnię, jak partycję główną naszej dystrybucji Linuksa można przenieść na inną partycję (na tym samym dysku twardym, czy nie). Potrzeba ta pojawiła się w połowie ubiegłego roku, kiedy nadal używałem Chakry i od tamtej pory jest to proces, z którego korzystałem więcej niż jeden raz, z zadowalającymi wynikami i zerowymi problemami.
Jeśli kroki są przestrzegane co do litery, jest to w 100% bezpieczna, stosunkowo szybka i całkowicie odwracalna operacja. Będziemy potrzebować tylko Live CD każdej dystrybucji, którą tam mamy (na przykład jedna z Ubuntu będzie służyć naszym celom), i poprawnie zidentyfikuj partycję źródłową i docelową.
Aby uzyskać takie informacje, możemy zwrócić się do GParted lub KDE Partition Editor. Kiedy je wykonamy, zobaczymy okno podobne do tego na zrzucie ekranu poniżej. Tam musimy znaleźć naszą oryginalną partycję główną i sprawdzić, do którego dysku należy (sda, sdb, sdc ...), jaki ma numer (sda2, sdb1, sdj5 itp.) I jaki jest jej UUID (kod alfanumeryczny, który znajdziesz w sekcji „informacji zaawansowanych”). Oczywiście, jeśli zamierzamy przenieść partycję, będziemy potrzebować miejsca docelowego, więc musimy wcześniej utworzyć dziurę w dysku twardym, aby przeprowadzić przenoszenie, i zapisać odpowiednie dane.
Zanim przejdę dalej, chciałbym stwierdzić, że w tym poradniku odnoszę się tylko do Grub2; jeśli używasz innego programu ładującego, niektóre kroki lub polecenia mogą się różnić - w rzeczywistości jest to znacznie łatwiejsze dzięki Grub Legacy-. Tak więc, mając zapisane wcześniej informacje na kartce, zabieramy się do pracy:
1) Uruchamiamy komputer z Live CD i czekamy na załadowanie pulpitu.
2) W terminalu umieściliśmy następujące dwa polecenia:
sudo mkdir / mnt / old
sudo mkdir / mnt / new
sudo mount / dev / sdaX / mnt / old (gdzie sdaX to oryginalna partycja główna).
sudo mount / dev / sdbX / mnt / new (gdzie sdbX to nowa partycja główna).
sudo cp -rav / mnt / old / * / mnt / new
sudo cp -rav /mnt/old/.* / mnt / new
sudo umount / mnt / old
sudo mount -o bind / dev / mnt / new / dev
sudo mount -t proc none / mnt / new / proc
sudo chroot / mnt / new / bin / bash
sudo grub-install / dev / sdb (gdzie sdb to dysk twardy, na którym mamy nową partycję główną i nie musimy umieszczać na nim numeru ani niczego podobnego).
sudo kate /boot/grub/grub.cfg
- Tam, gdzie wstawia (hdX, Y), zmieniamy liczby X i Y zgodnie z poniższym:
X: wskazuje numer dysku twardego. Jeśli dysk to sda, X równa się 0. Jeśli dysk to sdb, X równa się 1. Jeśli dysk to sdc, X równa się 2 i tak dalej.
Y: wskazuje numer partycji. 1,2,3… Przykład: druga partycja pierwszego dysku (hd0,2); druga partycja trzeciego dysku (hd2,2)… Czy masz pomysł?
- Drugim polem do zmodyfikowania jest UUID (tak długi kod cyfr i liter), który nadal wskazuje na starą partycję. Zmieniamy go na UUID nowej partycji (pamiętaj, że możesz to sprawdzić np. W GParted). Sprawdź dobrze dane!
- Trzecia modyfikacja i jedna z najważniejszych dotyczy małego czerwonego prostokąta pod UUID, który znajduje się na obrazku „sdb2”. Tutaj musisz wskazać nową partycję swojego roota, która logicznie musi odpowiadać (hdX, Y). Przykłady: (hd0,1) -> sda1 // (hd2,3) -> sdc3
Należy pamiętać, że zmiany te w zasadzie muszą być powtarzane w zależności od liczby wpisów naszego systemu operacyjnego w Grub. Mam trzy wpisy do Czakry, dlatego muszę zmienić te dane 3 razy. Jednak, Radzę zmienić tylko pierwszy wpis, a gdy zobaczysz, że wszystko zaczyna się poprawnie, przystąpić do modyfikacji pozostałej części z prawdziwego systemu operacyjnego.
sudo kate / etc / fstab
9) Możemy teraz zrestartować i sprawdzić, czy wszystko jest w porządku. Jeśli system operacyjny działa dobrze, możemy przystąpić do wymiany danych, które pozostawiliśmy niezmienione w pozostałych wpisach pliku grub.cfg, a także usunąć starą partycję główną - jeśli takie jest nasze życzenie -.
To wszystko na dzisiaj.
To szukało XD. dzięki
Jest to bardzo bezpieczna procedura, korzystałem z niej wiele lat temu, a dobrze, że nowa partycja / nie będzie zawierała fragmentacji plików ...
Co prawda niedawno próbowałem zmienić partycję root z wariantem zmiany także systemu plików (z reiserfs na ext3), ale nie mogłem tego zrobić ze względu na więcej prób i obrotów niż podałem, jakoś przy starcie systemu wykrywanie nie powiodło się, ponieważ szukał systemu / partycji reiserfs, gdy nowy został sformatowany za pomocą ext3. Wchodząc w tryb konserwacji i montując ręcznie / jako ext3 system działał poprawnie, ale przy następnym uruchomieniu znowu się nie udał z tego samego powodu. Nie było edytowania grub lub fstab, które działały ... zawsze szukałem partycji / z reiserfs, nie mogę znaleźć rozwiązania ...
Wygląda na to, że był jakiś plik wskazujący na partycję reiserfs. Być może niepozorna linia z bootloadera lub coś w tym stylu, w przeciwnym razie ext3 powinien był załadować się poprawnie.
Jeśli tak myślałem ... i spędziłem godziny na szukaniu czegoś, ale nic nie znalazłem ... nawet nie przeszukując Internetu.
W każdym razie nie mogę Cię zapewnić, że w przeszłości wykonywałem tę procedurę bez problemów, chodzi o to, że minęło około 6 lub 7 lat, odkąd robiłem to prawie dla przyjemności ... ostatnim razem, gdy próbowałem to zrobić z Debianem Lennym, prawdopodobnie największą różnicą jest jądro, zanim być może używałeś dystrybucji z linuxem 2.4.x.
W każdym razie, jeśli pójdziesz szukać rozwiązania, mam nadzieję, że się nim podzielisz ...
Dobra wskazówka ... gdybym wiedział wcześniej.
Pozdrowienia.
Tak, bardzo dobra wskazówka, wygląda to bardzo podobnie do procedury zmiany dysku / domu, ale nie wiedziałem, co może zrobić z rootem.
Bardzo dobra informacja, chociaż mogę jej nie używać, dobrze jest znać same muchy. 🙂
Tak, z / home jest dużo łatwiej, ponieważ nie musisz ponownie instalować Gruba ani modyfikować jego pliku konfiguracyjnego. Wystarczy skopiować wszystko, czego potrzebujesz i edytować plik fstab.
Oczywiście mówimy o / home, jest oczywiste, że / root wymaga więcej uwagi.
To nie jest jak / Home, które zwykle jest prawie po prostu wycinaniem i wklejaniem lub, w przypadku braku tego, kopiowaniem i wklejaniem.
bardzo dobra instrukcja, przyjacielu, bardzo dziękuję, chciałbym wiedzieć, czy można gdzieś pobrać wersję pdf lub jakąkolwiek inną, pozdrawiam
Proszę bardzo, prosto z piekarnika;):
https://sites.google.com/site/rsvnna/baul/Mover%20Root.pdf
przyjaciela, dzięki, to bardzo dobrze
Wielkie dzięki! Szukałem czegoś podobnego i przyszło mi do głowy, aby zrobić obrazy partycji, a następnie je przywrócić, ale oczywiście brakowało więcej rzeczy, takich jak punkty montowania itp. Więc pasuje mi jak ulał!
Bardzo dobra informacja, zawsze warto mieć te rzeczy pod ręką na wszelki wypadek. Wielkie dzięki.
Jeśli używasz Grub2, czy nie byłby to grub2-install?
Tworząc te podręczniki, uważaj, aby wprawić kogokolwiek w bałagan, o ile nie poprawisz poleceń.
W Arch starsza wersja grub została przemianowana na grub-legacy, a grub 2 został tylko jako grub więc jest poprawny, ale w ten sam sposób zaleca się przeczytanie dokumentacji twojej dystrybucji przed wykonaniem takiego ważnego ruchu, aby mieć pewność co do nazw opakowań
dzięki autorowi szukałem szczegółowego procesu i to mi dobrze służyło
Kilka poleceń więcej niż punkt 5 nie zadziałało dla mnie, lepiej to:
sudo su
mkdir / media / kk (gdzie jest zamontowany katalog główny zainstalowanego systemu)
mount -t ext4 -o rw / dev / sda / media / kk
mount –bind / proc / media / kk / proc
mount –bind / dev / media / kk / dev
mount –bind / sys / media / kk / sys
chroot / media / kk
aktualizacja-grub
grub-install / dev / sda (lub sdb,…)
Dziękuję bardzo, bardzo mi to pomogło, jako alternatywę po skopiowaniu wszystkiego na nową partycję możesz przenieść instalację grub za pomocą narzędzia do naprawy rozruchu, unikając w ten sposób wykonywania kroków 5 i kolejnych
sudo add-apt-repository ppa: yannubuntu / boot-repair
sudo apt-get update
sudo apt-get install boot-repair
uruchamiana jest aplikacja graphifa i aktywowane są opcje zaawansowane; Lokalizacja GRUBA i nowa partycja jest wybierana do instalacji GRUBA.