Проверка диска ext4 в windows
Оригинал: How to Use ‘fsck’ to Repair File System Errors in Linux
Автор: Marin Todorov
Дата публикации: 1 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.
Файловые системы отвечают за организацию хранения данных. Так или иначе, со временем файловая система может быть повреждена и некоторые ее части могут быть недоступны. Если ваша файловая система имеет такое несоответствие, рекомендуется проверить ее целостность.
Это можно выполнить с помощью системной утилиты fsck (file system consistency check). Эта проверка может быть выполнена автоматически во время загрузки или запущена вручную.
Как запустить fsck в корневом разделе Linux
В некоторых случаях вам может потребоваться запустить fsck в корневом разделе вашей системы. Поскольку вы не можете запустить fsck на смонтированном разделе, вы можете попробовать один из следующих вариантов:
1. Принудительно использовать fsck при загрузке системы
2. Запустить fsck в режиме восстановления
Мы рассмотрим обе ситуации.
Проверка файловых систем EXT2/EXT3/EXT4 на наличие ошибок
e2fsck используется для проверки файловых систем ext2/ext3/ext4 на наличие ошибок, а fsck проверяет и может при необходимости исправлять ошибки файловой системы Linux. Она, в основном, представляет собой интерфейс для утилит, проверяющих различные файловой системы, используемые в Linux (fsck.fstype, например fsck.ext3, fsck.sfx и т. д.).
Помните, что при загрузке системы Linux автоматически запускает e2fack/fsck на разделах, помеченных для проверки в конфигурационном файле /etc/fstab. Обычно это делается после того, как файловая система не была правильно отмонтирована.
Внимание: не запускайте e2fsck или fsck на смонтированных файловых системах, сначала отмонтируйте раздел, как показано ниже.
В качестве альтернативы вы можете включить подробный вывод с помощью ключа -V и указать тип файловой системы с помощью ключа -t:
Как запустить fsck для исправления ошибок файловой системы Linux
Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверить, не смонтирован. Для этой статьи я буду использовать мой второй диск /dev/sdb, смонтированный в /mnt.
Вот что произойдет, если я попытаюсь запустить fsck на смонтированном разделе.
Чтобы избежать этого, размонтируйте раздел с помощью команды:
Теперь fsck можно запустить безопасно.
Как просмотреть информацию о файловой системе EXT2/EXT3/EXT4
dumpe2fs - утилита командной строки, используемая для вывода данных о файловой системе ext2/ext3/ ext4, она отображает информацию о суперблоке и блоках для файловой системы на устройстве.
Перед запуском dumpe2fs обязательно запустите команду df -hT, чтобы узнать имена устройств файловой системы.
Для просмотра блоков, помеченных в файловой системе как плохие, используйте флаг -b:
Исправление ошибок файловой системы Linux
Флаг -y автоматически даёт ответ "да" на любые запросы от fsck для исправления ошибок.
Точно так же вы можете запустить команду на всех файловых системах (без корневой):
Опции fsck
Команда Fsck должна быть запущена с привилегиями суперпользователя (root). Вы можете использовать ее с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных опций:
-A - используется для проверки всех файловых систем. Список берется из /etc/fstab.
-C - показывать индикатор выполнения.
-l - блокирует устройство, чтобы гарантировать, что никакая другая программа не попытается использовать раздел во время проверки.
-M - не проверять смонтированные файловые системы.
-N - только показывать, что будет сделано - не делать никаких реальных изменений.
-P - если вы хотите проверять файловые системы параллельно, включая корневую.
-R - не проверять корневую файловую систему. Это полезно только вместе с ‘-A‘.
-r - предоставить статистику для каждого проверяемого устройства.
-T - не показывает заголовок.
-t - исключительно указать типы файловых систем, которые будут проверяться. Типы могут быть разделены запятыми.
-V - предоставить описание того, что делается.
Запуск fsck в режиме восстановления
Запуск fsck в режиме восстановления требует еще нескольких шагов. Сначала подготовьте систему к перезагрузке. Остановите все важные службы, такие как MySQL/MariaDB и т. д., а затем перезагрузите компьютер.
Во время загрузки удерживайте нажатой клавишу Shift, чтобы отобразилось меню grub. Выберите «Advanced options».
Затем выберите «Recovery mode».
В следующем меню выберите «fsck».
Вас спросят, хотите ли вы перемонтировать вашу корневую файловую систему. Выберите «yes».
Вы должны увидеть что-то похожее на это.
Затем вы можете вернуться к нормальной загрузке, выбрав «Resume».
Отладка файловых систем EXT2/EXT3/EXT4
debugfs - простой, интерактивный консольный отладчик файловой системы ext2/ext3/ext4. Он позволяет изменять параметры файловой системы в интерактивном режиме. Чтобы просмотреть его команды или запросы, введите «?».
По умолчанию файловая система должна быть открыта в режиме чтения-записи, для этого используется флаг -w. Чтобы открыть ее в аварийном режиме, используйте параметр -c.
Для определения фрагментации свободного пространства используется запрос freefrag:
Вы можете использовать также множество других запросов, таких как создание или удаление файлов или каталогов, изменение текущего рабочего каталога и многое другое, просто почитайте краткое описание запросов. Для закрытия debugfs введите запрос q.
Другие статьи о мониторинге и обслуживании файловых систем в Linux:
Способ 1 (через спец. драйвер)
Подобные "драйверы" есть от нескольких производителей. Я бы выделил продукт от Paragon (ссылка на офиц. сайт с драйвером). Почему:
- поддержка ФС: Ext2, Ext3, Ext4 (чтение + запись); Btrfs, XFS (только чтение);
- после установки драйвера — ничего "делать" не нужно: просто Windows начинает видеть накопители с Ext4+;
- совместим с ОС Windows 7/8/10 (плюс есть пробный период, которого хватает для возникшей задачи (обычно)).
Драйвер от Paragon
Обратите внимание, что "ненужные" разделы диска можно откл. и не монтировать. Настройка драйвера позволяет это сделать.
Главное окно (Linux File Systems for Windows by Paragon Software)
На скрине ниже привел окно проводника: как видите, раздел отображает как "обычный" — на него также можно что-нибудь скопировать / удалить.
Этот компьютер — диски с ФС EXT4 появились в проводнике
👉 Дополнение!
На Sourceforge можно также найти бесплатный драйвер файловой системы Ext2/3/4 для Windows 7/8/10* (ориг. название: Ext2Fsd).
Сразу отмечу, что на некоторых ОС Windows 10 — драйвер этот ведет себя нестабильно, и не позволяет прочитать информацию с нужного раздела.
Продукт от Paragon, конечно, выигрывает.
Когда нужно использовать fsck в Linux
Существуют разные сценарии, когда вам понадобится запустить fsck. Вот несколько примеров:
Система не загружается.
Файлы в системе поврежденны (часто вы можете увидеть ошибку ввода/вывода).
Подключенный диск (включая флэшки/SD-карты) не работает должным образом.
Настройка файловых систем EXT2/EXT3/EXT4
В начале мы упоминали, что одной из причин повреждения файловой системы является ее неправильная настройка. Для изменения настраиваемых параметров файловых систем ext2/ext3 /ext4 вы можете использовать утилиту tune2fs , как описано ниже.
Чтобы просмотреть содержимое суперблока файловой системы, включая текущие значения параметров, используется параметр -l.
Далее, с помощью флага -c, вы можете установить количество монтирований, после которого файловая система будет проверена утилитой e2fsck. Приведенная ниже команда указывает системе запустить e2fsck на /dev/sda10 после каждых 4 монтирований.
Вы также можете задать время между двумя проверками файловой системы с помощью опции -i. Приведенная ниже команда устанавливает интервал между проверками файловой системы 2 дня.
Теперь, если вы запустите приведенную ниже команду, будет установлен интервал проверки файловой системы для /dev /sda10.
Для изменения параметров ведения журнала по умолчанию используется параметр -J. Этот параметр также имеет подпараметры: size = journal-size (устанавливает размер журнала), device = external-journal (указывает устройство, на котором он хранится) и location = journal-location (определяет местоположение журнала).
Обратите внимание, что для файловой системы можно задать только один из параметров: размер или устройство:
И последнее, но не менее важное: метку тома файловой системы можно задать с помощью опции -L, как показано ниже.
Понимание кодов выхода fsck
После запуска fsck она вернет код выхода. Эти коды можно увидеть в руководстве fsck, выполнив:
Как «прочитать» информацию на разделах с файловыми системами Ext2, Ext3, Ext4
Способ 2 (через дополнения к TC)
TC — это сокращенное название файлового коммандера Total Commander (некая замена проводнику). К этой программе есть очень много плагинов, и, разумеется, для чтения Ext2/3/4 ФС тоже есть!
Покажу по шагам, как в нем открыть подобный раздел диска.
1) Сначала устанавливаем сам Total Commander. Ссылка на офиц. сайт.
2) Далее необходимо загрузить плагин DiskInternals Reader с офиц. сайта (он идет в архиве ZIP - извлекать не нужно).
3) После необходимо запустить TC от имени администратора (просто кликните правой кнопкой мыши по значку. ). 👇
Запуск TC от имени админа
4) Затем необходимо открыть архив ZIP с плагином DiskInternals Reader в Total Commander — тогда он предложит вам установить плагин. Разумеется, соглашаетесь! 👌
5) Далее необходимо закрыть TC и снова его запустить от имени админа. В меню выбора диска укажите вариант "Сеть / FS-плагины" — далее кликните по значку DiskInternals Reader (см. стрелки 1, 2 на скрине ниже 👇).
6) Собственно, далее появиться список всех дисков (в том числе и Ext2/3/4) — их можно открыть и скопировать с них нужную информацию. Задача решена?! 👌
Файлы читаются, можно копировать
Comments
есть ненулевой набор ошибок ext4, который приведённая команда лишь усугубляет. буду только рад, если это исправилось. меня в своё время спас только предварительный бекап).
причём в чём скрывалась жопа, найти так и не удалось, откатился на ext3.
Я честно говоря не знаю, о чем вы - с таким не сталкивался.
Но мне fsck помогла как в этом, так и во всех других случаях (правда то было с другими ФС, с ext4 только единичный случай).
у меня тоже единичный случай, но опыт противоположный).
в остальных случаях fsck - незаменимый инструмент. особенно выручало во freebsd, даже на битых винтах.
Я раньше, бывает, частенько использовал ее для корня на reiserfs, который почему то сыпался с периодичностью раз в месяц. Как мне сказал один умный человек - смени ФС - сменил на ext3, все стало ок.
Оригинал: 4 Tools to Manage EXT2, EXT3 and EXT4 Health in Linux
Автор: Aaron Kili
Дата публикации: 6 ноября 2017 года
Перевод: А. Кривошей
Дата перевода: январь 2018 г.
Файловая система - это структура данных, которая контролиролирует процесс хранения, чтения и записи данных в компьютерной системе. Файловая система также может рассматриваться как физический (или расширенный) раздел на диске. Если он не обслуживается должным образом, это может привести к повреждению или полной потере данных.
Определенные факторы могут привести к ошибкам работы файловой системы: сбои в работе операционной системы, сбои в работе оборудования или программного обеспечения, неисправные драйверы и программы, неправильная настройка, "жесткая" перегрузка и другие экзотические причины. Любая из этих проблем может привести к тому, что Linux не будет правильно монтировать (или отмонтировать) файловую систему, что приведет к сбою в работе системы.
Кроме того, загрузка компьютера с поврежденной файловой системой может привести к возникновению других ошибок в компонентах операционной системы или в пользовательских приложениях, которые могут перерасти в серьезную потерю данных. Чтобы избежать повреждения файловой системы, необходимо следить за ее здоровьем.
В этой статье мы рассмотрим инструменты для мониторинга и поддержания работоспособности файловых систем ext2, ext3 и ext4. Все описанные здесь утилиты требуют привилегий пользователя root, поэтому для их запуска используйте команду sudo.
Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы
Это относительно легко выполнить, единственное, что вам нужно сделать, это создать файл с именем forcefsck в корневом разделе вашей системы. Используйте следующую команду:
Во время следующей загрузки будет выполняться fsck. Если время простоя является критическим, рекомендуется тщательно спланировать эту проверку, так как если в вашей системе много используемых inode, fsck может занять некоторое, довольно значительное время.
После загрузки системы проверьте, существует ли этот файл:
Если он есть, вы можете удалить его, чтобы избежать запуска fsck при каждой загрузке системы.
Заключение
Из этого руководства вы узнали, как использовать fsck и выполнять проверки согласованности в разных файловых системах Linux. Если у вас есть какие-либо вопросы о fsck, пожалуйста, не стесняйтесь задавать их в разделе комментариев ниже.
Доброго дня!
К сожалению "обычная" версия Windows не позволяет работать с дисками, отформатированными в файловые системы (ФС) Ext2, Ext3, Ext4 (используются в Linux). Всё, что доступно — это узнать о их существовании в управлении дисками, а вот скопировать файл — уже проблема.
Наиболее сподручный и самый удобный вариант (на мой взгляд) — установить в Windows спец. драйвер, который позволит ОС работать с дисками Ext2/3/4 также, как если бы они были отформатированы в NTFS (скажем). Т.е. любая программа в Windows (тот же проводник) сможет в обычном режиме работать с диском. Удобно?
Теперь о том, "что" выбрать.
Способ 3 (с помощью LiveCD)
Вообще, этот вариант, конечно, не относится к работе из-под Windows. Однако, он вполне себе годен для какой-то разовой работы (например, для копирования и переноса папки с файлами). К тому же аварийный LiveCD с Linux никогда не помешает - вдруг чего. 👌
1) Дистрибутивы Linux с поддержкой работы LiveCD — 👉 можете найти в моей подборке
2) Загруженный ISO-файл с нужной версией дистрибутива Linux необходимо правильно записать на флешку.
3) Далее останется только загрузиться с этой флешки с помощью Boot Menu (вызывается сразу после вкл. ПК). Если вы выберите дистрибутив Linux для новичка — то работать с ним весьма просто (ничуть не сложнее, чем с проводником Windows).
Есть ли какая-нибудь утилита чтобы винда начала пониать ext4?
Читал про этот вариант, но он не работает.
Читал про этот вариант, но он не работает
Этот вариант работает. Раньше всегда им пользовался
На W7 будет 100% работать, на W10 возможны проблемы.
У меня Windows 10 Pro (Direct X 11 для игорей), пиратка, скаченная с the Pirate Bay (у нее еще траблы с датой-временем). Там ошибка открытия выскакивает. Диски-то видит после описанных в статье манипуляций видит, но делать с ними ничего нельзя. Собственно, поэтому я поинтересовался наличием альтернатив. Гуглением с моим уровнем английского ничего не дало.
Вроде работает норм. Только там была недавно проблема какая-то — сильно нагружался процессор во время работы и вылечить это дело можно было только перезагрузкой.
Наверняка уже пофиксили.
Я как-то ради прикола попробовал в Ext2FSD забрать букву C у системного раздела, так винда умерла. А восстановление системы было как назло отключено. С тех обхожу эту прогу стороной. А еще она без всякой причины сыпала ошибками отложенной записи сразу при загрузки системы.
Согласен, с этой программой надо осторожно.
Однако то, что мне было нужно, она умела.
Диски-то видит после описанных в статье манипуляций видит, но делать с ними ничего нельзя
В смысле нельзя? Нельзя смонтировать?
Иногда (редко) может видеть не все файлы и папки по непонятным причинам.
Ext2fsd работает. Правда без журнала и фрагментирует фс, но это мелочи.
Попробуй ради прикола format c:
Ничего не будет, винда не даст.
Вот это вот, да. Я использую в ридонли, но практического интереса мало, файлы которые понадобятся можно вполне спокойно на ntfs разделе хранить. Разве что на переносном носителе приложить его, чтобы везде можно было прочитать.
На XP появляется ошибка отложенной записи при загрузке системы. Раздел ext4 в read only. На Win7 все нормально.
«Service Management» (F7) должно быть SERVICE_AUTO_START, иначе даже в ручном режиме (Automaticaly mount via Ext2Mgr, это монтирование до перезагрузки) не получится подключить раздел. Кнопка ручного старта службы в проге не действует, для ее включения нужна перезагрузка.
Та служба, что в виндовой оснастке services.msc C:\Program Files\Ext2Fsd\Ext2Srv.exe немного другое, работает и без нее, но желательно ее не отключать. Потренируйтесь сначала в виртуалке.
На XP появляется ошибка отложенной записи при загрузке системы.
Надеюсь на Win95 всё работает?
Ставишь виртуалочку с линуксом, пробрасываешь туда raw partition, расшариваешь по SMB при необходимости.
Не так давно мы создавали загрузочную флешку, на случай, если нам понадобиться вдруг восстановить систему после непредвиденной ошибки. На этот раз ситуация такая - из за ошибки файловой системы ОС перестала запускаться, совсем, т.е. запустить в режиме безопасности вы ее не можете. Корень - это раздел ЖД с ФС ext4. Выход из такой ситуации - использовать системную утилиту для работы с ФС fsck.
Все, что нам нужно сделать, это запустить проверку нужного раздела ЖД. Выглядеть это должно примерно следующим образом - fsck.ext4 -p /dev/sda1, где ключ -p обязывает исправлять все ошибки автоматически, а /dev/sda1 это нужный нам раздел. Самый простой способ узнать адрес нужного раздела, запустить из меню Administation программу для работы с разделами ЖД - GPartEd.
Далее находим нужный нам раздел, и видим, что корень диска находится в /dev/sda7 (Смотрите точку монтирования, она д.б. /)
Да кстати, учтите, что нужный раздел не должен быть примонтирован. Если программа говорит что filesytem is clean, то используйте ключ -f (force). Если все пройдет ОК, система начнет загружаться.
P.S. Так же выбранный метод можно использовать для периодической проверке, когда есть время, например /home раздела, ибо при попытке запуска fsck из основной системы вас ждет фейл с отмонтированием раздела.
Читайте также: