Hvordan migrere Ext2 eller Ext3 filsystemer til Ext4 på Linux

Vet du at du bør oppgradere Linux-filsystemet, men kan ikke møte forverringen? Slik konverterer du ext2 og ext3 til ext4 uten omveltningen av en fullstendig ominstallering.

Linux filsystemer

Hvis du var høflig, ville du ringe ext3 filsystem ærverdig, lansert som det gjorde helt tilbake i 2001. Som for dårlig gammel ext2, det filsystemet stammer fra 1993, og det er ikke noe annet ord for det enn gammelt. I datatermer er ext3 en antikk. Og ext2 er et arkeologisk funn.

Det moderne filsystemet i Linux-verdenen er ext4 som var utgitt i 2008. Den er raskere, mindre utsatt for fragmentering, i stand til å håndtere større filsystemer – og større filer – den har mer nøyaktige fildatostempel og nevnte vi at den er raskere? Mye raskere.

OK, jeg er solgt – la oss gjøre dette

La oss tenke gjennom dette. Faktisk vil du sannsynligvis ikke oppgradere filsystemet ditt.

Det er mer fornuftig å oppgradere hele Linux-systemet i stedet. Med oppgradering mener vi å ta et par sikkerhetskopier av data, tørk systemet, installer en moderne distribusjon på nytt og gjenopprett dataene dine. Gå for fullstendig oppdatering. Få fordelene med en moderne Linux-distribusjon med oppdatert programvare, samt et rent, nåværende og nyinstallert filsystem.

Hvis du ikke kan kjøre en moderne Linux på maskinvaren din, kan til og med en av de lette distribusjonene Lubuntu, LinuxLite eller CrunchBang++, og du absolutt må holde deg til Linux du har, er det fortsatt forbehold.

For å oppgradere filsystemet til ext4, må du bruke kjerneversjon 2.6.28 eller nyere. Så hvis du ikke har den versjonen av kjernen eller en senere versjon, må du oppgradere kjernen først.

Advarsel: Ikke engang tenk på å prøve dette uten å tilfredsstille kravet til kjerneversjon. Du vil ende opp med en uoppstartbar datamaskin. Sjekk hvilken kjerneversjon du bruker før du fortsetter.

Sørg for at du har en installasjonsdisk for Linux-versjonen du bruker for øyeblikket, og hold den på stand by. Oppgradering av filsystemet er ikke uten farer.

Sikkerhetskopier er ditt sikkerhetsnett. Før du gjør noe, ta et par sikkerhetskopier av data til forskjellige backupmedier, og sørg for at du har den gamle Linux-installasjonsdisken tilgjengelig. Hvis noe går galt, kan du deretter installere din gamle Linux på nytt og gjenopprette dataene dine.

  Hvordan installere Sqlite Browser på Linux

Du kommer også til å trenge en gjeldende Live CD/DVD av en moderne Linux-distribusjon for å utføre filsystemoppgraderingen med. Så sørg for at du også har en av dem for hånden.

Denne artikkelen ble forresten undersøkt med en installasjon av Ubuntu Jaunty Jackalope, som ble utgitt i april 2009. Den brukte ext3 som filsystem.

Fortsatt med oss?

John Wayne sa at motet var livredd, men at han fortsatt sadler opp. Jeg beundrer magefølelsen din.

Det første vi skal gjøre er å sjekke kjerneversjonen med uname. Kommandoen uname kan vise forskjellige typer systeminformasjon.

Åpne et terminalvindu på din gamle Linux-datamaskin og skriv inn følgende kommando. Skriv inn uname , et mellomrom, -r, og trykk deretter på Enter.

uname -r

Versjonen av Linux på denne datamaskinen bruker kjerneversjon 2.6.28-11, så vi har oppfylt kravene til kjerneversjon.

Seriøst, hvis du ikke har oppfylt dette kravet, stopp nå. Nær nok er bare ikke nok. Du må oppfylle eller overskride dette kjerneversjonsnummeret.

Nå skal vi sjekke diskidentifikatorene med blkid, som identifiserer blokkenhetene på systemet.

blkid

Dette systemet har en enkelt harddisk (sda) som har et filsystem på seg (sda1) som er montert på /dev/sda1. Dette er et ext3 filsystem. Dette er filsystemet vi skal konvertere.

Det finnes også et filsystem som heter swap, men det interesserer oss ikke.

Start på nytt med Live CD

Sett inn Live CD og start datamaskinen på nytt. Du må kanskje trykke på en tast under omstart for å få datamaskinen til å starte opp fra CD-en. Tasten som skal trykkes vil vises under de tidlige stadiene av oppstartsprosessen. Vær rask – mulighetsvinduet varer ikke lenge. Hvis du savner det, start på nytt og prøv igjen.

Når du har startet opp i Live CD-miljøet, pass på at du ikke starter en installasjon ved et uhell. Ta deg tid til å lese alternativene du får, og hvis det er en som sier noe som ligner på «Prøv distribusjonsnavn», velg det alternativet.

Bli root

Åpne et terminalvindu og skriv inn følgende kommando. Dette gjør deg effektivt root og betyr at du ikke trenger å skrive sudo foran hver kommando.

sudo bash

Merk at ledeteksten er endret. Du er rot. Trå forsiktig.

Identifiser filsystemene

Vi må identifisere filsystemene en gang til for å se hvordan de dukker opp i denne forekomsten av Linux.

fdisk -l

Du vil se noen utdata som ligner på følgende.

  Hvordan bruke hvilken kommando på Linux

