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

Содержание
  1. Использование утилиты fsck для исправления ошибок файловой системы в Linux
  2. Когда нужно использовать fsck в Linux
  3. Опции fsck
  4. Как запустить fsck для исправления ошибок файловой системы Linux
  5. Понимание кодов выхода fsck
  6. Исправление ошибок файловой системы Linux
  7. Как запустить fsck в корневом разделе Linux
  8. Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы
  9. Запуск fsck в режиме восстановления
  10. Заключение
  11. ИТ База знаний
  12. Полезно
  13. Навигация
  14. Серверные решения
  15. Телефония
  16. Корпоративные сети
  17. Курс по сетям
  18. 15 примеров команды PING для диагностики сети
  19. Руководство по команде grep в Linux
  20. Рекурсивно найти слово в файлах и папках Linux
  21. Установка и настройка ClamAV Linux
  22. vtop — Инструмент мониторинга процессов и активности памяти Linux
  23. Установка локального сервера кеширования DNS на Linux
  24. Монтирование и демонтирование файловых систем в Linux
  25. Проверка файловой системы Linux

Использование утилиты fsck для исправления ошибок файловой системы в Linux

Оригинал: How to Use ‘fsck’ to Repair File System Errors in Linux
Автор: Marin Todorov
Дата публикации: 1 октября 2018 года
Перевод: А. Кривошей
Дата перевода: июль 2019 г.

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

Это можно выполнить с помощью системной утилиты fsck (file system consistency check). Эта проверка может быть выполнена автоматически во время загрузки или запущена вручную.

В этой статье мы рассмотрим утилиту fsck и ее использование, чтобы помочь вам исправить дисковые ошибки.

Когда нужно использовать fsck в Linux

Существуют разные сценарии, когда вам понадобится запустить fsck. Вот несколько примеров:

Система не загружается.
Файлы в системе поврежденны (часто вы можете увидеть ошибку ввода/вывода).
Подключенный диск (включая флэшки/SD-карты) не работает должным образом.

Опции fsck

Команда Fsck должна быть запущена с привилегиями суперпользователя (root). Вы можете использовать ее с разными аргументами. Их использование зависит от вашего конкретного случая. Ниже вы увидите некоторые из наиболее важных опций:

-A — используется для проверки всех файловых систем. Список берется из /etc/fstab.
-C — показывать индикатор выполнения.
-l — блокирует устройство, чтобы гарантировать, что никакая другая программа не попытается использовать раздел во время проверки.
-M — не проверять смонтированные файловые системы.
-N — только показывать, что будет сделано — не делать никаких реальных изменений.
-P — если вы хотите проверять файловые системы параллельно, включая корневую.
-R — не проверять корневую файловую систему. Это полезно только вместе с ‘-A‘.
-r — предоставить статистику для каждого проверяемого устройства.
-T — не показывает заголовок.
-t — исключительно указать типы файловых систем, которые будут проверяться. Типы могут быть разделены запятыми.
-V — предоставить описание того, что делается.

Как запустить fsck для исправления ошибок файловой системы Linux

Чтобы запустить fsck, вам нужно убедиться, что раздел, который вы собираетесь проверить, не смонтирован. Для этой статьи я буду использовать мой второй диск /dev/sdb, смонтированный в /mnt.

Вот что произойдет, если я попытаюсь запустить fsck на смонтированном разделе.

Чтобы избежать этого, размонтируйте раздел с помощью команды:

Теперь fsck можно запустить безопасно.

Понимание кодов выхода fsck

После запуска fsck она вернет код выхода. Эти коды можно увидеть в руководстве fsck, выполнив:

Исправление ошибок файловой системы Linux

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

Флаг -y автоматически даёт ответ «да» на любые запросы от fsck для исправления ошибок.

Точно так же вы можете запустить команду на всех файловых системах (без корневой):

Как запустить fsck в корневом разделе Linux

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

Читайте также:  Как отображать расширение файлов windows

