Агрессивно fsck диск перед установкой

У меня есть старая машина HP Athlon, которую я использую для тестирования программного обеспечения под старым процессором. У нас частые коричневые выходы, и после последнего диска был беспорядок. Это было так плохо, что я не мог запустить fsck и отправить все проблемы. Я выполнил новую установку ОС, но я все еще получаю жалобы fsck .

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

Диск большой (около 500 ГБ), а дистрибутив Debian 8 относительно невелик (8-12 ГБ, как правило, более чем достаточно), поэтому мне все равно, если хорошие блоки будут отмечены как плохие. Мне также нравится установка графического интерфейса, но я не женат на нем.

У меня есть два вопроса:

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

  2. У fsck есть параметр, чтобы контролировать, насколько агрессивные блоки отмечены как плохие? Если так, то, что это? Если нет, то что можно использовать?


EDIT : машина HP5850. Ввод в BIOS, переход на систему хранения, а затем самодиагностику системы защиты диска (DPS) привел к тому, что DPS рекомендовал заменить диск. DPS не предоставил никаких статистических данных, поэтому я не уверен в степени ущерба.

Учитывая, что я могу купить [старый] новый диск SATA II за 12 долларов США, я просто собираюсь его заменить. Нет смысла тратить время или энергию на это.


Соответствующие ссылки заключаются в следующем. Ни один из вопросов не рассматривается.

  • fsck страница fsck
  • Глава 6. Использование установщика Debian | 6.3. Использование отдельных компонентов

  1. «Предоставляет ли Debian 8 возможность выполнить fsck перед установкой базовой системы? Если да, то где это? Если нет, то какой процесс?»

    В качестве альтернативы сначала загрузите и запишите компакт-диск GPartEd (или напишите на флэш-накопитель). Перед запуском установщика загрузите GPartEd и разделите диск по своему вкусу и запустите fsck или просто запустите badblocks .

    Когда вы запускаете установщик Debian, просто расскажите, как использовать разделы, которые есть. Установщику не нужно создавать свои собственные разделы. Он с удовольствием использует существующие разделы.

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

    Параметр -c для e2fsck заставляет его запускать программу badblocks для сканирования плохих блоков. Вы можете напрямую запускать badblocks. По умолчанию badblocks выполняет проверку только для чтения. Чтобы быть более агрессивным, вы можете указать -n для неразрушающего теста чтения-записи. Вы также можете установить опцию -p для увеличения количества проходов, которые она делает.

    Возможно, вы захотите запустить badblocks перед разделением. Таким образом, вы можете указать более быстрый тест -w записи.

Если вы часто получаете ошибки fsck, диск может также кашлять кровью. Даже если вы отметите каждый плохой блок как плохой, он не заставит себя долго ждать, пока больше блоков не испортится. Я бы предположил, что вы можете перейти на другой tty, чтобы сделать fsck, если вам действительно нужно (Ctrl + Alt + F2, чтобы переключиться на tty2), но я не могу подчеркнуть, насколько вам нужен новый жесткий диск, если вы говорите является точной.

  1. Нет, и я не думаю, что это того стоит. Fsck (как это реализовано большинством файловых систем) не проверяет ваши диски. Он проверяет метаданные файловой системы и обеспечивает совместимость представления при их монтировании. Это не имеет смысла делать это перед установкой, потому что по определению у вас будет только пустое пространство.

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

Чтобы проверить современный диск на надежность, рассмотрите возможность использования встроенных тестов; вы можете запускать их с помощью утилиты smartctl, например:

 smartctl -t long /dev/sdx #wait an hour or two smartctl -a /dev/sdx #should have recorded a result in the self-test log 

Если вы хотите заранее убедиться, что все недавно было написано, чтобы обнаружить сектора, которые не будут писать должным образом, вы можете переписать всю среду с чем-то вроде dd из / dev / urandom или обрезать с одним из рандомизированных опции.

Я бы рекомендовал получить низкоуровневое программное обеспечение производителя (если оно существует), которое может работать только в Windows (или, если вам повезет, с загрузочного CD / DVD / USB, для которого вы загрузили изображение со своего сайта) , Если у вас есть достаточный контроль над операцией, чтобы уменьшить сообщаемую емкость накопителя в обмен на гораздо больший пул запасных ресурсов, вы должны сделать это, ожидая, что многие из этих запасных частей будут заменены, когда вы тестируете диск, как предлагал @rackandboneman , Гораздо лучше иметь 400- или 450-Гбайт диск со всеми плохими секторами, замененными на запасные части, и больше оставлять на будущие дефекты, чем исчерпывать запасной пул и иметь будущие плохие сектора, которые невозможно прозрачно переназначить.

Некоторые основные вещи, если у вас нет доступных инструментов (например, USB-диск и SMART не работают):

 dd if=/dev/sdX of=/dev/null bs=1M 

будет читать весь диск. Вы увидите в журнале dmesg если есть сектора, которые невозможно прочитать. Хотя он не скажет вам, удалось ли читать их после повторных попыток. Это не так хорошо, как badblocks но я упоминаю об этом для его вездесущности.

Если у вас плохие сектора, и вы не хотите ничего на диске:

 dd if=/dev/zero of=/dev/sdX bs=1M 

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

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

Если это SSD, тогда все по-другому, и они не применяются.