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.
Innholdsfortegnelse
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.
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.
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.
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.