Как запустить чекдиск?

Я подозреваю, что на диске может быть поврежден сектор. Я использовал файловую систему ext3.

Какой инструмент является лучшим эквивалентом инструмента проверки ошибок Windows?

8 ответов

Решение

Диски

Чтобы проверить наличие поврежденных секторов, проверьте данные SMART, вероятно, наиболее доступные из них, запустив утилиту Disks (Palimpsest). Даже если вы не видите там плохих блоков, запустите самопроверку, чтобы быть уверенным.

Программа входит в комплект gnome-disk-utility пакет. Бежать gksudo gnome-disks

СМАРТ от Палимпсест

Или в версии Ubuntu 16.04 (3.18):

Badblocks

Вы также можете использовать badblocks

sudo badblocks -sv /dev/sda

чтобы просто проверить или проверить и исправить сначала запишите результат во временный файл:

sudo badblocks -sv /dev/sda  > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1

проверит весь диск и распечатает все поврежденные блоки, встречающиеся в / dev / sda.

От badblocks руководство:

Важное примечание: если выходные данные badblocks будут передаваться в программы e2fsck или mke2fs, важно, чтобы размер блока был задан правильно, так как генерируемые номера блоков очень зависят от размера блока, используемого файловой системой, По этой причине настоятельно рекомендуется, чтобы пользователи не запускали badblocks напрямую, а использовали опцию -c программ e2fsck и mke2fs.

fsck

fsck Само по себе это не поможет вам найти плохие сектора, еще хуже, если есть много плохих секторов, это может нанести еще больший ущерб вашим данным. Используйте его только тогда, когда диск здоров.

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

  • Гном Диски Установить Gnome Диски (ранее Gnome Disk Utility, также известный как palimpsest), если доступен графический интерфейс, или
  • на терминале посмотрите на вывод lsblk а также ls -l /dev/disk/by-id и попробуйте найти подходящее устройство по размеру, разделу, производителю и названию модели.

Базовая проверка

  • обнаруживает только абсолютно не отвечающие медиа
  • почти мгновенно (если среда не раскручена или сломана)
  • безопасный
  • работает на носителях только для чтения (например, CD, DVD, BluRay)

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

sudo dd if=/dev/sdc of=/dev/null count=1

Если эта команда приводит к сообщению об "ошибке ввода / вывода", наш диск не работает или не может взаимодействовать с ядром Linux, как ожидалось. В первом случае, если повезет, специалист по восстановлению данных с соответствующим оснащением лаборатории сможет спасти его содержимое. В последнем случае стоит попробовать другую операционную систему. (Я сталкивался с USB-накопителями, которые работают в Windows без специальных драйверов, но не в Linux или OS X.)

УМНЫЙ самопроверка

  • регулируемая тщательность
  • мгновенно или медленно или медленнее (зависит от тщательности теста)
  • безопасный
  • предупреждает о вероятном сбое в ближайшее время

Устройства, которые его поддерживают, могут быть запрошены об их здоровье через SMART или проинструктированы о проведении самопроверки разной тщательности. Как правило, это лучший вариант, но обычно доступен только на (не древних) жестких дисках и твердотельных накопителях. Большинство съемных флэш-носителей не поддерживают его.

Дополнительные ресурсы и инструкции:

Проверка только для чтения

  • обнаруживает только некоторые ошибки флэш-медиа
  • довольно надежно для жестких дисков
  • медленный
  • безопасный
  • работает на носителях только для чтения (например, CD, DVD, BluRay)

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

sudo badblocks -b 4096 -c 4096 -s /dev/sdc

Эта операция может занять много времени, особенно если диск действительно поврежден. Если количество ошибок превысит ноль, мы узнаем, что есть плохой блок. Мы можем безопасно прервать операцию в любой момент (даже принудительно, например, при сбое питания), если нас не интересует точное количество (и, возможно, местоположение) поврежденных блоков. Можно автоматически прервать при ошибке с опцией -e 1,

Примечание для расширенного использования: если мы хотим повторно использовать вывод для e2fsck нам нужно установить размер блока (-b) к тому, что содержится в файловой системе. Мы также можем настроить количество данных (-c в блоках) тестируется сразу для улучшения пропускной способности; 16 МиБ должно быть в порядке для большинства устройств.

Неразрушающий контроль чтения-записи

  • очень тщательно
  • медленный
  • вполне безопасно (за исключением сбоя питания или периодической паники ядра)

Иногда - особенно с флэш-носителями - ошибка возникает только при попытке записи. (Это не обеспечит надежное обнаружение (флэш) носителей, которые рекламируют больший размер, чем на самом деле; вместо этого используйте Fight Flash Fraud.)

  • НИКОГДА не используйте это на диске со смонтированными файловыми системами! badblocks в любом случае отказывается работать с ними, если вы не заставите его.

  • Не прерывайте эту операцию принудительно! Ctrl + C (SIGINT / SIGTERM) и ожидание постепенного преждевременного завершения в порядке, но killall -9 badblocks (SIGKILL) нет. После принудительного прекращения badblocks не может восстановить исходное содержимое текущего протестированного диапазона блоков и оставит его перезаписанным ненужными данными и, возможно, повредит файловую систему.

