Я подозреваю, что на диске может быть поврежденный сектор. Я использовал файловую систему ext3.
Какой инструмент является наилучшим эквивалентом средства проверки ошибок Windows?
Я подозреваю, что на диске может быть поврежденный сектор. Я использовал файловую систему ext3.
Какой инструмент является наилучшим эквивалентом средства проверки ошибок Windows?
Чтобы проверить наличие поврежденных секторов, проверьте интеллектуальные данные, которые, вероятно, лучше всего доступны, запустив Диски полезность (Палимпсест). Даже если вы не видите там никаких плохих блоков, запустите самопроверку, чтобы убедиться.
Программа входит в комплект поставки gnome-disk-utility
пакет. Бежать gksudo gnome-disks
Или в версии Ubuntu 16.04 (3.18):
Вы также можете использовать badblocks
sudo badblocks -sv /dev/sda
чтобы просто проверить или проверить и исправить, сначала запишите результат во временный файл:
sudo badblocks -sv /dev/sda > bad-blocks-resultsudo fsck -t ext4 -l bad-blocks-result /dev/sda1
проверит весь диск и распечатает все поврежденные блоки, встречающиеся на /dev/sda.
От badblocks
инструкция:
Важное примечание: Если выходные данные badblocks будут передаваться в программы e2fsck или mke2fs, важно правильно указать размер блока, поскольку генерируемые номера блоков сильно зависят от размера блока, используемого файловой системой. По этой причине пользователям настоятельно рекомендуется не запускать badblocks напрямую, а использовать опцию -c в программах e2fsck и mke2fs.
fsck
fsck
само по себе это не поможет вам найти поврежденные сектора, что еще хуже, если поврежденных секторов будет много, это может еще больше повредить ваши данные. Используйте его только тогда, когда диск исправен.
На протяжении всего этого ответа я буду предполагать, что накопитель отображается как блочное устройство на пути /dev/sdc
. Чтобы найти путь к накопителю в нашей текущей настройке, используйте:
palimpsest
), если доступен графический интерфейс, илиlsblk
и ls -l /dev/disk/by-id
и попробуйте найти подходящее устройство по размеру, разделению, производителю и названию модели.Иногда носитель информации просто отказывается работать вообще. Он по-прежнему отображается как блочное устройство в ядре и в диспетчере дисков, но его первый сектор, содержащий таблицу разделов, недоступен для чтения. Это можно легко проверить с помощью:
sudo dd if=/dev/sdc of=/dev/null count=1
Если эта команда приводит к сообщению об “Ошибке ввода/вывода”, наш диск поврежден или иным образом не взаимодействует с ядром Linux, как ожидалось. В первом случае, если повезет, специалист по восстановлению данных с соответствующим образом оборудованной лабораторией сможет восстановить его содержимое. В последнем случае стоит попробовать другую операционную систему. (Я сталкивался с USB-накопителями, которые работают в Windows без специальных драйверов, но не в Linux или OS X.)
Устройства, которые его поддерживают, могут быть запрошены об их работоспособности с помощью S.M.A.R.T. или проинструктирован о проведении самопроверки целостности различной тщательности. Как правило, это лучший вариант, но обычно он доступен только на (не древних) жестких дисках и твердотельных накопителях. Большинство съемных флэш-носителей не поддерживают его.
Дополнительные ресурсы и инструкции:
Чтобы проверить целостность чтения всего устройства без записи на него, мы можем использовать badblocks(8)
подобный этому:
sudo badblocks -b 4096 -c 4096 -s /dev/sdc
Эта операция может занять много времени, особенно если накопитель действительно поврежден. Если количество ошибок превысит ноль, мы будем знать, что есть неисправный блок. Мы можем безопасно прервать операцию в любой момент (даже принудительно, например, во время сбоя питания), если нас не интересует точное количество (и, возможно, местоположение) поврежденных блоков. Можно автоматически прервать работу при ошибке с помощью опции -e 1
.
Примечание для расширенного использования: если мы хотим повторно использовать выходные данные для e2fsck
, нам нужно установить размер блока (-b
) к содержимому файловой системы. Мы также можем настроить объем данных (-c
, в блоках) протестировано сразу для повышения пропускной способности; 16 Мбайт должно быть достаточно для большинства устройств.
Иногда – особенно с флэш–носителями - ошибка возникает только при попытке записи. (Это не будет надежно обнаруживать (флэш-носители), которые рекламируют больший размер, чем они есть на самом деле; использовать Борьба с мошенничеством со вспышками вместо этого.)
никогда используйте это на диске с смонтированные файловые системы! 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 /forcefscksudo reboot
В качестве альтернативы вы можете загрузиться с Live CD и запустить проверку оттуда.
Вы можете проверить наличие плохих блокировок, выполнив команду
sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result
для неразрушающего теста чтения-записи. Это сгенерирует файл с именем bad-blocks-result
с поврежденными секторами.- н Используйте неразрушающий режим чтения-записи. По умолчанию выполняется только неразрушающий тест, доступный только для чтения.
- с Покажите ход сканирования, записав приблизительный процент завершения текущего прохождения плохих блокировок по диску.
- в Подробный режим.
sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition]
чтобы указать файловой системе, где находятся поврежденные секторы, и по возможности удалить из них данные.Вы можете найти больше информации об этом здесь.
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 являются графическими интерфейсами, если вы предпочитаете.
F3 (Борьба с мошенничеством со вспышками) это еще один вариант, который должен дополнительно обнаруживать поддельные флэш-накопители (флэш-накопители, фактическая емкость которых составляет часть заявленной емкости).:
Установить F3
sudo apt install f3
Вставьте свой дисковод
Запишите тестовые данные в свободное место на диске (проверьте, где установлен ваш диск с помощью lsblk
)
f3write /media/$USER/D871-DD7C/
Считайте тестовые данные
f3read /media/$USER/D871-DD7C/
Ссылка:
Badblocks работает хорошо, но он не предназначен для обнаружения поддельных флэш-накопителей и может не сообщать о каких-либо ошибках для них.
Вы можете протестировать чтение всего диска, показывая при этом индикатор выполнения:
time sudo pv /dev/sdc >/dev/null
Некоторые проблемы с диском могут проявляться в виде сообщений об ошибках ввода-вывода. Это немного приятнее, чем dd
из-за индикатора прогресса и из-за того, что интерфейс командной строки немного более стандартный и немного менее склонный к опечаткам. Обратите внимание, что pv
это в основном и расширенная версия cat
. Он может не быть установлен по умолчанию, но может быть установлен с sudo apt-get install pv
.
Аналогичный подход заключается в чтении диска с помощью одного из нескольких доступных инструментов, которые специально осведомлены об ошибках дискового ввода-вывода и имеют функцию "изо всех сил пытаться спасти данные". Искать ddrescue
в диспетчере пакетов.
Если у вас есть раздел, который вы НЕ УДАЕТСЯ ПОТЕРЯТЬ ДАННЫЕ, выполните следующие действия
$fdisk -l commnd
Давайте предположим, что проверяемый раздел называется /dev/sdPTC (раздел для проверки) и что у вас есть другой раздел для хранения результатов, смонтированных в папке /scan/resultPath/
2.Затем вы можете выполнить эту команду
$sudo badblocks -v /dev/sdPTC > /scan/resultPath/badsectors.txt
который определит, каковы плохие блоки данного устройства, и сохранит их в файле с именем badsectors.txt
fsck
команда, чтобы сообщить Ubuntu не использовать поврежденные сектора, упомянутые в badsectors.txt файл. $sudo fsck -l /scan_result/badsectors.txt /dev/sda
Таким образом, срок службы жесткого диска немного увеличивается, пока вы не получите новый для замены.
Если у вас есть полный раздел, который вы хотите проверить на наличие поврежденных физических секторов, и вы МОЖЕТЕ ПОЗВОЛИТЬ СЕБЕ ПОТЕРЯТЬ ВСЕ ДАННЫЕ в этом разделе или он ПУСТ, выполните следующие действия
$sudo apt-get install gnome-disk-utility
$sudo gnome-disks
Проверьте и дважды проверьте, что в этом разделе нет важных данных
С помощью gnome-disks
УДАЛИТЕ/УДАЛИТЕ раздел вручную, используя знак "-"
С помощью gnome-disks
СОЗДАЙТЕ новый раздел и выберите опцию "медленно", которая будет проверять заданное пространство на наличие ошибок