Linux конвертация файловой системы

Работа с файловой системой Linux

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

В этой статье мы рассмотрим как выполняется работа с файловой системой Linux в терминале. За основу возьмем семейство файловых систем ext2/3/4, так как они самые распространенные среди большого многообразия дистрибутивов Linux.

Основные команды

Для управления файловой системой ext в Linux используется целый набор команд из пакета e2progs. Сюда входят как команды для управления флагами файлов, создания и изменения файловых систем, так и утилиты для отладки файловой системы.

Рассмотрим основные утилиты, которые будем использовать:

  • badblocks — если у вас старый жесткий диск и на нем накопилось много битых блоков, вы можете с помощью этой утилиты пометить их все на уровне файловой системы, чтобы больше не использовать.
  • e2label — позволяет изменить метку раздела с файловой системой ext.
  • fsck — проверка файловой системы linux и исправление найденных ошибок
  • mkfs — позволяет создать файловую систему Linux.
  • resize2fs — изменить размер раздела с файловой системой
  • tune2fs — позволяет изменить файловую систему Linux, настроить ее параметры.

А теперь будет рассмотрена работа с файловой системой linux на примерах.

Работа с файловой системой в Linux

Перед тем как переходить к работе с реальным жестким диском важно попрактиковаться. Если сменить метку или проверить на битые сектора можно и рабочий диск, то создавать новую файловую систему, изменять ее размер, рискуя потерять данные на реальном диске не рекомендуется. Можно отделить небольшой раздел диска для экспериментов с помощью Gparted и выполнять все действия в нем. Допустим, у нас этот раздел будет называться /dev/sda6.

Создание файловой системы

Создать файловую систему linux, семейства ext, на устройстве можно с помощью команды mkfs. Ее синтаксис выглядит следующим образом:

Доступны дополнительные параметры:

  • — проверить устройство на наличие битых секторов
  • -b — размер блока файловой системы
  • -j — использовать журналирование для ext3
  • -L — задать метку раздела
  • -v — показать подробную информацию о процессе работы
  • -V — версия программы

Создаем файловую систему на нашем устройстве. Будем создавать ext3:

Изменение метки файловой системы

Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.

Настройка файловой системы linux

Различные параметры файловой системы, такие как размер блока данных, иноды или зарезервированное место под данные пользователя root можно настроить. Для этого существует утилита tune2fs.

Синтаксис команды очень прост:

$ tune2fs опции устройство

Поддерживаются следующие опции:

  • -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
  • -J — настроить параметры журнала
  • -l — получить содержимое суперблока
  • -L — изменить метку раздела
  • -m — изменить процент дискового пространства, зарезервированного для суперпользователя
  • -M — изменить последнюю папку монтирования
  • -U — задать UUID файловой системы
  • -C — изменить значение счетчика монтирования
  • -T — изменить последнюю дату проверки файловой системы
  • — изменить периодичность проверок файловой системы с помощью fsck
  • -O — изменить опции файловой системы.

Изменить размер зарезервированного места для суперпользователя до пяти процентов:

Посмотреть информацию из суперблока, эта команда показывает всю доступную информацию параметрах файловой системы:

Изменить счетчик количества монитрований:

Думаю тут смысл понятен, нужно только немного со всем этим поэкспериментировать.

С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:

После этого действия нужно выполнить проверку файловой системы на ошибки в fsck. Подробнее об этом поговорим ниже.

Читайте также:  Nmblookup mac os ��� ���

Таким образом вы можете изменить файловую систему linux, и настроить по своему усмотрению любые ее параметры.

Изменение размера файловой системы Linux

Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.

Запустить утилиту очень просто. Ей нужно передать всего два параметра:

$ resize2fs [опции] устройство размер

Доступны также опции:

  • -M уменьшить файловую систему до минимального размера
  • -f — принудительное изменение, не смотря на потерю данных
  • -F — очистить буфер файловой системы

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 100М или 1G.

Для примера уменьшим размер нашего раздела до 400 Мегабайт:

Проверка файловой системы Linux

При неправильном отключении носителей или неожиданном отключении питания, файловая система Linux может быть повреждена. Обычно проверка корневой файловой системы и домашнего каталога на ошибки выполняется во время загрузки. Но если эта проверка не была выполнена или нужно поверить другой носитель, придется все делать вручную. Для этого есть утилита fsck.

