Linux не читаемый диск

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

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

Это можно сделать с помощью системной утилиты fsck (проверка целостности файловой системы). Эта проверка может выполняться автоматически во время загрузки или запускаться вручную.

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

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

Есть разные сценарии, когда вы захотите запустить fsck. Вот несколько примеров:

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

Опции программы fsck

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

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

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

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

Если диск не только смонтирован, но и используется (например, диск, смонтированный в корневую файловую систему), то ошибка будет «/dev/nvme0n1 is in use».

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

Тогда можно будет безопасно запускать fsck.

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

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

Описание кодов выхода fsck:

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

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

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

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

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

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

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

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

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

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

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

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

Читайте также:  Линукс минт как добавлять репозитории

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

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

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

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

Затем выберите Recovery mode («Режим восстановления»).

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

Вас спросят, хотите ли вы перемонтировать / файловую систему. Выберите Yes («да»).

Вы должны увидеть нечто подобное.

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

Заключение

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

Источник

Как читать разделы диска с Ext2/3/4 (Linux) при работе в Windows

Доброго дня!

К сожалению «обычная» версия Windows не позволяет работать с дисками, отформатированными в файловые системы (ФС) Ext2, Ext3, Ext4 (используются в Linux). Всё, что доступно — это узнать о их существовании в управлении дисками, а вот скопировать файл — уже проблема.

Наиболее сподручный и самый удобный вариант (на мой взгляд) — установить в Windows спец. драйвер, который позволит ОС работать с дисками Ext2/3/4 также, как если бы они были отформатированы в NTFS (скажем). Т.е. любая программа в Windows (тот же проводник) сможет в обычном режиме работать с диском. Удобно?

Теперь о том, «что» выбрать.

Как «прочитать» информацию на разделах с файловыми системами Ext2, Ext3, Ext4

Способ 1 (через спец. драйвер)

Подобные «драйверы» есть от нескольких производителей. Я бы выделил продукт от Paragon (ссылка на офиц. сайт с драйвером). Почему:

  1. поддержка ФС: Ext2, Ext3, Ext4 (чтение + запись); Btrfs, XFS (только чтение);
  2. после установки драйвера — ничего «делать» не нужно: просто Windows начинает видеть накопители с Ext4+;
  3. совместим с ОС 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, конечно, выигрывает.

Способ 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) — их можно открыть и скопировать с них нужную информацию. Задача решена?! 👌

Читайте также:  Виртуальная память файл подкачки windows 10 сколько ставить

Файлы читаются, можно копировать

Способ 3 (с помощью LiveCD)

Вообще, этот вариант, конечно, не относится к работе из-под Windows. Однако, он вполне себе годен для какой-то разовой работы (например, для копирования и переноса папки с файлами). К тому же аварийный LiveCD с Linux никогда не помешает — вдруг чего. 👌

1) Дистрибутивы Linux с поддержкой работы LiveCD — 👉 можете найти в моей подборке

2) Загруженный ISO-файл с нужной версией дистрибутива Linux необходимо правильно записать на флешку.

3) Далее останется только загрузиться с этой флешки с помощью Boot Menu (вызывается сразу после вкл. ПК). Если вы выберите дистрибутив Linux для новичка — то работать с ним весьма просто (ничуть не сложнее, чем с проводником Windows).

Источник

Как легко восстановить один нечитаемый блок на диске Linux?

Моя система Linux начала метать ошибки SMART в syslog. Я отследил его и считаю, что проблема заключается в одном блоке на диске. Как мне легко заставить диск перераспределить этот один блок? Я хотел бы знать, какой файл был уничтожен в процессе. (Я знаю, что если один диск выходит из строя на диске, другие, скорее всего, последуют, у меня хорошая текущая резервная копия и просто хочу попытаться сохранить этот диск.)

Поиск в Интернете приводит к Плохой блок HOWTO , в котором описывается ручной процесс на размонтированном диск. Это кажется сложным и подверженным ошибкам. Есть ли инструмент для автоматизации этого процесса в Linux? Мой единственный вариант — диагностический инструмент производителя , но я полагаю, что он будет склеить плохой блок, не сообщая о том, что было уничтожено. В худшем случае это могут быть метаданные файловой системы.

Этот диск является основным системным разделом. Использование ext3fs и LVM. Вот журнал ошибок из syslog и соответствующий бит из smartctl.

Здесь есть полный дайджман smartctl на pastebin .

6 ответов

Вы можете попробовать hdparm —write-sector /dev/ice .

