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

Categories:

Знаєте, що вам слід оновити файлову систему Linux, але не можете зіткнутися з погіршенням? Ось як конвертувати ext2 і ext3 в ext4 без перевстановлення.

Файлові системи Linux

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

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

Добре, я проданий – давайте зробимо це

Давайте подумаємо над цим. Насправді, ви, ймовірно, не хочете оновлювати свою файлову систему.

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

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

Щоб оновити файлову систему до ext4, ви повинні використовувати ядро ​​версії 2.6.28 або новішої. Отже, якщо у вас немає цієї версії ядра або пізнішої версії, вам потрібно спочатку оновити ядро.

Попередження: навіть не думайте спробувати це, не задовольнивши вимоги до версії ядра. У підсумку ви отримаєте комп’ютер, який не завантажується. Перш ніж продовжити, перевірте, яку версію ядра ви використовуєте.

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

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

  Як відключити брандмауер UFW в Linux

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

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

Все ще з нами?

Джон Вейн сказав, що сміливість налякалася, але все одно сідлала. Я захоплююся твоєю сміливістю.

Перше, що ми збираємося зробити, це перевірити версію ядра за допомогою uname. Команда uname може відображати різні типи системної інформації.

На старому комп’ютері з Linux відкрийте вікно терміналу та введіть таку команду. Введіть uname , пробіл, -r, потім натисніть Enter.

uname -r

Версія Linux на цьому комп’ютері використовує ядро ​​версії 2.6.28-11, тому ми виконали вимоги до версії ядра.

Серйозно, якщо ви не виконали цю вимогу, зупиніться зараз. Досить близько просто недостатньо. Ви повинні відповідати або перевищувати цей номер версії ядра.

Тепер ми перевіримо ідентифікатори дисків за допомогою blkid, який ідентифікує блокові пристрої в системі.

blkid

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

Існує також файлова система під назвою swap, але це нас не цікавить.

Перезавантажтеся за допомогою Live CD

Вставте Live CD та перезавантажте комп’ютер. Можливо, вам знадобиться натиснути клавішу під час перезавантаження, щоб комп’ютер завантажився з компакт-диска. Клавіша, яку потрібно натиснути, буде відображатися на ранніх етапах процесу завантаження. Поспішайте – вікно можливостей триває недовго. Якщо ви пропустите його, перезавантажте і спробуйте ще раз.

Після завантаження середовища Live CD переконайтеся, що ви випадково не розпочали інсталяцію. Знайдіть час, щоб прочитати надані вам параметри, і якщо там написано щось схоже на «Спробуйте DistributionName», виберіть цей варіант.

Стати Root

Відкрийте вікно терміналу та введіть таку команду. Це фактично змушує вас отримати root-права і означає, що вам не потрібно вводити sudo перед кожною командою.

sudo bash

Зверніть увагу, що командний рядок змінився. Ви root. Дійте обережно.

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

Нам потрібно ще раз визначити файлові системи, щоб побачити, як вони відображаються в цьому екземплярі Linux.

fdisk -l

Ви побачите деякі результати, подібні до наведеного нижче.

Файлова система, яку ми раніше ідентифікували як sda1, була знайдена та розпізнана Live CD Linux. Це перша міні-віха.

  Як встановити Cisco Packet Tracer на Linux

Другий – конвертація файлової системи.

Перетворення файлової системи

Тут наведено дві команди, одна для перетворення з ext2 в ext4 і одна для перетворення з ext3 в ext4. Переконайтеся, що ви використовуєте правильний для вас!

Щоб конвертувати з 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 працює з файловими системами ext2, ext3, а також ext4.

Параметр -p (preen) змушує e2fsck намагатися виправити помилки, а параметр -f (force) змушує e2fsck перевіряти файлову систему, навіть якщо файлова система здається чистою.

e2fsck -pf /dev/sda1

Жодних помилок не повідомлено. Тепер ми можемо спробувати змонтувати файлову систему.

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

Нам потрібно налаштувати таблицю файлової системи (fstab) і завантажувач grub для роботи з перетвореною файловою системою. Для цього ми повинні змонтувати файлову систему. Ми змонтуємо його на /mnt. Раніше ми ідентифікували файлову систему як sda1, тому наша команда така:

mount -t ext4 /dev/sda1 /mnt

Тепер, коли він змонтований, ми зможемо перерахувати файлову систему. Давайте це перевіримо. Корінь файлової системи буде знаходитися в точці монтування /mnt.

ls /mnt

Це надихає. Схоже, ми цього очікували.

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

Нам потрібно відредагувати файл fstab і змінити будь-які посилання на ext3 (або ext2, якщо це файлова система, з якої ви конвертували) на ext4.

На Live CD, використаному в цьому прикладі, є редактор nano. Це простий маленький редактор, тому ми скористаємося ним. Якщо nano недоступний на вашому Live CD, буде інший редактор, який буде включено в дистрибутив Linux на компакт-диску.

nano /mnt/etc/fstab

З’явиться вікно редактора nano. Вам потрібно знайти входження рядка «ext3» або «ext2» і змінити їх на «ext4». У цьому прикладі було одне входження ext3, яке виділено.

Ext3 був замінений на ext4.

Вам потрібно зберегти файл і вийти з редактора. У nano Ctrl+O збереже файл, а Ctrl+X закриє редактор.

Оновлення grub

Оскільки ми змонтували файлову систему sda1 на /mnt, шляхи до каталогів у файловій системі фактично були переміщені на один рівень глибше, ніж зазвичай. Тому шлях, який ми надали для nano, був /mnt/etc/fstab замість звичайного /etc/fstab.

  Як налаштувати файл підкачки в Linux

Оскільки grub очікує знайти речі в певних місцях, нам потрібно зробити так, щоб файлова система виглядала так, ніби вона змонтована нормально. Нам потрібно, щоб корінь файлової системи був у /, а не в /mnt. Команда chroot дозволяє нам запускати командну оболонку та вкажіть кореневу точку ми хочемо використовувати.

Команда, яку ми використовуємо:

chroot /mnt

Зверніть увагу, що командний рядок змінився.

Тепер ми можемо задати команду update-grub, щоб grub прочитав файл fstab і переналаштував себе.

update-grub

.

Після того, як grub переналаштувався, нам потрібно встановити новий екземпляр grub на жорсткий диск. Зверніть увагу, що це жорсткий диск sda, а не файлова система sda1. Не включайте «1», просто введіть «sda».

grub-install /dev/sda

Перезавантаження вашого Linux

Перезавантажте систему та вийміть Live CD. Коли ваша система перезавантажиться, відкрийте вікно терміналу та введіть таку команду:

blkid

Як бачимо, файлова система тепер є файловою системою ext4.

Машина, на якій досліджувалася ця стаття, так довго перезавантажувалася (понад десять хвилин), що вважалося, що щось пішло не так, і вона ніколи не повернеться.

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

Подальші перезавантаження відбувалися так само швидко, як зазвичай.

Замість цього оновіть свій Linux

Ну, ми доїхали. Але у вас все ще залишається нестандартний гібрид із використанням старої версії Linux на сучасній файловій системі.

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

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