Cum să migrați sistemele de fișiere Ext2 sau Ext3 la Ext4 pe Linux

Poate că știi că e necesar să-ți modernizezi sistemul de fișiere Linux, dar te reții din cauza complexității procesului? Iată o modalitate de a transforma sistemele de fișiere ext2 și ext3 în ext4, fără a recurge la o reinstalare completă.

Despre sistemele de fișiere Linux

Un sistem de fișiere ext3 ar putea fi considerat, într-un mod elegant, ca fiind un veteran, dat fiind că a fost lansat în 2001. Dar când vorbim despre vechiul ext2, apărut în 1993, cuvântul „antic” este prea blând. În termeni tehnici, ext3 este un sistem învechit, iar ext2, o adevărată relicvă.

În prezent, sistemul de fișiere standard în lumea Linux este ext4, introdus în 2008. Acesta oferă performanțe mai ridicate, o rezistență sporită la fragmentare, suport pentru sisteme de fișiere și fișiere mai mari, date mai precise pentru fișiere și, cel mai important, este mai rapid. Mult mai rapid.

Decizia este luată – Să începem!

Dar, oare este cea mai bună alegere? Probabil că nu este ideal să te concentrezi doar pe actualizarea sistemului de fișiere.

Cel mai logic ar fi să-ți actualizezi întregul sistem Linux. Această operațiune presupune crearea unor copii de rezervă, ștergerea sistemului existent, instalarea unei distribuții moderne și restaurarea datelor. Altfel spus, o reîmprospătare completă a sistemului. Vei beneficia de un sistem Linux actualizat, cu software modern și un sistem de fișiere complet nou.

Dacă hardware-ul tău nu poate rula o distribuție Linux modernă, nici măcar una dintre cele mai ușoare, cum ar fi Lubuntu, LinuxLite sau CrunchBang++, și ești obligat să folosești sistemul Linux pe care-l ai deja, există câteva precauții de luat în considerare.

Pentru a trece la ext4, ai nevoie de un kernel versiunea 2.6.28 sau mai nouă. Deci, dacă nu ai o astfel de versiune a kernel-ului, trebuie mai întâi să faci un upgrade.

Atenție: Nici măcar nu te gândi să începi acest proces dacă nu ai versiunea kernel-ului cerută. Rişti să ai un computer care nu mai pornește. Verifică versiunea kernel-ului înainte de a continua.

De asemenea, asigură-te că ai la îndemână un disc de instalare pentru versiunea de Linux pe care o folosești în prezent. Actualizarea sistemului de fișiere nu este lipsită de riscuri.

Copiile de siguranță sunt esențiale. Înainte de a începe orice, creează mai multe copii de rezervă ale datelor tale pe suporturi diferite și asigură-te că ai discul de instalare vechi la îndemână. Dacă ceva nu merge bine, vei putea reinstala vechiul Linux și îți vei putea restaura datele.

Vei mai avea nevoie și de un CD/DVD Live actualizat al unei distribuții Linux moderne pentru a efectua actualizarea sistemului de fișiere. Asigură-te că ai unul la dispoziție.

Acest articol a fost elaborat folosind o instalație Ubuntu Jaunty Jackalope, lansată în aprilie 2009, care utiliza ext3 ca sistem de fișiere.

Ești încă hotărât?

Curajul înseamnă să-ți înfrunți temerile, chiar și atunci când ești speriat. Admir curajul tău.

Mai întâi, vom verifica versiunea kernel-ului cu comanda `uname`. Această comandă poate afișa diferite informații despre sistem.

Pe vechiul tău computer Linux, deschide un terminal și introdu următoarea comandă: `uname -r` și apasă Enter.

uname -r

Acest computer folosește kernel-ul versiunea 2.6.28-11, deci îndeplinim cerințele legate de versiune.

Serios, dacă nu ai această versiune, oprește-te acum. Nu te mulțumi cu ceva apropiat. Trebuie să ai această versiune sau una mai recentă a kernel-ului.

Acum vom verifica identificatorii discului cu `blkid`, o comandă care identifică dispozitivele bloc de pe sistem.

blkid

Acest sistem are un singur hard disk (sda) cu un sistem de fișiere (sda1), montat în `/dev/sda1`. Acesta este un sistem ext3. Acesta este sistemul de fișiere pe care-l vom converti.

Mai există un sistem de fișiere `swap`, dar nu ne interesează deocamdată.

Repornește cu CD-ul Live

Introdu CD-ul Live și repornește computerul. Poate fi necesar să apeși o tastă în timpul pornirii pentru a iniția bootarea de pe CD. Această tastă va fi afișată în primele momente ale procesului de pornire. Fii atent – ai puțin timp la dispoziție. Dacă ai ratat, repornește și încearcă din nou.

După ce ai pornit de pe CD-ul Live, asigură-te că nu pornești din greșeală o instalare. Citește cu atenție opțiunile disponibile și, dacă vezi ceva de genul „Încearcă DistributionName”, selectează acea opțiune.

Obține permisiuni de root

Deschide un terminal și introdu comanda următoare. Aceasta îți oferă acces root, deci nu mai este necesar să scrii `sudo` în fața fiecărei comenzi.

sudo bash

Observă că promptul de comandă s-a modificat. Acum ai acces root. Fii foarte atent.

Identifică sistemele de fișiere

Trebuie să identificăm din nou sistemele de fișiere, să vedem cum sunt recunoscute în acest mediu Linux.

