Файловые системы: сравнение, секреты и уникальные особенности. Как получить доступ к разделам ext2, ext3, ext4 из Windows

Файловая система EXT3

В отличие от EXT2, EXT3 является журналируемой файловой системой, т.е. не попадет в противоречивое состояние после сбоев. Но она полностью совместима с EXT2.

Разработанная в Red Hat

В данный момент является основной для LINUX.

Драйвер Ext3 хранит полные точные копии модифицируемых блоков (1КБ, 2КБ или 4КБ) в памяти до завершения операции. Это может показаться расточительным. Полные блоки содержат не только изменившиеся данные, но и не модифицированные.

Такой подход называется "физическим журналированием ", что отражает использование "физических блоков" как основную единицу ведения журнала. Подход, когда хранятся только изменяемые байты, а не целые блоки, называется "логическим журналированием " (используется XFS). Поскольку ext3 использует "физическое журналирование", журнал в ext3 имеет размер больший, чем в XFS. За счет использования в ext3 полных блоков, как драйвером, так и подсистемой журналирования нет сложностей, которые возникают при "логическом журналировании".

Типы журналирования поддерживаемые Ext3, которые могут быть активированы из файла /etc/fstab:

o data=journal (full data journaling mode) - все новые данные сначала пишутся в журнал и только после этого переносятся на свое постоянное место. В случае аварийного отказа журнал можно повторно перечитать, приведя данные и метаданные в непротиворечивое состояние.
Самый медленный, но самый надежный.

o data=ordered - записываются изменения только мета-данных файловой системы, но логически metadata и data блоки группируются в единый модуль, называемый transaction. Перед записью новых метаданных на диск, связанные data блоки записываются первыми. Этот режим журналирования ext3 установлен по умолчанию.
При добавлении данных в конец файла режим data=ordered гарантированно обеспечивает целостность (как при full data journaling mode). Однако если данные в файл пишутся поверх существующих, то есть вероятность перемешивания "оригинальных" блоков с модифицированными. Это результат того, что data=ordered не отслеживает записи, при которых новый блок ложится поверх существующего и не вызывает модификации метаданных.

o data=writeback (metadata only) - записываются только изменения мета-данных файловой системы. Самый быстрый метод журналирования. С подобным видом журналирования вы имеете дело в файловых системах XFS, JFS и ReiserFS.

3.3.3 Файловая системаXFS

XFS - журналируемая файловая система разработанная Silicon Graphics, но сейчас выпущенная открытым кодом (open source).

Официальная информация на http://oss.sgi.com/projects/xfs/

XFS была создана в начале 90ых (1992-1993) фирмой Silicon Grapgics (сейчас SGI) для мультимедийных компьютеров с ОС Irix. Файловая система была ориентирована на очень большие файлы и файловые системы. Особенностью этой файловой системы является устройство журнала - в журнал пишется часть метаданных самой файловой системы таким образом, что весь процесс восстановления сводится к копированию этих данных из журнала в файловую систему. Размер журнала задается при создании системы, он должен быть не меньше 32 мегабайт; а больше и не надо - такое количество незакрытых транзакций тяжело получить.

Некоторые особенности:

o Более эффективно работает с большими файлами.

o Имеет возможность выноса журнала на другой диск, для повышения производительности.

o Сохраняет данные кэша только при переполнении памяти, а не периодически как остальные.

o В журнал записываются только мета-данные.

o Используются B+ trees.

o Используется логическое журналирование

3.3.4 Файловая системаRFS

RFS (RaiserFS) - журналируемая файловая система разработанная Namesys.

Официальная информация на RaiserFS

Некоторые особенности:

o Более эффективно работает с большим количеством мелких файлов, в плане производительности и эффективности использования дискового пространства.

o Использует специально оптимизированные b* balanced tree (усовершенствованная версия B+ дерева)

o Динамически ассигнует i-узлы вместо их статического набора, образующегося при создании "традиционной" файловой системы.

o Динамические размеры блоков.

3.3.4 Файловая системаJFS

JFS (Journaled File System) - журналируемая файловая система разработанная IBM для ОС AIX, но сейчас выпущенная как открытый код.

Официальная информация на Journaled File System Technology for Linux

Некоторые особенности:

