- Использование утилиты fsck для исправления ошибок файловой системы в Linux
- Когда нужно использовать fsck в Linux
- Опции fsck
- Как запустить fsck для исправления ошибок файловой системы Linux
- Понимание кодов выхода fsck
- Исправление ошибок файловой системы Linux
- Как запустить fsck в корневом разделе Linux
- Принудительная проверка корневой файловой системы с помощью fsck при загрузке системы
- Запуск fsck в режиме восстановления
- Заключение
- 🇨🇫 Как исправить неработающий жесткий диск Windows в Linux
- Установить NTFS fix
- Ubuntu
- Debian
- Arch Linux
- Fedora
- OpenSUSE
- Использование NTFS Fix
- Очистить плохие сектора
- Очистить грязные флаги
- Проверка диска на ошибки в Linux
- Проверка диска на колоченные секторы в linux с помощью badblocks
- Исправление ошибок файловой системы fsck
- Проверка диска на битые секторы в linux с поддержкою smartmontools
Использование утилиты 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 на смонтированном разделе, вы можете попробовать один из следующих вариантов:
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, пожалуйста, не стесняйтесь задавать их в разделе комментариев ниже.
Источник
🇨🇫 Как исправить неработающий жесткий диск Windows в Linux
У вас есть грязный жесткий диск Windows с файловой системой NTFS, у вас возникают проблемы с ним, и вы не можете перезагрузиться в Windows?
Если так, не волнуйтесь!
Можно починить нерабочий жесткий диск Windows, на котором работает файловая система Microsoft NTFS, прямо из терминала, и инструмент называется NTFS-fix.
Установить NTFS fix
Средство исправления NTFS fix не предустановлено в Linux.
Кроме того, большинство дистрибутивов Linux не могут напрямую взаимодействовать с файловыми системами NTFS.
Итак, прежде чем мы сможем разобраться с тем, как очистить жесткий диск с файловой системой Windows, мы должны узнать, как настроить ОС Linux для взаимодействия с жестким диском, установив Ntfs-3g и некоторые другие пакеты.
Чтобы начать установку NTFS fix, откройте окно терминала, нажав клавиши Ctrl + Shift + T или Ctrl + Alt + T на клавиатуре.
Затем следуйте инструкциям командной строки, которые соответствуют вашей операционной системе Linux ниже.
Ubuntu
В Ubuntu Linux приложение NTFSFix не устанавливается вместе с его конкретным пакетом.
Вместо этого нужен пакет Ntfs-3g, который добавляет поддержку файловой системы Microsoft Windows NTFS, также предоставляет приложение NTFS fix.
Чтобы установить пакет Ntfs-3g в вашей системе Ubuntu, используйте следующую команду Apt:
Debian
Debian Linux очень похож на Ubuntu, когда дело касается NTFS Fix, поскольку он не распространяет приложение как уникальный пакет, а скорее как небольшой фрагмент пакета Ntfs-3g (который обеспечивает поддержку NTFS для Linux).
Если вы работаете в Linux и вам нужен этот пакет, перейдите в окно терминала и используйте команду Apt-get:
Arch Linux
Чтобы получить доступ к утилите NTFS fix в Arch Linux, вы должны загрузить пакет NTFS-3g.
Однако вы должны знать, что пакет NTFS-3g доступен только в программном репозитории «Extra», который необходимо включить.
Включите Extra, открыв файл конфигурации Pacman с помощью текстового редактора Nano.
Прокрутите вниз, чтобы найти «Extra» и удалите символ «#» из строки «Extra», чтобы включить его.
Затем удалите символы # из всех строк непосредственно под ним.
Сохраните изменения в файле конфигурации в Nano, нажав Ctrl + O, выйдите с помощью Ctrl + X и установите пакет с помощью:
Fedora
В Fedora Linux поддержка NTFS и приложения NTFS Fix разделена на два пакета.
Пакет Ntfs-3g и пакет Ntfsprogs.
Чтобы установить оба в вашей системе Fedora, введите команду Dnf:
OpenSUSE
OpenSUSE обрабатывает NTFS Fix, как и проект Fedora.
Драйвер пространства пользователя NTFS находится в пакете Ntfs-3g, а утилита NTFS Fix и все остальное – в пакете ntfsprogs.
Чтобы все заработало, введите команду Zypper:
Использование NTFS Fix
Инструмент NTFS fix очень прост в использовании в Linux, поскольку синтаксис и параметры команды очень хорошо объяснены в области «справки» команды.
Примечание: чтобы получить доступ к разделу «Помощь», запустите ntfsfix –help.
Чтобы очистить жесткий диск файловой системы NTFS в Linux с помощью исправления NTFS, начните с определения метки диска в терминале.
Самый быстрый способ определить метку жесткого диска в Linux – использовать команду lsblk. В терминале выполните следующую команду:
Посмотрите дерево дисков, которое выводит на экран команда lsblk, и сделайте все возможное, чтобы определить метку и раздел жесткого диска Windows / NTFS.
Не знаете, как искать?
Ознакомьтесь с нашим подробным руководством о том, как найти информацию о жестких дисках в Linux:
Получив метку жесткого диска Windows / NTFS и раздела, который вы хотите сканировать, передайте его в приведенную ниже команду для запуска исправления NTFS.
В этом примере метка диска – /dev/sdX1.
Обязательно замените его фактической меткой диска.
Примечание: имейте в виду, что запуск этого инструмента не работает 100% времени. Иногда, если исправление NTFS не может решить проблему, вы должны загрузиться в Windows и запустить chkdsk.
Позвольте команде идти своим чередом. Когда все готово, все на вашем NTFS диске должно быть в рабочем состоянии!
Очистить плохие сектора
Нужно очистить некоторые плохие сектора на вашем жестком диске NTFS?
NTFS fix может позаботиться об этом!
Просто используйте ключ командной строки «clear-bad -ectors».
Очистить грязные флаги
Средство исправления NTFS может очистить любые «грязные флаги» на диске NTFS, если используется параметр командной строки «clear-dirty».
Источник
Проверка диска на ошибки в Linux
Когда, при загрузке, операционная система сообщает о наличии ошибок в файловой системе на одном из разделов, то заслуживает незамедлительно сделать в linux проверку диска на ошибки. Любой уважающий себя user не должен забывать, что периодическая проверка жестких дисков на битые сектора и проверка атриторен на ошибки является примером здравого смысла. Для проверки разделов жесткого диска советуем использовать утилиту FSCK (file system consistency check), поскольку утилита FSCK предустановленна на основной массе операционных систем семейства Linux.
Примером хорошего тона и здравого резона является периодическая проверка диска на битые сектора (бэд-сектора, badblocks) и обычная испытание диска на ошибки записи и т.п. Разберёмся что такое битые сектора. Бэд-сектор, Повреждённый сектор — сбойный (не читающийся) или не внушающий доверие сектор диска; кластер, содержащий сбойные сектора, или кластер помеченный таковым в текстурах файловой системы операционной системой. Следовательно, если в битом секторе были этые, то их ещё возможно восстановить, пока битых секторов не стало слишком много для конкретного файла. Собрать список битых секторов можно с помощью команды badblocks.
Проверка диска на колоченные секторы в linux с помощью badblocks
Badblocks — стандартная утилита Linuх для проверки (Тестирование Инвентаризация Допинг-контроль Проверка подлинности Служебная проверка Проверка орфографии Проверка на дорогах Камеральная налоговая проверка Выездная налоговая проверка Проверка) на колоченные секторы. Она устанавливается по-умолчанию практически в любой дистрибутив и с ее помощью можно проверить как твердый диск, так и внешний накопитель. Для начала давайте посмотрим, какие накопители подключены к ушей системе и какие на них имеются разделы. Для этого нам нужна еще одна стандартная утилита Linux — fdisk.
Собрать список битых секторов можно с помощью команды badblocks.
Делается это так:
sudo badblocks -v /dev/hda1 >
Где /dev/hda1 — это разоблачил диска, что вы хотите проверить.
Желательно делать проверку в однопользовательском режиме, когда это не внешний диск. Тогда его просто стоит отмонтировать. После этого мы можем швырнуть утилиту fsck, явно указав ей список битых секторов для того, чтобы она их подметить как «битые» и попыталась восстановить с них данные. Делается это так:
sudo fsck -t ext4 -l
Где ext4 — это тип файловой системы нашего разоблачила диска, а /dev/hda1 — сам раздел диска.
Естественно, что выполнять команды нужно с правами суперпользователя.
Метеопараметром -l мы говорим утилите fdisk, что нам нужно показать список разделов и выйти. Теперь, когда мы знаем, какие разделы у нас есть, мы можем проверить их на битые секторы. Для этого мы станем использовать утилиту badblocks следующим образом:
sudo badblocks -v /dev/sda1 > badsectors.txt
Если же в итоге были найдены битые секторы, то нам надо дать указание операционной системе не вписывать в них информацию в будущем. Для этого нам понадобятся утилиты Linux для работы с файловыми системами:
e2fsck. Когда мы будем исправлять раздел с файловыми система Linux ( ext2,ext3,ext4).
fsck. Если мы станем исправлять файловую систему, отличную от ext.
Исправление ошибок файловой системы fsck
В моей а не твоей статье «Проверка файловой системы на ошибки с помощью fsck на Linux» я расскажу как возможно проверить файловую систему на вашей ОС в Linux. Некоторым системам необходим пароль root дабы запустить fsck или других аналогичных утилит, когда не могут загрузить полностью ОС. В данном случае стоит выполнить проверку диска загрузившись в single-user mode , либо – загрузившись с иного диска. Fsck расшифровывается как «файловая система Проверка целостности» (file system consistency check).
На основной массе систем, Fsck запускается во время загрузки, если определенные условия. Код выхода ворачивается, когда несколько файловых систем которая проверяется побитовое ИЛИ (OR) для каждой файловой системы, какая проверяется. В действительности, Fsck — это просто фронт-энд для различных проверочных утилит для файловых систем (fsck.fstype), какие доступны на Linux. Файловая система (множество элементов, находящихся в отношениях и связях друг с другом, которое образует определённую целостность, единство) для конкретных проверок ищет сначала в /sbin, а потом в /etc/fs и /etc/, и, наконец в директориях, перечисленных в переменной PATH (среда переменного кружения).
Запуск и исполнение FSCK на смонтированной файловой системе может привести к повреждению данных, поэтому применяйте данный материал на свой страх и риск.
Автор не несет ответственности за любой вред, который вы можете причинить. Fsck расшифровывается как «File System ChecK», то есть «испытание файловой системы» и используется для проверки и исправления файловых систем в Linux. В качестве верифицируемой ФС может быть задан раздел (например, /dev/sda1 или /dev/sda8), точка монтирования (/, /home, /usr), или же точна тома или UUID (например, UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd или LABEL=root).
Как обычно fsck пытается параллельно проверять файловые системы на нескольких разделах для уменьшения времени, нужного для проверки всех файловых систем. Arch Linux при загрузке автоматически будет бросать fsck для проверки систем, если выполняется одно из требований (например, 180 суток работы системы без проверки разделов или 30 монтирований оных). Обычно нет необходимости переопределять проем между проверками.
Для того, чтобы проверить диск в Linux на наличие опечаток файловой системы нам необходимо сначала выяснить имена файловых систем командой:
Дальше нам необходимо размонтировать файловую систему, которую мы будем проверять командой:
И сейчас запускаем утилиту проверки файловой системы и исправления ошибок на ней командой
В том варианте, когда не представляется возможным размонтировать файловую систему, к примеру, когда нужно испробовать корневую файловую систему (/). Перезагрузиться в однопользовательском режиме (команда reboot, и при загрузке необходимо передать ядру параметр single). Перемонтировать корневую файловую систему в режиме «лишь чтение» командой.
mount -о remount rо -t ext3 /
Здесь параметр -о команды mount указывает на присутствие дополнительных опций. Опция remount rо означает перемонтировать в режиме «только чтение». Метеопараметр -t указывает тип файловой системы – ext3, а последний параметр – указывает что это корневая файловая система (/).
И сейчас проверить файловую систему
fsck -y -f -c /dev/hda1
Проверка диска на битые секторы в linux с поддержкою smartmontools
Теперь давайте рассмотрим более современный и надежный способ проверить диск на колоченные секторы linux. Современные накопители ATA/SATA ,SCSI/SAS,SSD имеют встроенную систему самодисциплины S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology, Технология самоконтроля, анализа и отчетности), которая изготовляет мониторинг параметров накопителя и поможет определить ухудшение параметров работы накопителя на ранешних стадиях. Для работы со S.M.A.R.T в Linux есть утилита smartmontools. Давайте перейдем к работе с утилитой. Включим следующую команду с параметром -H,чтобы утилита показала нам информацию о состоянии накопителя:
sudo smartctl -H /dev/sda1
Как видим, проверка диска («круглое блюдо») — круг (низкий цилиндр) или предмет в виде круга) на битые секторы linux завершена и утилита говорит нам, что с накопителем все в распорядке! Дополнительно, можно указать следующие параметры -a или —all, чтобы получить еще больше информации о накопителе, или -x и —xall, дабы просмотреть информацию в том числе и об остальных параметрах накопителя.
Источник