1. Принудительно использовать fsck при загрузке системы
2. Запустить fsck в режиме восстановления

Мы рассмотрим обе ситуации.

Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы

Это относительно легко выполнить, единственное, что вам нужно сделать, это создать файл с именем forcefsck в корневом разделе вашей системы. Используйте следующую команду:

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

После загрузки системы проверьте, существует ли этот файл:

Если он есть, вы можете удалить его, чтобы избежать запуска fsck при каждой загрузке системы.

Запуск fsck в режиме восстановления

Запуск fsck в режиме восстановления требует еще нескольких шагов. Сначала подготовьте систему к перезагрузке. Остановите все важные службы, такие как MySQL/MariaDB и т. д., а затем перезагрузите компьютер.

Во время загрузки удерживайте нажатой клавишу Shift, чтобы отобразилось меню grub. Выберите «Advanced options».

Затем выберите «Recovery mode».

В следующем меню выберите «fsck».

Вас спросят, хотите ли вы перемонтировать вашу корневую файловую систему. Выберите «yes».

Вы должны увидеть что-то похожее на это.

Затем вы можете вернуться к нормальной загрузке, выбрав «Resume».

Заключение

Из этого руководства вы узнали, как использовать fsck и выполнять проверки согласованности в разных файловых системах Linux. Если у вас есть какие-либо вопросы о fsck, пожалуйста, не стесняйтесь задавать их в разделе комментариев ниже.

ИТ База знаний

Курс по Asterisk

Полезно

— Узнать IP — адрес компьютера в интернете

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Калькулятор инсталляции IP — АТС Asterisk

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

Популярное и похожее

Курс по сетям

15 примеров команды PING для диагностики сети

Руководство по команде grep в Linux

Рекурсивно найти слово в файлах и папках Linux

Установка и настройка ClamAV Linux

vtop — Инструмент мониторинга процессов и активности памяти Linux

Установка локального сервера кеширования DNS на Linux

Монтирование и демонтирование файловых систем в Linux

Еженедельный дайджест

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

Цель данной статьи, чтобы разобраться с тем как поправить незначительные ошибки, возникающие в файловых системах. Файловых систем много, поэтому много различных инструментов для работы с ними. Поэтому будет рассказано об основных инструментах к основным стандартным системам Linux. И рассмотрим несколько инструментов к рекомендованным LPIC файловым системам.

Рассмотрим, так же журналируемые файловые системы и посмотрим индексные дескрипторы.

  • Проверка целостности файловой системы;
  • Проверка свободного пространства и индексных дескрипторов в файловой системе;
  • Исправление проблем файловой системы.
  • df , du , fsck , debugfs – общие утилиты для всех Linux систем
  • mke2fs , e2fsck , dumpe2fs , tune2fs – утилиты для файловой системы ext
  • xfs_check , xfs_repair , xfs_info , xfs_metadump – утилиты для файловой системы xfs

Совершенно понятно, что для других файловых систем есть свои утилиты для работы с данными файловыми сиcтемами.

Обучайся в Merion Academy

Пройди курс по сетевым технологиям

Начать

Первая утилита df :

Данная утилита показывает использование дискового пространства. У данной утилиты достаточно много ключей. Её особенностью является то, что она показывает дисковое пространство в 1 кбайт блоках.

Данные цифры не очень понятны и удобны, для того чтобы было удобно можно использовать ключ –h и тогда вид станет удобно читаемым. В выводе команды мы сразу видим размер, сколько использовано, процент использование и точка монтирования. Как мы видим на новом перемонтированном разделе /dev/sdc1 занят 1% дискового пространства. Если посмотреть в папку монтирования раздела, то мы увидим там папку lost+found . Данная папка пуста, но занимает 37 МБ. Есть такое понятие индексные дескрипторы в журналируемых файловых системах inode. Inode – это метка идентификатора файла или по другому индексный дескриптор. В этих индексных дескрипторах хранится информация о владельце, типе файла, уровне доступа к нему. И нужно понимать, что для каждого файла создается свой отдельный inode. Команда df –I может показать нам inode.