o Журналы JFS соответствуют классической модели транзакций, принятой в базах данных

o В журнал записываются только мета-данные

o Размер журнала не больше 32 мегабайт.

o Асинхронный режим записи в журнал - производится в моменты уменьшения трафика ввода/вывода

o Используется логическое журналирование.

3.4 Сравнительная таблица некоторых современных файловых систем

NTFS EXT4 RFS XFS JFS
Хранение информации о файлах MFT inode inode inode inode
Максимальный размер раздела 16 Эбайт (2 60) 1 Эбайт 4 гигаблоков (т.к. блоки динамические) 16 Эбайт 32 Пбайт
Размеры блоков от 512 байт до 64 Кбайт 1 Кбайт - 4 Кбайт До 64 Кбайт (сейчас фиксированы 4 Кбайт) от 512 байт до 64 Кбайт 512/1024/ 2048/4096 байт
Максимальное число блоков 2^48 2^32 2^32
Максимальный размер файла 2^64 16 Тбайт (для 4Кбайт блоков) 8 Тбайт 8 Эбайт 4 Пбайт (2 50)
Максимальная длина имени файла
Журналирование Да Да Да Да Да
Управление свободными блоками Нет На основе битовой карты B-деревья, индексированные по смещению и по размеру Дерево+ Binary Buddy
Экстенты для свободного пространства Нет Нет Да Нет
B-деревья для элементов каталогов Да Нет Как поддерево основного дерева файловой системы Да Да
B-деревья для адресации блоков файлов Нет Внутри основного дерева файловой системы Да Да
Экстенты для адресации блоков файлов Нет Да (с 4 версии) Да Да
Данные внутри inode (небольшие файлы) Нет Да Да Нет
Данные симво-льных ссылок внутри inode Нет Да Да Да
Элементы каталогов внутри inode (небольшие каталоги) Нет Да Да Да
Динамическое выделение inode/MFT Да Нет Да Да Да
Структуры управления динамически выделяемыми inode Нет Общее B*дерево B+дерево B+дерево с непрерывными областями inode
Поддержка разреженных файлов Да Нет Да Да Да

При работе с Linux вы можете выбирать тип файловой системы, как и многие другие параметры. Вероятнее всего, вы будете работать с разделами Linux, на которых используется одна из расширенных файловых систем, поддерживаемых всеми дистрибутивами Linux и являющихся надежными готовыми решениями.

История расширенной файловой системы (ext) начинается с самых ранних дней Linux. В свое время эта файловая система позволила устранить ограничение на размер файла в 2 ГБ, но была чрезвычайно подвержена фрагментации. Поэтому вскоре после выпуска первой расширенной файловой системы была разработана ее вторая версия (ext2), устраняющая ряд дополнительных ограничений (например, максимальный размер файла был увеличен до 4 ТБ). Файловая система ext2 быстро стала общепринятым стандартом Linux, но продолжала развиваться вместе с развитием этой операционной системы. Таким образом, на сегодняшний день мы имеем еще две версии расширенной файловой системы – третью (ext3) и четвертую (ext4).

Обратите внимание на то, что все команды в листингах этой статьи начинаются с символов $ или # , которые имеют в командном интерпретаторе Linux определенные значения. Символ $ в командной строке означает, что пользователь работает с обычными правами, тогда как символ # означает, что пользователь имеет привилегии учетной записи root (т. е. является администратором). Когда вы встречаете в листингах команду, начинающуюся с символа # , то для ее выполнения у вас должен быть доступ к команде sudo или к учетной записи пользователя root, позволяющей выполнить команду напрямую.

По большей части в этой статье обсуждается работа с семейством расширенных файловых систем Linux (ext). Однако среди прочих файловых систем Linux поддерживает и множество дисковых файловых систем, например, XFS, ReiserFS, Btrfs (B-tree File System) и JFS (IBM Journaled File System). В зависимости от задач, выполняемых на вашем компьютере и в вашей рабочей среде, какие-то из этих файловых систем могут оказаться более подходящими, чем расширенная файловая система. Тем не менее знакомство с расширенной файловой системой является хорошей отправной точкой, поскольку в большинстве дистрибутивов Linux по умолчанию используется файловая система ext3 или ext4.

