Hur man migrerar Ext2 eller Ext3 filsystem till Ext4 på Linux

Vet du att du bör uppgradera ditt Linux-filsystem men kan inte möta försämringen? Så här konverterar du ext2 och ext3 till ext4 utan omvälvningen av en fullständig ominstallation.

Linux filsystem

Om du var artig skulle du ringa till ext3 filsystem ärevördig, lanserade som den gjorde långt tillbaka 2001. När det gäller stackars gamla ext2, det filsystemet kommer från 1993, och det finns inget annat ord för det än forntida. I datortermer är ext3 en antikvitet. Och ext2 är ett arkeologiskt fynd.

Det moderna filsystemet i Linux-världen är ext4 som var släpptes 2008. Den är snabbare, mindre benägen för fragmentering, kan hantera större filsystem – och större filer – den har mer exakta fildatumstämplar och nämnde vi att den är snabbare? Mycket snabbare.

OK, jag är såld – låt oss göra det här

Låt oss tänka igenom detta. Egentligen vill du förmodligen inte uppgradera ditt filsystem.

Det är mer meningsfullt att uppgradera hela ditt Linux-system istället. Med uppgradering menar vi att ta ett par säkerhetskopior av data, rensa ditt system, installera om en modern distribution och återställa dina data. Gå till den fullständiga uppdateringen. Få fördelarna med en modern Linux-distribution med uppdaterad programvara, samt ett rent, aktuellt och nyinstallerat filsystem.

Om du inte kan köra en modern Linux på din hårdvara, till och med en av de lätta distributionerna som Lubuntu, LinuxLite eller CrunchBang++och du måste absolut hålla dig till den Linux du har, det finns fortfarande varningar.

För att uppgradera ditt filsystem till ext4 måste du använda kärnversion 2.6.28 eller senare. Så om du inte har den versionen av kärnan eller en senare version, måste du uppgradera din kärna först.

Varning: Tänk inte ens på att prova detta utan att uppfylla kravet på kärnversionen. Du kommer att sluta med en omstartbar dator. Kontrollera vilken kärnversion du använder innan du fortsätter.

Se till att du har en installationsskiva för den version av Linux som du använder för närvarande och håll den i standby. Att uppgradera ditt filsystem är inte utan faror.

Säkerhetskopieringar är ditt skyddsnät. Innan du gör något, gör ett par säkerhetskopior av data till olika backupmedia och se till att du har den gamla Linux-installationsskivan till hands. Om något går fel kan du sedan installera om din gamla Linux och återställa dina data.

Du kommer också att behöva en aktuell Live CD/DVD av en modern Linux-distribution för att utföra filsystemuppgraderingen med. Så se till att du har en av dem till hands också.

Den här artikeln undersöktes för övrigt med hjälp av en installation av Ubuntu Jaunty Jackalope, som släpptes i april 2009. Den använde ext3 som filsystem.

Fortfarande med oss?

John Wayne sa att mod var skräckslagen men att han fortfarande sadlade upp sig ändå. Jag beundrar ditt mod.

Det första vi ska göra är att kontrollera kärnversionen med uname. Kommandot uname kan visa olika typer av systeminformation.

Öppna ett terminalfönster på din gamla Linux-dator och skriv följande kommando. Skriv uname , ett mellanslag, -r och tryck sedan på Enter.

uname -r

Versionen av Linux på den här datorn använder kärnversion 2.6.28-11, så vi har uppfyllt kärnversionskravet.

Seriöst, om du inte har uppfyllt detta krav, sluta nu. Nära nog är bara inte tillräckligt. Du måste uppfylla eller överskrida detta kärnversionsnummer.

Nu ska vi kontrollera diskidentifierarna med blkid, som identifierar blockenheterna på systemet.

blkid

Detta system har en enda hårddisk (sda) som har ett filsystem på sig (sda1) som är monterat på /dev/sda1. Detta är ett ext3-filsystem. Det här är filsystemet vi ska konvertera.

Det finns också ett filsystem som heter swap, men det intresserar oss inte.

Starta om med Live CD

Sätt in Live CD:n och starta om datorn. Du kan behöva trycka på en tangent under omstarten för att få datorn att starta från CD:n. Nyckeln att trycka på kommer att visas under de tidiga stadierna av uppstartsprocessen. Var snabb – möjligheternas fönster varar inte länge. Om du missar det, starta om och försök igen.

När du har startat upp i Live CD-miljön, se till att du inte startar en installation av misstag. Ta dig tid att läsa alternativen du får, och om det finns ett som säger något som liknar ”Try DistributionName”, välj det alternativet.

Bli root

Öppna ett terminalfönster och skriv följande kommando. Detta gör att du effektivt rootar och betyder att du inte behöver skriva sudo framför varje kommando.

sudo bash

Observera att kommandotolken har ändrats. Du är root. Gå försiktigt.

Identifiera filsystemen

Vi måste identifiera filsystemen en gång till för att se hur de dyker upp i den här instansen av Linux.

fdisk -l

Du kommer att se några utdata som liknar följande.

Filsystemet som vi tidigare identifierade som sda1 har hittats och känts igen av Live CD Linux. Det är den första minimilstolpen.

Den andra är att konvertera filsystemet.

Konvertera filsystemet