Читайте также:  Legacy edge embedded windows 10 activex

Число, например, inode напротив /dev/sda2 показывает сколько inode всего может быть на устройстве, далее сколько используется и сколько свободно. Обычно под inode отдается примерно 1% жесткого диска. И получается, что больше чем число inode на устройстве файлов и папок быть не может. Количество inode зависит от типа файловой системы. Далее мы рассмотрим, как пользоваться inode.

Следующая команда du

Данная команда показывает, что и сколько занимает у нас места на жестком диске, а именно размер папок в текущей директории. Если посмотреть вывод данной команды без ключей, то мы увидим список папок в текущей директории и количество блоков, с которым очень неудобно работать. Чтобы перевести данные блоки в человеческий вид, то необходимо дать ключ –h .

А для еще большего удобства, можно установить замечательную утилиту ncdu простой командой.

После установки нужно запустить ncdu . И мы увидим очень красивую картинку.

Но вернемся к стандартной утилите du . С помощью данной утилиты мы можем указать в какой папке необходим просмотр папок и вывод их размера.

К сожалению данная утилита умеет взвешивать вес только каталогов и не показывает размер файлов. Для того, чтобы посмотреть размер файлов, мы конечно же можем воспользоваться командой ls –l . А также если мы запустим данную команду с ключем –i мы увидим номера inode файлов.

Как вы видите у каждой папки и у каждого файла есть свой индексный дескриптор.

Далее команды, которые нам позволят проверить целостность файловой системы.

Как написано в описании утилиты она позволяет проверять и чинить Linux файловую систему.

Мы можем видеть, например, в oперационной системе Windows, что в случае некорректного завершения работы операционной системы, операционная система запускает утилиту проверки целостности checkdisk . В случае необходимости данная утилита исправляет найденные ошибки в файловой системе. Следовательно, в Linux данные операции выполняет утилита fsck , причем может работать с различными файловыми системами Linux операционных систем. Мы можем попробовать воспользоваться утилитой fsck /dev/sdc1 . В ответ от операционной системы мы получим следующее:

Как мы видим операционная система вернула в ответ на команду для работы с данным разделом, что данный раздел с монтирован и операция прервана. Аналогичную ситуацию мы будем наблюдать в операционной системе Windows, если мы будем пытаться рабочий раздел проверить на ошибки. Т.е возникнет следующая ситуация. Если мы будем проверять дополнительный логический диск, где не установлена операционная система Windows, то данный раздел на время проведения тестов будет отключен и будут идти проверки. А если мы попытаемся проверить основной раздел, куда установлена операционная система Windows, то операционная система не сможет запустить данную утилиту и попросит перезагрузиться для запуска данной утилиты. В нашем случае придется делать точно так же. Поэтому, чтобы проверить необходимо отключить (от монтировать раздел) и после уже этого запускать утилиту.

Из вывода можно заметить утилита пыталась запустить другую утилиту e2fsck , которая в данном случае отвечает за проверку файловых систем ext\ext2\ext3\ext4 . О чем достаточно подробно написано в описании данной утилиты. По сути fsck запускает утилиту ту, которая идет в пакете утилит для конкретной файловой системы. Бывает такое, что fsck не может определить тип файловой системы.

Для того, чтобы утилита все-таки проверила файловую систему, необходимо отмонтировать логический раздел. Воспользуемся командой umount /mnt .

И запускаем непосредственно саму проверку fsck –t ext4 /dev/sdc1

Проходит проверка моментально. Команда fsck запустилась и запустила необходимую утилиту для файловой системы. По результатам проверки файловая система чистая, найдено 11 файлов и 66753 блока. При обнаружении проблем, утилита предложила нам исправить.

Читайте также:  Centos linux по русски

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

При попытке запуска проверки без указания типа файловой системы fsck /dev/sdc1

