Flytta rotpartitionen till en annan disk

I dagens handledning ska jag förklara hur du kan flytta rotpartitionen i vår Linux-distribution till en annan partition (oavsett om det är på samma hårddisk eller inte). Detta behov kom till mig i mitten av förra året, när jag fortfarande använde Chakra, och sedan dess är det en process som jag har använt vid mer än ett tillfälle med tillfredsställande resultat och nollproblem.

Om stegen följs till punkt och pricka är det en 100% säker, relativt snabb och helt reversibel operation. Vi behöver bara en Live CD av någon distro som vi har där ute (en av Ubuntu, till exempel, kommer att tjäna vårt syfte), och korrekt identifiera vilken som är käll- och destinationspartitionen.

För sådan information kan vi vända oss till GParted eller KDE Partition Editor. När vi kör dem ser vi ett fönster som liknar det i skärmdumpen nedan. Där måste vi hitta vår ursprungliga rotpartition och titta på vilken disk den tillhör (sda, sdb, sdc ...), vilket nummer den har (sda2, sdb1, sdj5, etc.) och vad dess UUID är (en alfanumerisk kod som du hittar i avsnittet "avancerad information"). Om vi ​​ska flytta en partition behöver vi självklart en destination, så vi måste tidigare skapa ett hål på hårddisken för att utföra flytten och skriva ner motsvarande data.

Innan jag fortsätter vill jag konstatera att jag i denna handledning bara hänvisar till Grub2; om du använder en annan bootloader kan vissa steg eller kommandon variera - det är faktiskt mycket enklare med Grub Legacy-. Så, med informationen från tidigare skrivna på papper, kommer vi till jobbet:

1) Vi startar datorn med Live CD och vi väntar på att skrivbordet laddas.

2) I en terminal vi lägger följande två kommandon:

sudo mkdir / mnt / gammal

sudo mkdir / mnt / new

3) Sedan, skriver vi följande kommandon:

sudo mount / dev / sdaX / mnt / old (där sdaX är den ursprungliga rotpartitionen).

sudo mount / dev / sdbX / mnt / new (där sdbX är den nya rotpartitionen).

4) När du har monterat varje partition, vi fortsätter att kopiera filerna med två kommandon (en för vanliga filer och en för dolda data). Kanske är den andra inte strikt nödvändig, men jag kör den om flugorna. Den här delen tar några minuter:

sudo cp -rav / mnt / old / * / mnt / new
sudo cp -rav /mnt/old/.* / mnt / new

5) Vi avmonterar den gamla partitionen och skriver ett par kommandon till:

sudo umount / mnt / old
sudo mount -o bind / dev / mnt / new / dev
sudo mount -t proc none / mnt / new / proc

6) nu vi tappar den nya partitionen för att installera om Grub2 igen. Installationskommandot ändras beroende på vilken LiveCD du har, eftersom varje distro har sina egna sätt att hantera paket. Chakra och Arch använder sudo pacman -S grub, men Debian-derivat gör så här:

sudo chroot / mnt / new / bin / bash

sudo grub-install / dev / sdb (där sdb är hårddisken där vi har den nya rotpartitionen, och vi behöver inte lägga ett nummer på den eller något liknande).
7) Nu, Innan vi startar om måste vi justera några små detaljer i fstab och grub.cfg. För att göra detta redigerar vi grub.cfg med vår föredragna textredigerare (kate, gedit, nano ...):
sudo kate /boot/grub/grub.cfg

Som du kan se på bilden har jag markerat de viktigaste delarna som vi måste titta på, men det kan finnas fler (leta efter dem och ändra dem enligt samma metod). Med data från vår helt nya rotpartition (UUID och företag) fortsätter vi att ersätta de gamla referenserna med de nya:
  • Där du lägger (hdX, Y) ändrar vi siffrorna för X och Y enligt följande:

X: anger hårddisknumret. Om skivan är sda är X lika med 0. Om skivan är sdb är X lika med 1. Om skivan är sdc är X lika med 2 och så vidare.
Y: anger partitionsnumret. 1,2,3 ... Exempel: andra partition av den första disken (hd0,2); andra partitionen av den tredje skivan (hd2,2) ... Får du idén?

  • Det andra fältet att ändra är UUID (koden för siffror och bokstäver så lång), som fortfarande pekar på den gamla partitionen. Vi ändrar det till UUID för den nya partitionen (kom ihåg att du kan kontrollera detta till exempel i GParted). Kontrollera data väl!
  • Den tredje modifieringen, och en av de viktigaste, är relaterad till den lilla röda rektangeln som ligger under UUID, och som sätter i bilden "sdb2". Det är här du måste ange den nya partitionen av din rot som logiskt sett måste motsvara (hdX, Y). Exempel: (hd0,1) -> sda1 // (hd2,3) -> sdc3

Tänk på att dessa ändringar i princip måste upprepas beroende på antalet poster i vårt operativsystem som finns i Grub. Jag har tre Chakra-poster, därför måste jag ändra dessa data tre gånger. I alla fall, Jag råder dig att bara ändra den första posten och när du förstår att allt börjar korrekt, fortsätt med att ändra resten från ditt verkliga operativsystem.

8) Löste frågan om Grub, vi går till fstab.
sudo kate / etc / fstab
Vi letar efter UUID av / och vi ändrar den för den nya, som vi gjorde i föregående steg. Vi sparar.