Filsystemet vi tidligere identifiserte som sda1 er funnet og gjenkjent av Live CD Linux. Det er den første mini-milepælen.

Den andre er å konvertere filsystemet.

Konvertering av filsystemet

Det er to kommandoer oppført her, én for konvertering fra ext2 til ext4 og én for konvertering fra ext3 til ext4. Pass på at du bruker den rette for deg!

For å konvertere fra ext2 til ext4 bruk dette:

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

For å konvertere fra ext3 til ext4, bruk dette:

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

Det er litt underveldende siden det ikke ser ut til å skje mye. Du kommer tilbake til ledeteksten. Hvis du ser noen utdata, vil det sannsynligvis være feilmeldinger. Så ingen nyheter er gode nyheter her.

Sjekk filsystemet

Selv om ingen feil ble flagget, la oss være grundige og sjekke hele filsystemet for problemer. Vi vil bruke en kommando kalt e2fsck. Dette er et verktøy som brukes til å sjekke integriteten til filsystemene. Den kan også prøve å reparere eventuelle problemer den finner. e2fsck-verktøyet fungerer med ext2, ext3 og også ext4 filsystemer.

Alternativet -p (preen) får e2fsck til å forsøke å reparere feil og alternativet -f (force) får e2fsck til å sjekke filsystemet selv om filsystemet virker rent.

e2fsck -pf /dev/sda1

Ingen feil ble rapportert. Vi kan nå prøve å montere filsystemet.

Montering av filsystemet

Vi må justere filsystemtabellen (fstab) og grub bootloader for å fungere med det konverterte filsystemet. For å gjøre dette må vi montere filsystemet. Vi skal montere den på /mnt. Vi identifiserte filsystemet som sda1 tidligere, så vår kommando er:

mount -t ext4 /dev/sda1 /mnt

Nå som den er montert bør vi kunne liste filsystemet. La oss sjekke det. Roten til filsystemet kommer til å være på monteringspunktet, /mnt.

ls /mnt

Det er oppmuntrende. Det ser ut som vi forventer det.

Redigering av fstab

Vi må redigere fstab-filen og endre eventuelle referanser til ext3 (eller ext2, hvis det er filsystemet du har konvertert fra) til ext4.

Live-CDen som brukes i dette eksemplet har nano-editoren. Det er en enkel liten editor, så vi bruker den. Hvis nano ikke er tilgjengelig på din Live CD, vil det være en annen editor som vil ha blitt samlet av Linux-distribusjonen på CDen.

nano /mnt/etc/fstab

Nanoredigeringsvinduet vises. Du må se etter forekomster av strengen «ext3» eller «ext2» og endre dem til «ext4». I dette eksemplet var det én forekomst av ext3, som er uthevet.

  Hvordan oppgradere til Wine 7 på Linux

ext3 ble erstattet av ext4.

Du må lagre filen og avslutte redigeringsprogrammet. I nano vil Ctrl+O lagre filen, og Ctrl+X lukker redigeringsprogrammet.

Oppgradering av grub

Fordi vi har montert sda1-filsystemet på /mnt, har banene til katalogene i filsystemet i praksis alle blitt flyttet ett nivå dypere enn vanlig. Det er derfor banen vi ga til nano var /mnt/etc/fstab i stedet for den vanlige /etc/fstab.

Fordi grub forventer å finne ting på visse steder, må vi få filsystemet til å se ut som om det var montert normalt. Vi trenger at roten til filsystemet er på / og ikke på /mnt. Chroot-kommandoen lar oss kjøre et kommandoskall og til spesifiser rotpunktet vi ønsker å bruke.

Kommandoen vi bruker er:

chroot /mnt

Merk at ledeteksten er endret.

Vi kan nå gi kommandoen update-grub for å få grub til å lese fstab-filen og rekonfigurere seg selv.

update-grub

.

Når grub har rekonfigurert seg selv, må vi installere en ny forekomst av grub på harddisken. Merk at dette er harddisken sda, ikke filsystemet sda1. Ikke ta med «1», bare skriv «sda».

grub-install /dev/sda

Starter Linux på nytt

Start systemet på nytt og fjern Live CD. Når systemet har startet på nytt, åpner du et terminalvindu og skriver inn følgende kommando:

blkid

Som vi kan se, er filsystemet nå et ext4 filsystem.

Maskinen som denne artikkelen ble undersøkt på tok så lang tid å starte på nytt (over ti minutter) at det ble antatt at noe hadde gått galt og at den aldri ville komme opp igjen.

Kanskje det var fordi det var en virtuell maskin, eller kanskje noe av filsystemkonverteringen finner sted under den første oppstarten. Uansett, tålmodigheten vant frem, og den dukket til slutt opp igjen. Hvis maskinen din gjør noe lignende, vent ut. Alt er kanskje ikke tapt.

Påfølgende omstarter var like raske som normalt.

Oppgrader din Linux i stedet

Vel, vi kom dit. Men du sitter fortsatt igjen med en ikke-standard hybrid som bruker en gammel Linux-utgivelse på et moderne filsystem.

Hvis det er viktig for deg å flytte til et nytt filsystem, og maskinvaren din tåler det, er flytting til en nåværende Linux-distribusjon den beste veien å ta. Du vil nyte alle de andre sikkerhets- og programvarefordelene som kommer av å gjøre det.

Likevel, hvis det ikke er noe annet for det – og noen ganger har vi ikke alternativene vi skulle ønske vi gjorde – vil disse trinnene tillate deg å oppgradere filsystemet.