Я не знаю другого способа сделать это — вам нужно вручную преобразовать LBA в блоки файловой системы (как вы уже нашли)

Я использовал для записи прошивку на диск для WD, и однажды я написал прошивку, которая переназначила плохие блоки.

Во-первых, самые плохие блоки обнаруживаются при чтении, а не в записи. Записи записываются вслепую, то есть данные записываются без проверки. Таким образом, при записи, если носитель плохой, вы не узнаете его, пока хост не прочитает этот сектор. Существует небольшая часть сектора (заголовок сектора), который считывается при записи, чтобы найти правильный сектор, так что, если есть ошибка при чтении заголовка сектора, привод переназначает сектор и записывает его с полученными данными из команды записи. Но подавляющее большинство плохих блоков обнаруживается при чтении, и только потому, что запись преуспевает в секторе, это не значит, что носитель хорош или что сектор переназначен.

Теперь о неудачном перераспределении блока (также называемом перераспределением). Да, обычно диск будет пытаться переназначить сектор, если ошибка достаточно плохая (т. Е. Сбой ECC является достаточно плохим), но диск по-прежнему может восстановить данные после коррекции ECC. Обычно это делается автоматически. Единственное исключение состоит в том, что хост ранее мог сказать, что диск не выполняет автоматическое перераспределение, но это редко делается.

Итак, что произойдет, если диск прочитает и не может восстановить данные? Ничего. Ошибка сообщается хосту, но переназначение не выполняется. Проблема в том, что диск может переназначить сектор, но он не имеет ни малейшего представления о том, какие данные следует записывать в недавно переназначенном секторе. Если он просто написал кучу нулей, скажем, и затем сектор был прочитан снова, он вернет все нули без каких-либо указаний на то, что данные недействительны. Это по сути то же самое, что и повреждение данных. Дисковод не может рассчитывать на то, что хост отслеживает ошибки по разным причинам (например, что, если диск был перенесен на новый хост?), Поэтому лучший способ действий — ничего не делать, когда данные могут » t восстанавливается.

Читайте также:  Epson easy photoprint windows 10 x64

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

Существуют и другие способы борьбы с плохими блоками, которые невозможно перераспределить. Если диск является частью избыточной конфигурации RAID (то есть ничего, кроме RAID 0), программное обеспечение RAID должно автоматически восстанавливать данные для плохого сектора с других дисков и записывать их в перераспределенный сектор. Диски SCSI имеют явную команду переназначения блоков, которую хост может использовать для принудительного переназначения, даже если для записи в блок нет достоверных данных, но его использование довольно низкоуровневое.

Я думаю, все, что вам нужно сделать, это:

Предполагая, что /dev /hda1 является разделом (unmounted). Или:

выполнить (более медленный) неразрушающий тест чтения-записи. Его все равно придется размонтировать. Я не думаю, что это даст вам информацию о потерянных данных.

Майкл правильно это сделал, и в большинстве случаев я бы сказал, что просто замените диск, который они дешевы. Однако, если у вас нет резервных копий и вы не можете получить важные данные с диска или просто хотите попытаться восстановить диск, тогда вы можете попробовать использовать spinrite , на самом высоком уровне.

У меня был ноутбук, который несколько лет назад начал шуметь. Badblocks показал, что у диска было 118 или около того плохих блоков, видимых конечному пользователю. Поскольку у меня уже была копия SpinRite, я решил попробовать ее, прежде чем покупать новый диск. После запуска spinrite на жестких дисках показало 0 плохих блоков, и шум остановился. С тех пор накопитель работал более двух лет.

Если у вас есть резервные копии, и вы знаете, что это логическая ошибка, а не физическая, то лучший способ сделать это — обнулить диск.

Я бы использовал MHDD, он довольно прост в использовании и до тех пор, пока вы не забыли установить свой HDD в Bios для эмуляции IDE, а затем вернуться в AHCI, когда ваша работа будет выполнена, вам не о чем беспокоиться.

Как только вы загрузитесь в MHDD, выберите свой тип диска в команде ERASE и подтвердите свой выбор.

Получите себе кофейник, это может занять некоторое время.

После того, как Drive обнуляется, выполните проверку выполнения (f4), когда параметр Remap установлен в положение ON (по умолчанию отключено). Если все еще есть проблемы с приводом (это будет означать, что на пластине есть физический урон, а диск находится на уклонном наклоне вниз), этот вариант будет «Fix» их путем отображения поврежденной области на здоровые части диска.

Если ошибок UNC нет, то поздравляю вас, и ваш диск все еще может быть друзьями на долгие годы.

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

Источник

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