Поиск по сайту:

Как перенести файловые системы Ext2 или Ext3 на Ext4 в Linux


Знаете, что вам нужно обновить файловую систему 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 и восстановить свои данные.

Вам также понадобится текущий 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 и означает, что вам не нужно вводить sudo перед каждой командой.

sudo bash

Обратите внимание, что командная строка изменилась. Вы корень. Действуйте осторожно.

Определите файловые системы

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

fdisk -l

Вы увидите вывод, похожий на следующий.

Файловая система, которую мы ранее идентифицировали как sda1, была найдена и распознана Live CD 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.

Поскольку 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 — лучший путь. Вы будете пользоваться всеми другими преимуществами безопасности и программного обеспечения, которые вытекают из этого.

Тем не менее, если для этого больше ничего не нужно — а иногда у нас нет опций, которые мы хотели бы иметь, — эти шаги позволят вам обновить вашу файловую систему.