fdisk -l

Vei vedea un rezultat asemănător cu următorul:

Sistemul de fișiere pe care l-am identificat ca sda1 a fost găsit și recunoscut de CD-ul Live Linux. Acesta este primul mic pas important.

Urmează conversia sistemului de fișiere.

Conversia sistemului de fișiere

Aici ai două comenzi, una pentru conversia de la ext2 la ext4 și alta de la ext3 la ext4. Asigură-te că folosești comanda potrivită!

Pentru conversia de la ext2 la ext4, folosește:

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

Pentru conversia de la ext3 la ext4, folosește:

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

Este ușor dezamăgitor, pentru că nu se întâmplă multe. Vei reveni la promptul de comandă. Dacă vezi mesaje, sunt probabil mesaje de eroare. Deci, lipsa mesajelor este un semn bun.

Verificarea sistemului de fișiere

Chiar dacă nu s-au afișat erori, este mai bine să verificăm complet sistemul de fișiere pentru eventuale probleme. Vom folosi comanda `e2fsck`, un instrument care verifică integritatea sistemelor de fișiere. Poate încerca și să repare eventualele probleme. `e2fsck` este compatibil cu sistemele ext2, ext3 și ext4.

Opțiunea `-p` (preen) forțează `e2fsck` să încerce să repare erorile, iar opțiunea `-f` (force) o obligă să verifice sistemul de fișiere chiar dacă pare că este în ordine.

e2fsck -pf /dev/sda1

Nu au fost raportate erori. Acum putem încerca să montăm sistemul de fișiere.

Montarea sistemului de fișiere

Trebuie să ajustăm tabelul sistemului de fișiere (fstab) și încărcătorul de boot `grub` pentru a funcționa cu noul sistem de fișiere. Pentru asta, montăm sistemul de fișiere în `/mnt`. Am identificat anterior sistemul ca fiind sda1, deci comanda este:

mount -t ext4 /dev/sda1 /mnt

Acum că este montat, putem lista sistemul de fișiere. Să verificăm. Rădăcina sistemului de fișiere va fi în punctul de montare `/mnt`.

ls /mnt

Arată bine. Așa cum ne așteptam.

Editarea fișierului fstab

Trebuie să edităm fișierul fstab și să înlocuim toate aparițiile lui `ext3` (sau `ext2`, dacă ai convertit de acolo) cu `ext4`.

CD-ul Live folosit are editorul `nano`. Este un editor simplu, deci îl vom folosi. Dacă `nano` nu este disponibil, va exista alt editor inclus în distribuția de pe CD.

nano /mnt/etc/fstab

Se va deschide editorul nano. Trebuie să cauți aparițiile șirurilor „ext3” sau „ext2” și să le modifici în „ext4”. În acest exemplu, am găsit o apariție a lui ext3, care este evidențiată.

`ext3` a fost înlocuit cu `ext4`.

Trebuie să salvezi fișierul și să ieși din editor. În `nano`, `Ctrl+O` salvează fișierul, iar `Ctrl+X` închide editorul.

Actualizarea `grub`

Deoarece am montat sistemul de fișiere sda1 pe `/mnt`, căile către directoarele din sistemul de fișiere au fost modificate. De aceea, calea către nano a fost `/mnt/etc/fstab` în loc de `/etc/fstab` obișnuit.

Pentru că `grub` se așteaptă să găsească lucrurile în anumite locuri, trebuie să facem sistemul de fișiere să arate ca și cum ar fi montat normal. Rădăcina sistemului trebuie să fie în `/` și nu în `/mnt`. Comanda `chroot` ne permite să executăm un shell de comandă și să specificăm rădăcina pe care vrem să o folosim.

Comanda pe care o folosim este:

chroot /mnt

Observă că promptul de comandă s-a modificat.

Acum putem executa `update-grub` pentru ca `grub` să citească fișierul fstab și să se reconfigureze.

update-grub

După ce `grub` s-a reconfigurat, trebuie să instalăm o nouă instanță pe hard disk. Atenție, este hard disk-ul sda, nu sistemul de fișiere sda1. Nu include „1”, introdu doar „sda”.

grub-install /dev/sda

Repornirea Linux

Repornește sistemul și scoate CD-ul Live. După ce sistemul a pornit, deschide un terminal și introdu comanda:

blkid

După cum se vede, sistemul de fișiere este acum ext4.

Mașina virtuală pe care a fost testat acest articol a avut nevoie de foarte mult timp pentru a reporni (peste 10 minute), așa că am crezut că ceva nu a mers bine și că nu va mai reveni.

Poate din cauză că era o mașină virtuală, sau poate o parte din conversia sistemului are loc în timpul primei porniri. Oricum, răbdarea a dat roade și a revenit în cele din urmă. Dacă și computerul tău face ceva similar, așteaptă. Poate nu totul este pierdut.

Următoarele reporniri au fost la fel de rapide ca de obicei.

Cel mai bine, treci la un Linux modern

Am ajuns la final. Totuși, ai rămas cu un hibrid, un sistem Linux vechi care rulează pe un sistem de fișiere modern.

Dacă tranziția la un nou sistem de fișiere este importantă, și hardware-ul tău permite acest lucru, cea mai bună soluție este trecerea la o distribuție Linux actualizată. Te vei bucura de avantajele de securitate și de software-ul modern.

Totuși, dacă nu ai altă opțiune, pașii aceștia te vor ajuta să-ți actualizezi sistemul de fișiere.