Det finns två kommandon listade här, ett för att konvertera från ext2 till ext4 och ett för att konvertera från ext3 till ext4. Se till att du använder rätt för dig!

För att konvertera från ext2 till ext4 använd detta:

tune2fs -O extents,uninit_bg,dir_index,has_journal /dev/sda1

För att konvertera från ext3 till ext4 använd detta:

tune2fs -O extents,uninit_bg,dir_index /dev/sda1

Det är lite överväldigande eftersom inte mycket verkar hända. Du återgår till kommandotolken. Om du ser någon utdata kommer det förmodligen att vara felmeddelanden. Så inga nyheter är goda nyheter här.

Kontrollera filsystemet

Även om inga fel flaggades, låt oss vara noggranna och kontrollera hela filsystemet för problem. Vi kommer att använda ett kommando som heter e2fsck. Detta är ett verktyg som används för att kontrollera filsystemens integritet. Den kan också försöka reparera eventuella problem den hittar. Verktyget e2fsck fungerar med ext2, ext3 och även ext4 filsystem.

Alternativet -p (preen) gör att e2fsck försöker reparera fel och alternativet -f (force) gör att e2fsck kontrollerar filsystemet även om filsystemet verkar rent.

e2fsck -pf /dev/sda1

Inga fel rapporterades. Vi kan nu försöka montera filsystemet.

Montering av filsystemet

Vi måste justera filsystemtabellen (fstab) och grub bootloader för att fungera med det konverterade filsystemet. För att göra detta måste vi montera filsystemet. Vi ska montera den på /mnt. Vi identifierade filsystemet som sda1 tidigare, så vårt kommando är:

mount -t ext4 /dev/sda1 /mnt

Nu när det är monterat bör vi kunna lista filsystemet. Låt oss kolla det. Roten till filsystemet kommer att vara vid monteringspunkten, /mnt.

ls /mnt

Det är uppmuntrande. Det ser ut som vi förväntar oss det.

Redigera fstab

Vi måste redigera fstab-filen och ändra eventuella referenser för ext3 (eller ext2, om det är filsystemet du har konverterat från) till ext4.

Live-CD:n som används i det här exemplet har nanoredigeraren. Det är en enkel liten redigerare, så det kommer vi att använda. Om nano inte är tillgängligt på din Live CD kommer det att finnas en annan redigerare som kommer att ha paketerats av Linux-distributionen på CD:n.

nano /mnt/etc/fstab

Fönstret för nanoredigeraren visas. Du måste leta efter förekomster av strängen ”ext3” eller ”ext2” och ändra dem till ”ext4”. I det här exemplet var det en förekomst av ext3, som är markerad.

Ext3 ersattes av ext4.

Du måste spara filen och avsluta redigeraren. I nano kommer Ctrl+O att spara filen och Ctrl+X stänger redigeraren.

Uppgraderar grub

Eftersom vi har monterat sda1-filsystemet på /mnt, har vägarna till katalogerna i filsystemet i praktiken alla flyttats en nivå djupare än vanligt. Det är därför sökvägen vi gav till nano var /mnt/etc/fstab istället för den vanliga /etc/fstab.

Eftersom grub förväntar sig att hitta saker på vissa platser måste vi få filsystemet att se ut som om det var monterat normalt. Vi behöver roten av filsystemet vara vid / och inte vid /mnt. Kommandot chroot låter oss köra ett kommandoskal och till ange rotpunkten vi vill använda.

Kommandot vi använder är:

chroot /mnt

Observera att kommandotolken har ändrats.

Vi kan nu utfärda kommandot update-grub för att få grub att läsa fstab-filen och konfigurera om sig själv.

update-grub

.

När grub har konfigurerat om sig själv måste vi installera en ny instans av grub på hårddisken. Observera att detta är hårddisken sda, inte filsystemet sda1. Inkludera inte ”1”, skriv bara ”sda”.

grub-install /dev/sda

Startar om din Linux

Starta om ditt system och ta bort Live CD:n. När ditt system har startat om, öppna ett terminalfönster och skriv in följande kommando:

blkid

Som vi kan se är filsystemet nu ett ext4-filsystem.

Maskinen som den här artikeln undersöktes om tog så lång tid att starta om (över tio minuter) att det antogs att något hade gått fel och att den aldrig skulle komma upp igen.

Kanske berodde det på att det var en virtuell maskin, eller så kanske en del av filsystemkonverteringen sker under den första uppstarten. Hur som helst, tålamodet vann över, och det kom så småningom upp igen. Om din maskin gör något liknande, vänta ut det. Allt kanske inte går förlorat.

Efterföljande omstarter var lika snabba som vanligt.

Uppgradera din Linux istället

Nåväl, vi kom dit. Men du har fortfarande kvar en icke-standard hybrid som använder en gammal Linux-version på ett modernt filsystem.

Om det är viktigt för dig att flytta till ett nytt filsystem, och din hårdvara klarar det, är att flytta till en nuvarande Linux-distribution den bästa vägen att ta. Du kommer att njuta av alla andra säkerhets- och mjukvarufördelar som kommer av att göra det.

Ändå, om det inte finns något annat för det – och ibland har vi inte de alternativ som vi önskar att vi hade – låter dessa steg dig uppgradera ditt filsystem.