Файловая система ext3 является результатом дальнейшего развития более ранней файловой системы ext2 и широко используется в настоящее время. Одним из важных принципиальных отличий ext3 от ext2 является наличие журналирования. Файловая система ext3 обратно совместима с ext2, поэтому для перехода с ext2 на ext3 нет необходимости повторно разбивать диск на разделы. Обычно для этого достаточно запустить команду tune2fs –j с привилегиями пользователя root. Например, если файловая система ext2 используется на втором разделе первого жесткого диска, то для ее преобразования в ext3 достаточно запустить команду tune2fs -j /dev/sda2 .

Помимо журналирования, в ext3 реализован и ряд других улучшений по сравнению с ext2, например, повышенная скорость и надежность. Не обладая возможностями журналирования, файловая система ext2 страдала из-за «грязных» перезагрузок операционной системы (например, в случае непредвиденного отключения электропитания или краха системы). Во время загрузки компьютера каждую файловую систему ext2 нужно было проверять перед ее монтированием. Учитывая современные объемы файловых систем, время проверки целостности в большинстве случаев оказывается неприемлемым, поскольку этот долгий процесс существенно снижает доступность системы. В журналируемых файловых системах (как, например, NTFS) данные записываются на диск и помечаются либо как целостные, либо как нецелостные. Поэтому при «грязной» перезагрузке проверяются только те файлы, помеченные как нецелостные, что устраняет необходимость проверки всей файловой системы. В ext3 предусмотрено три режима журналирования:

  • Journal. Полное журналирование данных. Записываются не только метаданные, но и сами данные. Это самый медленный режим.
  • Ordered. Формально записываются только метаданные, но этот способ может устранять повреждения, связанные с отложенной записью, поскольку сначала выполняется запись в блоки данных.
  • Writeback. Журналируются только метаданные, но не сами данные. Это самый быстрый режим.

Последней версией расширенной файловой системы на сегодняшней день является файловая система ext4, обратно совместимая с ext2 и ext3. По сравнению с ext3 в ext4 реализован ряд улучшений, в основном касающихся скорости и надежности. Файловая система ext4 имеется в Linux с версией ядра 2.6.28 и выше.

В таблице 1 показаны некоторые основные характеристики наиболее распространенных файловых систем Linux, которые помогут вам планировать схемы разделов или преобразовывать существующие разделы.

Эволюция расширенной файловой системы

Файловая система
Extended file system (приблизительно с 1991 г.) Самая ранняя файловая система Linux. Недостатком этой файловой системы является чрезмерная фрагментация.
Ext2 (приблизительно с 1993 г.) Эта файловая система обладает высокой надежностью, но в ней отсутствует журналирование. После внезапной перезагрузки или сбоя системы для всей файловой системы запускается команда fsck .
Ext3 (приблизительно с 2001 г.) Эта файловая система может содержать 32 000 поддиректорий, поддерживает журналирование и обратно совместима с файловой системой ext2.
Ext4 (приблизительно с 2008 г.) Эта файловая система может содержать 64 000 поддиректорий, позволяет полностью отключить журналирование (в отличие от ext3) и обратно совместима с файловыми системами ext2 и ext3.

Как хранятся данные в расширенной файловой системе Linux

В файловой системе Linux хранятся два типа данных. Первый тип – это пользовательские данные (обычные файлы и директории, с которыми работают пользователи). Файлы также могут быть четырех типов: обычные файлы, ссылки, именованные каналы (FIFO) и сокеты.

Возможно, вы слышали выражение «В Linux все является файлами или процессами». Это выражение подразумевает тот факт, что в Linux отсутствует концепция системного реестра. Вместо этого все объекты хранятся в виде одного из четырех типов файлов. Другой тип данных, хранящихся в файловой системе – это метаданные, являющиеся индексными дескрипторами (index node) и обычно называемые inode . Индексные дескрипторы являются способом индексации атрибутов файлов в Linux. Каждый файл имеет свой inode, который обычно содержит следующую информацию:

  • Размер файла.
  • Владельцы файла (пользователь и группа).
  • Файловые разрешения.
  • Количество жестких и мягких ссылок.
  • Время последнего доступа и изменения файла.
  • Информацию о списке контроля доступа (ACL).
  • Любые дополнительные атрибуты, определенные для файла (например, признак неизменяемости).

