Як перенести файлові системи Ext2 або Ext3 на Ext4 в Linux

Ви знаєте, що настав час модернізувати файлову систему вашого Linux, але перспектива перевстановлення всієї системи вас не приваблює? Розглянемо, як можна здійснити перехід з ext2 та ext3 на ext4 без необхідності переінсталяції операційної системи.

Історія файлових систем Linux

Файлову систему ext3 можна вважати поважною, адже її розроблено ще у 2001 році. А ext2, що з’явилась у 1993, вже можна назвати історичною. З погляду комп’ютерної техніки, ext3 – це вже антикваріат, а ext2 – справжня археологічна знахідка.

Сьогоднішнім стандартом у світі Linux є ext4, представлена у 2008 році. Вона забезпечує вищу швидкість, меншу схильність до фрагментації, здатна працювати з великими файловими системами та об’ємними файлами. Крім того, вона пропонує точніші позначки часу для файлів. Згадували, що вона значно швидша?

Перехід на ext4: що потрібно врахувати

Перш ніж розпочати, важливо обміркувати, чи дійсно вам потрібно оновлювати лише файлову систему. Можливо, більш ефективним буде оновлення всієї системи Linux. Це передбачає резервне копіювання даних, повне видалення старої системи, встановлення сучасного дистрибутива та відновлення ваших даних. Такий підхід забезпечить вам переваги свіжої системи з оновленим програмним забезпеченням та новою файловою системою.

Якщо ж ваше обладнання не дозволяє встановити сучасний Linux, навіть з легких дистрибутивів, як Lubuntu, LinuxLite, або CrunchBang++, і ви змушені використовувати наявну систему, є ще можливість оновлення файлової системи.

Для конвертації до ext4 потрібне ядро версії 2.6.28 або новіше. Якщо ваше ядро старіше, спочатку доведеться оновити його. Увага: не намагайтеся це зробити без оновлення ядра, інакше ризикуєте отримати систему, що не завантажується.

Перед початком переконайтеся, що у вас є інсталяційний диск вашого поточного Linux. Резервні копії є вашою страховкою. Створіть декілька копій даних на різних носіях, а також переконайтеся, що інсталяційний диск під рукою. На випадок невдачі ви зможете відновити систему і ваші файли. Також вам знадобиться Live CD/DVD сучасного Linux для виконання процесу оновлення файлової системи.

У процесі дослідження цієї статті використовувався Ubuntu Jaunty Jackalope, випущений у квітні 2009, з файловою системою ext3.

Кроки до перетворення

Перевіримо версію ядра за допомогою команди uname. Відкрийте термінал та введіть uname -r.

uname -r

Якщо номер ядра менший за 2.6.28, вам потрібно спочатку оновити ядро.

Далі визначимо ідентифікатори дисків за допомогою blkid, який виводить інформацію про блочні пристрої:

blkid

У цьому випадку є один жорсткий диск (sda) з файловою системою (sda1), змонтованою в /dev/sda1. Це наша ext3, яку ми плануємо конвертувати.

Завантаження з Live CD

Вставте Live CD і перезавантажте комп’ютер. Можливо, під час запуску потрібно буде натиснути клавішу для завантаження з CD. Після завантаження з Live CD, оберіть опцію “Спробувати” (Try) дистрибутив, якщо така є.

Отримання root-прав

Відкрийте термінал та введіть sudo bash, щоб отримати права суперкористувача (root):

sudo bash

Визначення файлових систем

Ще раз визначимо файлові системи за допомогою команди fdisk -l:

fdisk -l


Файлова система sda1 розпізнана Live CD. Тепер можемо переходити до конвертації.

Конвертація файлової системи

Використовуйте одну з наведених нижче команд, залежно від вашої поточної файлової системи:

Для перетворення з ext2 на ext4:

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

Для перетворення з ext3 на ext4:

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

Якщо команда виконана успішно, ви повернетесь до командного рядка без повідомлень.

Перевірка файлової системи

Проведемо перевірку файлової системи за допомогою e2fsck:

e2fsck -pf /dev/sda1

Якщо помилок не виявлено, переходимо до наступного кроку.

Монтування файлової системи

Змонтуємо файлову систему в /mnt:

mount -t ext4 /dev/sda1 /mnt

Перевіримо вміст файлової системи за допомогою команди ls /mnt:

ls /mnt

Редагування fstab

Відредагуємо файл /mnt/etc/fstab, замінивши всі входження “ext3” (або “ext2”) на “ext4”. Для цього можна скористатись редактором nano:

nano /mnt/etc/fstab



Збережіть зміни (Ctrl+O) та закрийте редактор (Ctrl+X).

Оновлення GRUB

Використаємо chroot для зміни кореневої директорії та оновимо grub:

chroot /mnt

update-grub

Встановимо GRUB на жорсткий диск:

grub-install /dev/sda

Перезавантаження Linux

Перезавантажте систему, вийнявши Live CD. Після перезавантаження перевірте тип файлової системи за допомогою blkid:

blkid

Тепер ваша файлова система має бути ext4.

Альтернатива: Оновлення дистрибутива

Попри успішне оновлення файлової системи, ви все ще матимете стару версію Linux. Якщо є можливість, найкращим варіантом буде оновлення до сучасного дистрибутива Linux, щоб отримати всі переваги безпеки та оновлення програмного забезпечення.

Проте, якщо це неможливо, наведені кроки дозволять вам оновити файлову систему до ext4.