Чтобы использовать неразрушающие проверки чтения-записи, добавьте -n вариант выше badblocks команда.

Деструктивная проверка чтения-записи

  • очень тщательно
  • помедленнее
  • УДАЛЯЕТ ВСЕ ДАННЫЕ НА ПРИВОДЕ

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

Чтобы использовать разрушительные проверки чтения-записи, добавьте -w вариант выше badblocks команда.

fsck - проверить и восстановить файловую систему Linux. Вызвать его с помощью

fsck /dev/sda1

где /dev/sda1 - диск, который вы хотите проверить. Смотрите man fsck для более подробной информации.

Также есть команда "badblocks", которая проверяет устройство, как вы уже догадались, на наличие плохих блоков.

При проверке необходимо отключить диск, поэтому для проверки корневого раздела необходимо создать файл 'forcefsck' в корневом каталоге раздела и перезагрузиться. Устройство будет проверено при следующей загрузке:

sudo touch /forcefsck
sudo reboot

Кроме того, вы можете загрузиться с Live CD и запустить проверку оттуда.

smartctl

IMO smartctl - лучший инструмент. Вы, вероятно, должны сначала установить его

sudo apt-get install smartmontools 

затем

sudo smartctl -a /dev/sda | less

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

sudo smartctl -H /dev/sda

просто распечатать данные о здоровье.

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

sudo smartctl -t [short|long]

GSsmartControl ( домашняя страница) и Gnome Disks - графические интерфейсы, если вы предпочитаете.

Смотрите также

badblocks

Вы можете проверить наличие бадблоков, выполнив команду

  1. sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result для неразрушающего теста чтения-записи. Это сгенерирует файл с именем bad-blocks-result с поврежденными секторами.
    • -n Использовать неразрушающий режим чтения-записи. По умолчанию выполняется только неразрушающий тест только для чтения.

    • -s Показать прогресс сканирования, записав приблизительное процентное завершение текущего прохода бадблоков по диску.

    • -v подробный режим.

  2. Затем вы можете запустить sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition] сообщить файловой системе, где находятся поврежденные сектора, и по возможности удалить данные из них.

Вы можете найти больше чтения об этом здесь.

F3 (Fight Flash Fraud) - это еще одна опция, которая должна дополнительно обнаруживать поддельные флэш-накопители (флэш-накопители, фактическая емкость которых составляет часть объявленной емкости):

  1. Установить F3

    sudo apt install f3
    
  2. Вставьте свой диск

  3. Запишите тестовые данные в свободное место на диске (проверьте, где установлен ваш диск lsblk)

    f3write /media/$USER/D871-DD7C/
    
  4. Прочитайте данные теста

    f3read /media/$USER/D871-DD7C/
    

Ссылка:

Badblocks работает хорошо, но он не предназначен для обнаружения поддельных флешек и может не сообщать о каких-либо ошибках для них.

Вы можете тестировать и читать весь диск, показывая индикатор прогресса:

time sudo pv /dev/sdc >/dev/null

Некоторые проблемы с диском проявляются в виде сообщений об ошибках ввода-вывода. Это немного лучше, чем dd из-за индикатора прогресса и из-за того, что интерфейс командной строки немного более стандартен и менее подвержен опечаткам. Обратите внимание, что pv в основном и улучшенная версия cat, Может быть не установлен по умолчанию, но может быть установлен с sudo apt-get install pv,

Аналогичный подход заключается в чтении диска с помощью одного из нескольких доступных инструментов, которые специально осведомлены об ошибках дискового ввода-вывода и имеют функцию "изо всех сил пытаться спасти данные". Ищи ddrescue в диспетчере пакетов.

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

  1. Определите, какой раздел вы хотите проверить на плохой сектор, используя

$fdisk -l commnd

Предположим, что проверяемый раздел называется /dev/sdPTC (проверяемый раздел), и у вас есть другой раздел для хранения результатов, смонтированных в папке /scan/resultPath/

2. Затем вы можете запустить эту команду

$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt

который определит, что такое плохие блоки данного устройства, и сохранит их в файле badsectors.txt.

  1. Теперь вы можете использовать fsck команда, чтобы сказать Ubuntu не использовать плохие сектора, упомянутые в файле badsectors.txt.

$sudo fsck -l /scan_result/badsectors.txt /dev/sda

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


Если у вас есть полный раздел, который вы хотите проверить на наличие поврежденных физических секторов, и вы МОЖЕТЕ ПОЛУЧИТЬ ПОЛНУТЬ ВСЕ ДАННЫЕ в этом разделе или если вы ПУСТО

  1. $sudo apt-get install gnome-disk-utility

  2. $sudo gnome-disks

  3. Проверьте и дважды проверьте, что на этом разделе нет важных данных

  4. С помощью gnome-disks УДАЛИТЬ / УДАЛИТЬ раздел вручную, используя знак "-"

  5. С помощью gnome-disks СОЗДАЙТЕ новый раздел и выбирайте "медленный" вариант, который проверит данное пространство на наличие ошибок

Другие вопросы по тегам