В листинге 1 приведен пример использования команды stat , позволяющей получить информацию, хранящуюся в inode.
Листинг 1. Использование команды stat

$ stat /etc/services File: `/etc/services" Size: 362031 Blocks: 728 IO Block: 4096 regular file Device: fd00h/64768d Inode: 1638437 Links: 1 Access: (0644/-rw-r--r--) Uid: (0/ root) Gid: (0/ root) Access: 2011-12-19 00:01:25.000000000 -0600 Modify: 2006-02-23 07:09:23.000000000 -0600 Change: 2011-09-18 17:29:37.000000000 -0500

В листинге 1 команда была выполнена для файла /etc/services. В результате ее выполнения мы получили в наглядном виде всю информацию индексного дескриптора и файловые атрибуты.

Директории

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

Все директории упорядочены в иерархическую структуру, начинающуюся с корневой директории (/). В действительности это лишь логическое упорядочение, поскольку не все директории располагаются в одном разделе файловой системы. Фактически, если вы монтируете сетевую файловую систему (например, NFS), точка монтирования будет располагаться где-то в этой иерархической структуре ниже корневой директории. В этом заключается существенное отличие от Windows, где вы привыкли к тому, что диск C обычно содержит дисковую файловую систему, а последующие файловые системы (подключенные сетевые ресурсы, дисководы CD-ROM и USB-накопители) смонтированы в виде отдельных дисков — D, E, F и так далее.

Суперблок

На самом верхнем уровне вся информация о самой файловой системе хранится в т. н. суперблоке. Хотя работа с суперблоком может не представлять особого интереса, понимание концепции использования команды dump2fs может помочь вам получить полное представление о концепциях хранения данных в файловой системе.

В листинге 2 приведен пример, в котором мы получаем информацию о разделе, расположенном на устройстве /dev/sda1 (в нашем случае это раздел /boot). В конструкции grep -i superblock мы используем команду grep без учета регистра для вывода информации, содержащей строку superblock .
Листинг 2. Использование dumpe2fs для получения информации суперблока

# dumpe2fs /dev/sda1 | grep -i superblock Primary superblock at 1, Group descriptors at 2-2 Backup superblock at 8193, Group descriptors at 8194-8194 Backup superblock at 24577, Group descriptors at 24578-24578 Backup superblock at 40961, Group descriptors at 40962-40962 Backup superblock at 57345, Group descriptors at 57346-57346 Backup superblock at 73729, Group descriptors at 73730-73730

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

Естественно, вам захочется настроить базовые параметры файловой системы, такие как распределение дискового пространства, контрольные точки безопасности и заданный уровень производительности. В арсенале GNU имеется множество инструментов для работы с файловой системой. Наиболее распространенные команды – это df , du , fsck и fdisk , а также iostat и sar (эти команды не столь популярны, но не менее полезны).

Команды du и df

Команды df и du используются для получения информации об использовании диска и свободном дисковом пространстве. Команда du -csh /var показывает размер файлов в директории /var. Если необходимо получить информацию о вложенных поддиректориях директории /var, то нужно выполнить команду du -h .

Команда fsck

Команда fsck используется для проверки файловой системы и при необходимости ее восстановления. Например, если вам необходимо проверить на наличие ошибок раздел, расположенный на устройстве /dev/sda2, то введите команду fsck /dev/sda:

# umount /var # fsck /var fsck from util-linux-ng 2.17.2 e2fsck 1.41.12 (17-May-2010) /dev/sda3: clean, 702/192000 files, 52661/768000 blocks

Примечание. Эту команду следует запускать на несмонтированной файловой системе.

В вышеприведенных примерах все задачи выполнялись в однопользовательском режиме. Раздел /var, расположенный на устройстве /dev/sda3, сначала был демонтирован. Команда fsck не обнаружила каких-либо ошибок, в противном случае она попыталась бы исправить их.

Команда iostat

Команда iostat выводит статистику дисковых операций ввода/вывода.

$ iostat Linux 2.6.18-164.el5 (DemoServer) 12/19/2011 avg-cpu: %user %nice %system %iowait %steal %idle 0.25 1.74 1.26 2.89 0.00 93.86 Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 10.69 351.52 227.60 1759192 1139038 sda1 0.06 0.45 0.00 2254 22 sda2 10.62 351.01 227.60 1756658 1139016 dm-0 40.06 350.72 227.60 1755178 1139016 dm-1 0.02 0.18 0.00 920 0 hdc 0.00 0.03 0.00 144 0 fd0 0.00 0.00 0.00 16 0

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

Команда sar

Команда sar выводит значения системных счетчиков, подобно программе Performance Monitor операционной системы Windows. Команду sar можно использовать для отображения прошлых значений или для вывода счетчиков в реальном времени:

$ sar 4 5 Linux 2.6.18-164.el5 (DemoServer) 12/19/2011 12:20:20 AM CPU %user %nice %system %iowait %steal %idle 12:20:24 AM all 0.00 0.00 0.00 0.00 0.00 100.00 12:20:28 AM all 0.00 0.00 1.01 0.00 0.00 98.99 12:20:32 AM all 0.00 0.00 0.50 0.00 0.00 99.50 12:20:36 AM all 0.00 0.00 0.00 0.00 0.00 100.00 12:20:40 AM all 0.25 0.00 1.01 0.00 0.00 98.74 Average: all 0.05 0.00 0.50 0.00 0.00 99.45

В этом примере команда sar выводит пять значений счетчиков, обновляемых через каждые 4 секунды.

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

Одной из ответственных задач системного администратора является обеспечение доступа к данным пользователей за определенное время. Так же, как и в операционной системе Windows, наблюдение за производительностью системы является в Linux одной из главных задач. Как и производительность сети, производительность дисковой подсистемы чтения/записи может стать узким местом в системе, поэтому она требует оптимизации и тонкой настройки.

Для настройки файловой системы можно использовать следующие методы:

  • Применить инструмент tune2fs .
  • Изменить точки монтирования в файле /etc/fstab.
  • Изменить параметры ядра.

Настройка с помощью tune2fs

Утилита командной строки tune2fs используется для настройки параметров жесткого диска. Например, если у вас имеются директории большого объема на разделе с файловой системой ext3, то можно ускорить обращения к ним с помощью хешированных b-деревьев, для чего используется переключатель tune2fs dir_index:

# tune2fs -O dir_index /dev/sda5

Команду tune2fs следует запускать с привилегиями пользователя root. Переключатель -O определяет опцию для указанного раздела.

Монтирование с использованием специальных опций

Процесс, после которого файловая система становится доступной для использования, называется монтированием файловой системы. На практике для этого используется команда mount . Когда вы включаете компьютер с Linux, то система должна знать, как монтировать доступные файловые системы. Для этих целей служит файл /etc/fstab. Как и любые другие конфигурационные файлы Linux, этот файл можно редактировать с помощью любого текстового редактора, например, vi или vim . Внутри файла /etc/fstab указаны точки монтирования различных файловых систем. При настройке параметров монтирования используется четвертый столбец. Например, чтобы отключить аудит времени последнего доступа к файлам для определенной файловой системы (что потенциально может повысить производительность), можно добавить опцию noatime . Если у вас имеется файловая система, в которую пользователи не должны записывать данные (например, если в ней хранятся архивы), то можно смонтировать ее с опцией ro («только для чтения»).

Для изменения параметров монтирования в файле /etc/fstab используйте следующую командную строку:

Если раздел можно демонтировать в текущей рабочей среде, то команда mount -o remount позволит избежать перезагрузки системы после изменения файла /etc/fstab.

Настройка параметров ядра

Для просмотра и изменения параметров ядра используется команда sysctl . Чтобы получить список параметров, относящихся к файловой системе, и их текущие значения, выполните команду sysclt -a | grep fs , как показано в листинге 3.
Листинг 3. Просмотр параметров ядра, относящихся к файловой системе

# sysctl -a | grep fs. | less .... fs.quota.warnings = 1 fs.quota.syncs = 23 fs.quota.free_dquots = 0 fs.quota.allocated_dquots = 0 fs.quota.cache_hits = 0 fs.quota.writes = 0 fs.quota.reads = 0 fs.quota.drops = 0 fs.quota.lookups = 0 fs.suid_dumpable = 0 fs.inotify.max_queued_events = 16384 fs.inotify.max_user_watches = 8192 fs.inotify.max_user_instances = 128 fs.aio-max-nr = 65536 fs.aio-nr = 0 fs.lease-break-time = 45 fs.dir-notify-enable = 1 fs.leases-enable = 1 fs.overflowgid = 65534 fs.overflowuid = 65534 fs.dentry-state = 26674 23765 45 0 0 0 fs.file-max = 102263 .........

В листинге 3 показан фрагмент списка параметров ядра, относящихся к файловой системе и отфильтрованных с помощью команды grep . Изменить эти параметры можно с помощью команды sysclt -w . Например, если ваш сервер обрабатывает большое количество мелких файлов и на нем постоянно возникают ошибки с сообщением «running out of file handles» (недостаточно обработчиков файлов), то можно увеличить максимальное число дескрипторов открытых файлов с помощью команды sysclt -w file-max=xxxxxx , где xxxxxx – необходимое максимальное количество обработчиков.

Любые изменения, сделанные с помощью sysctl , работают до первой перезагрузки. Чтобы эти изменения действовали после перезагрузки, необходимо открыть файл /etc/sysconf в любом текстовом редакторе и внести изменения в него. В этом файле содержатся не все параметры ядра, поэтому если вы не нашли в нем нужный параметр, то просто добавьте его вместе с нужным значением.

Фрагментация

Обычно дефрагментацию диска выполняют при его фрагментации более 20%. При создании расширенной файловой системы около 5% дискового пространства резервируется для системных задач во избежание необходимости дефрагментации. Если говорить кратко, то в обычных условиях вам не нужно беспокоиться о выполнении дефрагментации. Тем не менее это не означает, что современное поколение расширенных файловых систем совершенно не подвержено фрагментации. Если вы подозреваете, что файл фрагментирован, это можно проверить с помощью команды filefrag . Опция -v позволяет получить более подробную информацию.

Если у вас установлено две операционные системы, Windows и Linux, то наверняка вы хотели бы , содержащимся на разделах свободной операционной системы прямо из- под Windows, не перезагружая компьютер.

К сожалению, поддержка разделов ОС Linux в Windows не предусмотрена. А зря. Как мне кажется, это могло бы стать красивым жестом со стороны Microsoft.

Суть проблемы заключается в том, что Windows использует файловую систему NTFS, а Linux обладает своим способом организации файлов, extended file system, последняя версия которого имеет порядковый номер 4.

Linux более дружелюбна к своим пользователям нежели ее коммерческая сестра: в Linux по умолчанию предусмотрена поддержка файловой системы Windows NTFS. Конечно, установить Linux на с разделом в NTFS вам не удастся, но прочитать и записать данные с такого вы сможете.

Ext2 IFS

Ext2 IFS поддерживает Windows NT4.0/2000/XP/2003/Vista/2008 версий x86 и x64 и позволяет просматривать содержимое разделов Linux ext2, а также может производить запись на них. Утилита устанавливает системный драйвер ext2fs.sys, который расширяет возможности Windows и включает полную поддержку ext2 в ней: разделам ext2 присваиваются буквы дисков, а файлы и папки на них отображаются в диалогах всех приложений, например, в проводнике.

Ext2 FSD

Ext2 FSD – бесплатный драйвер для систем Windows (2K/XP/VISTA/7 версий x86 и x64). Как и предыдущая утилита, которая по своей сути тоже является драйвером, включает полную поддержку файловой системы ext2 в Windows.

LTOOLS – набор утилит командной строки, позволяющий читать и записывать данные на/с разделов Linux ext2, ext3 и ReiserFS (стандартные файловые системы Linux) с машины под управлением DOS или Windows.

Существует версия программы с графической оболочкой (написана на Java) – LTOOLSgui, а также версия с графической оболочкой, написанной на .

Ext2Read

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

Ext2Read – утилита, устроенная по типу файл менеджера, которая позволяет как просматривать, так и осуществлять запись на разделы ext2/ext3/ext4. Поддерживает LVM2 и, что отличает ее от других программ этого обзора, файловую систему ext4. Встроена поддержка рекурсивного копирования директорий.

А вот и второй десерт. Вначале было сказано, что неплохим жестом со стороны Microsoft было бы включить поддержку Linux разделов в Windows по умолчанию.

Жест все же был сделан на 20-летие Linux. Смотрите сами.

На этом все. Спасибо за внимание. Пойду отбиваться от майских жуков. Их этой весной ооочень много. 🙂

Как в среде Windows сделать возможным доступ к разделу диска или съёмному носителю с файловыми системами Ext2/3/4 ? Если, к примеру, на компьютере есть ещё и вторая система Linux . И с её данными необходимо поработать из среды Windows . Или другой пример – когда внутри Windows смонтированы виртуальные диски с установленными на виртуальные машины системами Linux или Android . С Ext2/3/4 Windows нативно не умеет работать, ей для этого нужны сторонние средства. Что это за средства? Рассмотрим ниже таковые.


***
Тройка первых средств сделает возможным только чтение устройств информации с Ext2/3/4 . Последнее решение позволит и читать, и записывать данные. Все рассмотренные ниже средства бесплатны.

1. Программа DiskInternals Linux Reader

Простенькая программка – это примитивный файловый менеджер, сделанный по типу штатного проводника Windows, с поддержкой файловых систем Ext 2/3/4 , Reiser4 , HFS , UFS2 . В окне программы увидим разделы и устройства с Linux или Android .

Для копирования необходимо выделить папку или файл, нажать кнопку «Save» .

Затем указать путь копирования.

2. Плагин для Total Commander DiskInternals Reader

Любители популярного могут извлекать данные Linux или Android внутри Windows с помощью этого файлового менеджера. Но предварительно установив в него специальный плагин. Один из таких плагинов — , он умеет подключать и читать устройства информации, форматированные в Ext2/3/4 , Fat/exFAT , HFS/HFS+ , ReiserFS . Загружаем плагин, распаковываем его архив внутри , подтверждаем установку.

Запускаем (важно) от имени администратора. Заходим в раздел . Нажимаем .

Здесь, наряду с прочими разделами диска и носителями, будет отображаться тот, что с Ext2/3/4 .

Данные копируются традиционным для способом – клавишей F5 на вторую панель.

3. Плагин для Total Commander ext4tc

Упрощённая альтернатива предыдущему решениюext4tc , ещё один плагин для . Он может подключать для чтения устройства информации, форматированные только в Ext2/3/4 . Скачиваем плагин, распаковываем его архив внутри файлового менеджера, запускаем установку.

Запускаем (важно) от имени администратора. Кликаем . Заходим в .

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

4. Драйвер поддержки Ext2Fsd

Программа Ext2Fsd – это драйвер Ext2/3/4 , он реализует поддержку этих файловых систем на уровне операционной системы. С разделами диска и накопителями, форматированными в эти файловые системы, можно работать как с обычными, поддерживаемыми Windows устройствами информации в окне проводника или сторонних программ. Драйвер позволяет и считывать, и записывать данные.

Скачиваем последнюю актуальную версию Ext2Fsd .

При установке активируем (если для длительной работы) три предлагаемых чекбокса:

1 — Автозапуск драйвера вместе с Windows;
2 — Поддержка записи для Ext2 ;
3 — Поддержка форматирования для Ext3 .

На предфинишном этапе активируем опцию запуска окошка диспетчера драйвера — — с попутным присвоением устройствам информации с Ext2/3/4 буквы диска.

В окошке открывшегося увидим носитель с уже присвоенной буквой. Например, в нашем случае носителю с Ext4 задана первая свободная буква F .

Теперь можем работать с диском F в окне проводника.

Присвоить букву новым подключаемым устройствам с Ext2/3/4 можно с помощью контекстного меню, вызываемого на каждом из отображаемых в окне устройств. Но просто при присвоении буквы диска такое устройство не будет отображаться после перезагрузки Windows, это решение только для одного сеанса работы с компьютером. Чтобы сделать новое устройство с Ext2/3/4 постоянно видимым в среде Windows, необходимо двойным кликом по нему открыть настроечное окошко и установить постоянные параметры подключения. Во второй графе нужно:

Для съёмных носителей активировать чекбокс, обозначенный на скриншоте цифрой 1, и указать букву диска;
Для внутренних дисков и разделов активировать чекбокс, обозначенный на скриншоте ниже цифрой 2, и также указать букву диска.