Как мы видим, утилита fsck отказалась проверять или вызывать утилиту, а явно указала на ту которую необходимо использовать в данном случае. Для проверки используем xfs_ncheck /dev/sdc1 . А для починки файловой системы xfs_repair /dev/sdc1 .

Перемонтируем обратно наш раздел mount /dev/sdc1 /mnt

Теперь можно получить информацию по разделу xfs_info /dev/sdc1

Или сделать дамп файловой системы xfs_metadump /dev/sdc1 dump.db

Переформатируем файловую систему ext4 на разделе обратно /dev/sdc1 . Перемонтируем в папку mnt . Создадим текстовый файл с текстом на данном разделе nano /mnt/test.txt

Далее мы можем посмотреть следующую утилиту man debugfs . Данная утилита умеет очень многое: очень много ключей и различных опций. Чистит, удаляет, чинит, работает с inodes.

Зайти в данную утилиту можно debugfs –w /dev/sdc1 . Набираем help и видим кучу опций.

Можно попросить данную утилиту вывести содержимое нашего тома.

В результате данной команды мы увидим 2 объекта с номерами их inode. Теперь мы можем сказать rm test.txt и файл будет удален, точнее не сам файл а его индексный дескриптор., если посмотреть опять с помощью команды ls . То будет видно, что количество объектов не изменилось. Следовательно, мы этот файл в журналируемых файловых системах можем восстановить, восстановив его индексный дескриптор. Но только до тех пор, пока на место удаленного файла не был записан другой. Именно поэтому если требуется восстановление информации на диске, рекомендуется немедленно отключить ПК и после этого отдельно подключать носитель информации для процедуры восстановления. Так же на данном принципе основано сокрытие информации в Информационной безопасности, когда на носитель информации в 2 или 3 прохода записываются псевдослучайные данные. Для восстановления данных мы можем использовать команду lsdel . Данная команда показывает удаленные файлы.

В принципе на данном debugfs и основаны многие программы для восстановления данных.

На скриншоте хорошо видно, что был удален 1 inode с номером 12 дата и время, другие параметры. Для выхода используем q . Для восcтановления используем undel test.txt , команда, номер индексного дескриптора и имя файла с которым оно восстановится. Убедиться, что файл на месте можно с помощью команды ls .

Утилита debagfs помогает восстанавливать файлы и вообще работать с файловой системой на низком уровне. Конечно восстанавливать по 1 файлу, это очень трудозатратно. Поэтому вот эти низкоуровневые утилиты используют более современные программы.

Еще одна утилита dumpe2fs . Можно вызвать справку по данной утилите man dumpe2fs

Данная команда делает дамп информации, которая хранится на данных томах. Выполним данную команду для /dev/sdc1

Мы получим следующий вывод информации.

Данный вывод был сделан на стандартный вывод – т.е экран. Сделаем вывод в файл, например:

Мы можем просмотреть информацию в выведенную в файл поэкранно с помощью less /tmp/output.txt

В выводе мы сможем увидеть основные опции данной файловой системы.

Переделаем файловую систему, текущую ext4 в ext2 . Это можно сделать 3-мя способами с помощью утилит: mkfs , mke2fs , mkfs . ext2 . Перед переформатирование необходимо отмонтировать файловую систему. После форматирования и перемонтируем. Опять снимаем дамп и передаем по конвееру на команду grep чтобы посмотреть features . Получаем следующее:

И видим, что файловые системы отличаются, более новая файловая система имеет фишку журналирования has_jounal . Данная опция так же присутствует в ext3 . Т.е в данных файловых системах имеются журналы с помощью которых удобно восстанавливать.

Есть интересная утилита tune2fs – настраивать файловую систему.

Данная утилита, как следует из описания настраивает настраиваемые параметры файловых систем. Например, у нас есть не журналируемая файловая система ext2 . Мы даем команду tune2fs –O has_journal /dev/sdc1 . Данная утилита добавляет опцию ведения журнала к файловой системе ext2 . Или можем наоборот сказать удалить опцию поставив значок ^ .

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