$ fsck [опции] устройство

  • -p — автоматическое восстановление
  • -n — только проверка, без восстановления
  • -y — ответить да на все запросы программы
  • — проверить на битые сектора (аналог badblocks
  • -f — принудительная проверка, даже если раздел помечен как чистый
  • -j — внешний журнал файловой системы

Проверка файловой системы Linux выполняется такой командой, проверим диск /dev/sda6, заметьте, что диск должен быть не примонтирован:

Дефрагментация файловой системы

Хотя и фрагментация нехарактерное явление для файловых систем семейства ext, при очень интенсивном использовании может накапливаться фрагментированость, что будет замедлять работу файловой системы. Для дефрагментации можно использовать стандартную утилиту e4defrag. Просто выполните:

Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:

В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.

Выводы

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

Источник

Как конвертировать файловую систему из ext3 в ext4

Монтрование ext3 как ext4 без конвертации

Во-первых, начиная с ядра 2.6.28 можно монтировать ext2, ext3 и ext4 файловые системы как ext4. Это даст возможность использовать новые оптимизированные штуковины нового драйвера (например, delayed allocation, multi-block allocation и большие inode, если вы свою ext3 форматировали с этой опцией), и при этом физически на диске ничего не изменится, давая возможность вернутся обратно на драйвер ext3, например. Это делается очень просто — в вашем /etc/fstab меняете ext3 на ext4 и всё. Правда.

Конвертация в ext4

Совсем другое дело, если вы хотите использовать новые возможности ext4, такие как extents, которые меняют физический формат хранения данных, но и дают большой выигрыш в производительности. Если вы конвертируете из ext2, то сначала нужно включить журналирование (другими словами, конвертировать в ext3):

sudo tune2fs -j /dev/

Затем, чтобы включить новые возможности на вашей ext3 файловой системе, нужно сделать так:

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

Внимание! После этой команды, вы уже никогда не сможете смонтировать файловую систему как ext3.
После этого нужно обязательно (Mastyf говорит, что необязательно, потому что при первой перезагрузке всё само проверится, но я бы всё-таки перестраховался) проверить файловую систему с помощью fsck, чтобы привести в порядок то, что tune2fs не доделала. Делаем это так:

sudo e2fsck -pDf /dev/

После этого правим /etc/fstab и перезагружаемся.

Примечание: есть некоторые новые возможности, которые можно получить, только заново отформатировав раздел, например, flex_bg и поддержка разделов размером больше 16 терабайт.

Еще одно примечание: не рекомендуется менять размер inode с помощью e2fsprogs версии 1.41.0 или старше, потому что это приводит к испорченным данным и грустным людям.

Последнее примечание: после включения экстентов, новые файлы будут создаваться с их использованием, но со старыми ничего не случится и они продолжат лежать на диске в старом формате. Я где-то читал о волшебной утилитке defrag2fs, которая все старые файлы тоже переводит в новый формат, но, как я понял, она еще очень сырая, плохо работает, опасна для жизни и лучше подождать.

Читайте также:  Драйвера для macbook pro под windows

Как загружаться, если /boot тоже ext4

Вообще, конвертировать /boot в ext4 бессмысленно. Но если очень хочется, тогда нужно сначала сделать всё, как написано выше. Затем, нужно немного подправить /boot/grub/menu.lst. Находим вот такую строчку:

title Ubuntu 9.04
root (hdX,Y)
kernel /boot/vmlinuz-2.6.28-. root=. ro quiet splash

И добавляем к последней в конец rootfstype=ext4

Источник

Unix-way → Конвертирование файловой системы ext4 в btrfs на Linux

В статье показано как преобразовать файловую систему ext3/ext4 в новую перспективную Btrfs. Если это не корень, можно сконвертировать в режиме «онлайн» работы, в то время как для корня нужно будет загрузиться с Live CD. В статье так же показан способ обратного конвертирования, то есть из Btrfs в ext3 или ext4.

Есть два способа сделать преобразование:

— первый, мы просто конвертируем раздел и изменяем запись в /etc/fstab
— второй, мы создаем точки @ и @home в соответствии с структурой разделов Btrfs

Второй способ немного сложнее, однако необходим для будущего использования утилиты apt-btrfs-snapshot, благодаря которой можно делать снимки (копии) для отката системы в предыдущее состояние.

Предупреждение! все что вы делаете, делаете на свой страх и риск!

Зайдем под администратором:

Запускаем преобразование нужному разделу:

Далее монтируем системный раздел:

Как можно заметить после последний команды, появился каталог под названием ext2_saved. Он содержит образ нашего системного раздела перед преобразованием. Этот образ можно будет использовать для отката изменений.

Смотрим вывод команды:

Комментируем старый корневой раздел / и добавляем новый. Измените UUID из команды blkid, а затем замените ext4 (или ext3) на Btrfs. И наконец добавьте опции монтирования (например, errors=remount-ro):

И закоментируем 93ую строку:

Это нужно для избежания ошибки:

Выходим из chroot:

Если все прошло хорошо. Поздравляю!

На выходе команды интересует:

На самом деле это не каталог. Можно убедиться:

Если уверены, что хотите остаться на файловой системе Btrfs, можно удалить это каталог:

Преобразования по схеме @ и @home

Запускаем инструмент преобразования:

Далее монтируем системный раздел:

Как видно появился каталог ext2_saved, который содержит образ системного раздела для отката в предыдущее состояние.

Комментируем старый раздел / и добавим новый. Изменим UUID из команды blkid. Заменим ext4 (или ext3) на Btrfs. И наконец, заменим опции монтирования (например, errors=remount-ro) и добавляем subvol = @:

И коментируем 93ию строку:

Перед тем, как обновить загрузчик GRUB. Нужно убедиться, что есть опция загрузки rootflags=subvol=@:

Если мы видим rootflags = subvol = @. Все в порядке. Можно продолжить. Однако если выход команды выглядит:

То есть нет rootflags=subvol=@. Нужно изменить /etc/grub.d/10_linux:

Коментируем строку 67 и 68 и добавляем rootsubvol=»@» в строку 69:

Теперь обновляем загрузчик Grub:

Сделаем @ и @home:

Убедитесь, что UUID такой же как для раздела /!

Отмонтируем и монтируем @:

Проверяем наличие rootflags=subvol=@.

Отмонтируем и монтируем:

Теперь должны увидеть ext2_saved, @home, и @:

Если @home пуст что то ни так или он был пуст до этого. Можно проверить еще раз:

Если хотите остаться на Btrfs можно удалить ext2_saved. Чтобы сделать это, нужно монтировать /dev/sda1 в пустой каталог (например, /ext2_saved):

И удалить следующим образом:

Конечно, откат возможен только, если не удаляли ext2_saved. Загружаемся снова с LiveCD. Ставим:

Источник

Конвертация файловых систем (NTFS -> ext4)

Новый год скоро, а у меня грандиозный план с лозунгом «В НГ без венды». Есть раздел с фильмами в NTFS (1,5Тб, 30% занято), хочу его конвертировать в ext4 и немного расширить за счёт уменьшения системного раздела. Использовать буду гуёвый gparted. Правильный выбор? Как долго может продлиться конвертация? За сколько до Нового Года начинать? Какой шанс, что я потеряю все свои фильмы?

http://anyfs-tools.sf.net/
Перевёл с их помощью 2 раздела по

100G с NTFS на ext3. Разделы были сильно заполнены и фрагментированы. Потери данных не нашёл. Время работы — 1..3 часа.

Ты в апстрим свой патч заслал? А то они до этого еще лет пят не додумаются.

Думал, что это займёт пару суток. Всё, этот вопрос снимается.

А что, нельзя конвертировать? Жалко. Что посоветуете для конвертации? Акронис?

Скопировать на внешний винтчестер, отформатировать, скопировать обратно — куа быстрее.

Нахер на надо конвертировать, создай новый раздел в свободном пространстве с помощью gparted на ext4, скопируй туда твоё видео,затем удали раздел с ntfs и расширь раздел ext4 до предела

Читайте также:  Количество оперативки для windows 10

Тоже хотел сказать это увидев 30%

Какой шанс, что я потеряю все свои фильмы?

5% ИМХО. я не в курсе, много это или мало ДЛЯ ВАС. для меня — неприемлемо.

Нахер на надо конвертировать, создай новый раздел в свободном пространстве с помощью gparted на ext4, скопируй туда твоё видео,затем удали раздел с ntfs и расширь раздел ext4 до предела

хотя бекап не помешает. ну хотя-бы сцылки надо сохранить

У меня некуда скинуть террабайт. Есть винты по 20-60 Гб, штук 8. Не влезет.

Зачем хранить фильмы-то на винтах? В наш век быстринтернетов? Ладно там пару-тройку самых любимых. Или вы из далёкого замкадья?

А зачем по вашему большие винты? Чтобы хранить на них фильмы есстественно

Фильмы скачаны с торрентов и предназначены, чтобы их раздавать. Или ты скачал-посмотрел-стёр? У меня так скачал, если (коэфф>=30) стёр, даже, если не посмотрел.

Уже ж посоветовали — anyfs-tools. Почитал описание — вроде то что нужно. Достаточно будет написать команду типа:

anyconvertfs /dev/sdaX ext4

Не умеет оно екст4. Тока 2, 3 и xfs.

Это не проблема. В этом случае сначала следует сконвертировать в ext3, а потом уже ext3 перевести в ext4. Последнее делается элементарно:

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

e2fsck -pDf /dev/sdaX

Да. Почти всегда так. Мало времени на посмотреть щас. Поэтому успевают полежать, пораздаваться. Да и редко я качаю и смотрю. Не снимают ничего хорошего же.
Да и зачем сразу чтобы стопицот фильмов лежало. К тому же существует over 9000 всяких топ-сидов и прочих рейтинговых наркоманов, благодаря которым на всех годных раздачах полно сидов и без меня (вас). Если вы конечно не этот самый топ-сид, релизер и т.п. братия.

Да знаю я. Сплошное конверчение в общем получается. Глупости какие из-за фильмов. Хотя некоторые вообще вон генты конпеляют по сто раз на дню. Я не против, чего уж там.

Нет, я не такой, просто делаю людям добро. Канал у меня широкий, не жалко.

что за фильмы? неужто нет в сети?

Есть, только они не для скачивания, а для раздачи.

Конфертация ext3 -> ext4 уже чисто формальная. Там только несколько флагов для ФС проставляется, ну и потом проверка на ошибки. Ничего серьёзного. Это только ntfs -> ext3 «настоящая» конфертация с серьёзным изменением структуры. Ну и перед ней лучше всё самое ценное (не фильмы, которые на худой конец можно заново скачать, а всякие линчные документы, существующие в единственном экземпляре) забеккапить — вдруг свет отключат в неподходящий момент или ядро в панику уйдёт. Вероятность маленькая, но есть.

У меня так скачал, если (коэфф>=30) стёр, даже, если не посмотрел.

И зачем их качать, если не смотреть? Странный вы.

Иногда просто времени не хватает посмотреть. Вот, например, Thor скачал, как только вышел, а смотреть не тянет.

Если фильмы годные могу одолжить ftp.

Нет, не годные, всякое гумно с рутрекера.

anyfs-convert позволяет сконвертировать в ext3, а ext3 можно сконвертировать в ext4 (естественно, с потерей многих вкусностей, которые получились бы, если бы изначально был ext4).

Насчет вероятности потери всех фильмов хз, но у меня оно работало.

Таких навалом скорее всего. Много снимать стали, хорошее кино можно найти либо по дате, либо у тех, кто до сих пор пишет болванки.

Если даже такое случится — скорее всего, ситуацию можно будет спасти тем же anyfs.

An error occurred while applying the operations

See the details for more information.

IMPORTANT If you want support, you need to provide the saved details! See http://gparted.org/save-details.htm for more information.

Теперь ненавижу gparted. Как спасать ситуацию?

Для начала расскажи что делал.

Уже всё восстановил, подвинул раздел, создал новый и копирую на него данные с ntfs’ного. Кстати, копирую cp из под рута.

Повышать приоритет для cp бесполезно — здесь боттлнек во вводе-выводе, а не процессоре.

А почему я не могу установить приоритет ниже нуля?

Это вроде как можно только руту. А зачем? Все равно cp не станет быстрее.

А ты думаешь, что я приоритет процесса, запущенного от рута изменяю не от рута?
Я знаю, что быстрее не будет, но всё-таки.

Источник

Оцените статью