9) Vi kan nu starta om och kontrollera att allt är i ordning. Om operativsystemet fungerar bra kan vi fortsätta att ersätta data som vi lämnade oförändrade i de återstående posterna i filen grub.cfg, samt ta bort den gamla rotpartitionen - om vi önskar -.

Det är allt för idag.


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

17 kommentarer, lämna din

Lämna din kommentar

Din e-postadress kommer inte att publiceras.

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   Elery sade

    Detta letade efter XD. tack

  2.   Saints sade

    Det är ett mycket säkert förfarande, jag har använt det många gånger för många år sedan, och det bra är att den nya / partitionen inte kommer att innehålla filfragmentering ...

    Även om jag inte för länge sedan försökte ändra rotpartitionen med varianten att också ändra filsystemet (från reiserfs till ext3), men det var omöjligt för mig att göra det på grund av fler försök och vändningar som jag gav, på något sätt vid systemstart. detekteringen misslyckades de / på grund av att den letade efter ett reiserfs-system / partition när den nya formaterades med ext3. Att gå till underhållsläge och montera manuellt / som ext3 fungerade systemet korrekt, men nästa start misslyckades igen av samma anledning. Det fanns ingen redigering av grub eller fstab som fungerade ... letade alltid efter en / partition med reiserfs, kan inte hitta lösningen ...

    1.    Varg sade

      Det ser ut som om det fanns någon fil som pekade på reiserfs-partitionen. Kanske en iögonfallande linje från startladdaren eller något liknande, annars skulle ext3 ha laddats korrekt.

      1.    Saints sade

        Om det var vad jag tänkte ... och spenderade timmar på att leta efter något men hittade ingenting ... inte ens att söka på Internet.
        Hur som helst kan jag inte försäkra dig om att jag tidigare har gjort proceduren utan problem, det är att det har gått cirka 6 eller 7 år sedan jag brukade göra det nästan för nöje ... sista gången jag försökte göra det med Debian Lenny, förmodligen är den största skillnaden kärnan, innan du kanske använde en distro med linux 2.4.x.
        Hur som helst, om du går för att hitta lösningen hoppas jag att du delar den ...

  3.   ren434 sade

    Bra tips, ... om jag hade vetat förut.

    Hälsningar.

  4.   Merlin Debianiten sade

    Ja, mycket bra tips, det liknar mycket proceduren för att byta disk / hem, men jag visste inte vad du kunde göra med root.

    Mycket bra info även om jag kanske inte använder den är det bra att känna till flugorna själva. 🙂

    1.    Varg sade

      Ja, med / home är det mycket lättare eftersom du inte behöver installera om Grub eller ändra dess konfigurationsfil. Det räcker att kopiera allt du behöver och redigera fstab.

      1.    Merlin Debianiten sade

        Naturligtvis talar vi om / hem, det är uppenbart att / root kräver mer uppmärksamhet.

        Det är inte som / Hem, som vanligtvis nästan bara klipps ut och klistras in eller, om inte, kopiera och klistra in.

  5.   Keopety sade

    väldigt bra manual, vän, tack så mycket, jag skulle vilja veta om pdf-versionen eller någon annan kan laddas ner från någonstans, hälsningar

    1.    Varg sade

      Här går du, fräsch från ugnen;):

      https://sites.google.com/site/rsvnna/baul/Mover%20Root.pdf

      1.    Keopety sade

        Tack kompis, är mycket väl

  6.   Rayonant sade

    Tack så mycket! Jag letade efter något liknande och det som hade hänt mig var att göra bilder på partitionerna och sedan återställa dem men det saknades naturligtvis fler saker som monteringspunkter etc. Så det passar mig som en handske!

  7.   TheSandman86 sade

    Mycket bra info, det är alltid användbart att ha dessa saker till hands för alla fall. Tack så mycket.

  8.   Krim sade

    Om du använder Grub2, skulle det inte vara grub2-install?

    Var försiktig när du gör dessa handböcker så att du lägger någon i röran så länge du inte ställer rätt på kommandona.

    1.    svarsheepx sade

      I Arch döptes den gamla versionen av grub om till grub-legacy och grub 2 lämnades bara som grub så det är korrekt men på samma sätt rekommenderas att du läser dokumentationen för din distribution innan du gör ett viktigt drag som detta för att vara säker av namnen på paketen

      och tack vare författaren letade jag efter den detaljerade processen och det tjänade mig bra

  9.   Guillermo sade

    Par kommandon mer än punkt 5 har inte fungerat för mig, bättre det här:
    sudo su
    mkdir / media / kk (där roten till det installerade systemet är monterad)
    montera -t ext4 -o rw / dev / sda / media / kk
    montera –bind / proc / media / kk / proc
    montera –bind / dev / media / kk / dev
    montera –bind / sys / media / kk / sys
    chroot / media / kk
    update-grub
    grub-install / dev / sda (eller sdb, ...)

  10.   Alengoan sade

    Tack så mycket det hjälpte mig mycket, som ett alternativ efter att du har kopierat allt till den nya partitionen kan du flytta grubinstallationen med startreparationsverktyget, så att du inte behöver göra steg 5 och framåt

    sudo add-apt-depot ppa: yannubuntu / boot-repair
    sudo apt-get update
    sudo apt-get install boot boot-reparation

    graphifa-applikationen körs och avancerade alternativ aktiveras; grub-plats och den nya partitionen väljs för grub-installationen.