Flytta rotpartitionen till en annan disk

I dagens handledning ska jag förklara hur du kan flytta rotpartitionen för din Linux-distribution till en annan partition (oavsett om den ä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 noll problem.

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 från alla distroer som vi har där ute (en från Ubuntu, till exempel, kommer att tjäna vårt syfte), och korrekt identifiera vilken som är käll- och destinationspartitionen.

För att få sådan information kan vi tillgripa GParted eller KDE:s partitionsredigerare. När vi kör dem kommer vi att se ett fönster som liknar det i skärmdumpen nedan. Där måste vi leta efter 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"). Uppenbarligen, om vi ska flytta en partition kommer vi att behöva 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 göra det klart att jag i denna handledning endast 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 nedskriven på ett papper, börjar vi jobba:

1) Vi startar datorn med Live CD:n och vänta på att skrivbordet ska laddas.

2) I en terminal Vi anger följande två kommandon:

sudo mkdir /mnt/old

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) Efter att du har monterat varje partition, vi fortsätter att kopiera filerna med två kommandon (ett för vanliga filer och ett för dolda data). Den andra kanske inte är absolut nödvändig, men jag kör den för säkerhets skull. 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 ytterligare ett par kommandon:

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

6) Nu vi chrotar i den nya partitionen för att installera om Grub2. Installationskommandot ändras beroende på vilken LiveCD du har, eftersom varje distro har sina egna sätt att hantera paket. I Chakra och Arch används sudo pacman -S grub, men i Debianderivat görs det 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 sätta 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 (sök efter dem och modifiera dem enligt samma metodik). 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 (hdX,Y) ändrar vi siffrorna för X och Y enligt följande:

X: indikerar hårddisknumret. Om disken är sda är X lika med 0. Om disken är sdb är X lika med 1. Om disken är sdc är X lika med 2, och så vidare.
Y: indikerar partitionsnumret. 1,2,3... Exempel: andra partitionen på den första disken (hd0,2); andra partitionen på den tredje disken (hd2,2)... Förstå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 till exempel kan kontrollera detta i GParted). Kontrollera uppgifterna väl!
  • Den tredje förändringen, och en av de viktigaste, är relaterad till den lilla röda rektangeln under UUID, som säger "sdb2" i bilden. Det är där du måste ange den nya partitionen för 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-ingångar, därför måste jag ändra denna data 3 gånger. Dock, Jag råder dig att bara ändra den första posten och, när du ser att allt startar korrekt, fortsätt med att ändra resten, från ditt riktiga operativsystem.

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

9) Nu kan vi starta om och kontrollera att allt är i sin 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 det är vår önskan-.

Det är allt för idag.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  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 var vad jag letade efter XD tack

  2.   Saints sade

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

    Även om jag för inte så 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 för fler försök och vändningar som jag gav, på något sätt i början av systemet misslyckades upptäckten från / på grund av att det letade efter en / partition med reiserfs-systemet när den nya formaterades med ext3. När man gick in i underhållsläge och manuellt monterade / som ext3 fungerade systemet korrekt, men nästa start misslyckades det igen av samma anledning. Det fanns ingen utgåva av grub eller fstab som fungerade... letar alltid efter en / partition med reiserfs, hittar inte lösningen...

    1.    Varg sade

      Det låter som att det fanns någon fil som pekade på reiserfs-partitionen. Kanske en oansenlig rad i bootloadern eller något, annars borde ext3 ha laddats korrekt.

      1.    Saints sade

        Om det var vad jag trodde... och jag tillbringade timmar med att leta efter något men jag hittade ingenting... inte ens söka på Internet.
        Ändå kan jag inte garantera att jag tidigare har gjort proceduren utan problem, det är ungefär 6 eller 7 år från att jag brukade göra det nästan för skojs skull... sista gången jag försökte göra det med Debian Lenny, förmodligen Den största skillnaden är kärnan, innan du kanske använde någon distro med linux 2.4.x.
        Hur som helst, om du lyckas hitta lösningen hoppas jag att du delar den...

  3.   ren434 sade

    Bra tips, ... om jag hade vetat innan.

    Hälsningar.

  4.   Merlin Debianiten sade

    Ja mycket bra tips, det ser mycket ut som proceduren för att byta /home-disken, men jag visste inte att det kunde göras med root.

    Mycket bra info, även om jag kanske inte använder den så är det bra att veta för flugorna. 🙂

    1.    Varg sade

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

      1.    Merlin Debianiten sade

        Jo, det är klart vi pratar om /home, det är uppenbart att /root kräver mer uppmärksamhet.

        Det är inte som /Home som i allmänhet nästan bara är klipp och klistra eller kopiera och klistra.

  5.   Keopety sade

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

    1.    Varg sade
      1.    Keopety sade

        tack vännen, det är väldigt bra

  6.   Rayonant sade

    Tack så mycket! Jag letade efter något liknande och det som hade kommit upp för mig var att göra bilder av partitionerna och sedan återställa dem, men självklart saknades fler saker, som monteringspunkter osv. Så det passar mig som handen i handsken!

  7.   TheSandman86 sade

    Mycket bra info, det är alltid bra att ha dessa saker till hands för säkerhets skull. Tack så mycket.

  8.   Krim sade

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

    Var försiktig när du gör dessa manualer att du sätter någon i problem så länge du inte lägger kommandona korrekt.

    1.    blacksheepx sade

      I Arch döptes den gamla versionen av grub om till grub-legacy och grub 2 förblev bara som grub så det är korrekt men det är fortfarande tillrådligt att läsa dokumentationen för din distribution innan du gör ett stort drag som detta för att vara säker på namnen på paketen

      och tack vare författaren letade jag efter den detaljerade processen och detta tjänade mig väl

  9.   Guillermo sade

    De par kommandon från punkt 5 har inte fungerat för mig, bättre detta:
    sudo su
    mkdir /media/kk (där roten till det installerade systemet är monterat)
    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 ha kopierat allt till den nya partitionen kan du flytta grub-installationen med boot-repair-verktyget, så slipper du 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

    grafapplikationen körs, avancerade alternativ är aktiverade; grub-plats och välj den nya partitionen för grub-installationen.