Вопрос или проблема
Мой SSD Samsung 970 EVO M.2 500GB (MZ-V7E500BW) внезапно вышел из строя вчера во время отключения электроэнергии.
Теперь у меня есть предупреждение во время POST (“WARNING! Пожалуйста, сделайте резервное копирование ваших данных и замените ваш жесткий диск.
WARNING! Ваш HDD/SSD может выйти из строя в любой момент.”). В последний раз я перезагрузил его около 5 дней назад, и тогда предупреждения не было.
Загрузившись с живой USB-флешки, я смог проверить журнал SMART:
Журнал SMART для устройства NVME:nvme0 namespace-id:ffffffff
критическое_предупреждение : 0x8
температура : 49 C
доступный_резерв : 29%
порог_доступного_резерва : 10%
процент_использования : 0%
резюме критического предупреждения группы выносливости: 0
единицы_данных_прочитаны : 4,948,748
единицы_данных_записаны : 20,573,476
команды_чтения_хоста : 100,316,217
команды_записи_хоста : 357,643,056
время_занятости_контроллера : 1,790
циклы_питания : 24
часы_включения : 4,570
небезопасные_выключения : 11
ошибки_носителя : 41
число_записей_журнала_ошибок : 70
Время_предупреждения_температуры : 0
Время_критической_совокупной_температуры : 0
Датчик_температуры 1 : 49 C
Датчик_температуры 2 : 74 C
Количество_преобразований_теплового_управления_T1 : 0
Количество_преобразований_теплового_управления_T2 : 0
Общее_время_теплового_управления_T1 : 0
Общее_время_теплового_управления_T2 : 0
Сообщения от ядра, упоминающие nvme
во время загрузки живой USB ОС:
26 окт 19:18:58 ubuntu kernel: [ 1.233479] nvme nvme0: pci функция 0000:06:00.0
26 окт 19:18:58 ubuntu kernel: [ 1.243303] nvme nvme0: отсутствует или недействительное поле SUBNQN.
26 окт 19:18:58 ubuntu kernel: [ 1.243323] nvme nvme0: время ожидания отключения установлено на 8 секунд
26 окт 19:18:58 ubuntu kernel: [ 1.252449] nvme nvme0: 4/0/0 очереди по умолчанию/чтения/опроса
26 окт 19:18:58 ubuntu kernel: [ 1.254855] nvme0n1: p1 p2 p3
26 окт 19:18:58 ubuntu kernel: [ 3.629244] EXT4-fs (nvme0n1p2): ИНФО: восстановление требуется на файловой системе только для чтения
26 окт 19:18:58 ubuntu kernel: [ 3.629246] EXT4-fs (nvme0n1p2): доступ на запись будет разрешен во время восстановления
26 окт 19:18:58 ubuntu kernel: [ 3.674861] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 124928 op 0x1:(WRITE) флаги 0x800 phys_seg 4 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.674893] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 0, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.674913] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 1, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.674931] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 2, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.674949] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 3, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.674967] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 133200 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.674995] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 1034, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675013] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 133384 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675040] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 1057, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675059] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 147176 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675086] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 2781, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675105] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4319360 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675132] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 524304, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675151] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4319488 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675178] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 524320, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675197] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4319544 op 0x1:(WRITE) флаги 0x800 phys_seg 2 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675224] Ошибка ввода-вывода на устройстве nvme0n1p2, логический блок 524327, потеряна асинхронная запись страницы
26 окт 19:18:58 ubuntu kernel: [ 3.675243] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4319816 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675270] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4320256 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.675297] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 4320936 op 0x1:(WRITE) флаги 0x800 phys_seg 1 prio class 0
26 окт 19:18:58 ubuntu kernel: [ 3.729319] EXT4-fs (nvme0n1p2): ошибка загрузки журнала
26 окт 19:18:58 ubuntu kernel: [ 3.743157] EXT4-fs (nvme0n1p3): ИНФО: восстановление требуется на файловой системе только для чтения
26 окт 19:18:58 ubuntu kernel: [ 3.743158] EXT4-fs (nvme0n1p3): доступ на запись будет разрешен во время восстановления
26 окт 19:18:58 ubuntu kernel: [ 3.806113] EXT4-fs (nvme0n1p3): ошибка загрузки журнала
26 окт 19:19:04 ubuntu kernel: [ 30.724414] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:19:04 ubuntu kernel: [ 30.752254] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:19:05 ubuntu kernel: [ 31.346630] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:19:05 ubuntu kernel: [ 31.365831] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:19:29 ubuntu kernel: [ 55.502099] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:19:29 ubuntu kernel: [ 55.516704] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:24:44 ubuntu kernel: [ 370.116101] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
26 окт 19:24:44 ubuntu kernel: [ 370.130330] blk_update_request: критическая ошибка среды, dev nvme0n1, сектор 0 op 0x1:(WRITE) флаги 0x800 phys_seg 0 prio class 0
Благодаря ddrescue
мне удалось клонировать все его разделы на другую машину по сети. Были ошибки ввода-вывода во время извлечения обоих ext4-разделов, но после достаточного количества попыток все-таки удалось получить все данные.
После этого мне удалось запустить e2fsck
на образах, который, похоже, удался, и теперь я могу монтировать их как устройства циклической записи только для чтения. Данные, похоже, целы.
Наверное, первый вопрос: могу ли я что-либо сделать, чтобы исправить проблему и продолжать использовать этот диск? Я предполагаю, что нет, но я определенно открыт для предложений.
Если я попытаюсь запустить fsck
на одном из разделов с живой USB, это то, что происходит. Я пробовал все комбинации ответов на вопросы, как вы увидите ниже. Я не понимаю достаточно страниц справки и не знаю достаточно о файловых системах или дисках, чтобы знать, какие параметры, если таковые имеются, могут мне помочь.
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck из util-linux 2.36.1
e2fsck 1.46.3 (27-июл-2021)
/dev/nvme0n1p3: восстановление журнала
Флаг needs_recovery суперблока отключен, но в журнале есть данные.
Запустить журнал все равно<y>? да
fsck.ext4: Ошибка ввода/вывода при восстановлении журнала /dev/nvme0n1p3
fsck.ext4: невозможно установить флаги суперблока на /dev/nvme0n1p3
/dev/nvme0n1p3: ********** ПРЕДУПРЕЖДЕНИЕ: В файловой системе все еще имеются ошибки **********
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck из util-linux 2.36.1
e2fsck 1.46.3 (27-июл-2021)
/dev/nvme0n1p3: восстановление журнала
Флаг needs_recovery суперблока отключен, но в журнале есть данные.
Запустить журнал все равно<y>? нет
Очистить журнал<y>? нет
fsck.ext4: Ошибка ввода/вывода при восстановлении журнала /dev/nvme0n1p3
fsck.ext4: невозможно установить флаги суперблока на /dev/nvme0n1p3
/dev/nvme0n1p3: ********** ПРЕДУПРЕЖДЕНИЕ: В файловой системе все еще имеются ошибки **********
ubuntu@ubuntu:~$ sudo fsck /dev/nvme0n1p3
fsck из util-linux 2.36.1
e2fsck 1.46.3 (27-июл-2021)
/dev/nvme0n1p3: восстановление журнала
Флаг needs_recovery суперблока отключен, но в журнале есть данные.
Запустить журнал все равно<y>? нет
Очистить журнал<y>? да
fsck.ext4: Ошибка ввода/вывода при восстановлении журнала /dev/nvme0n1p3
fsck.ext4: невозможно установить флаги суперблока на /dev/nvme0n1p3
/dev/nvme0n1p3: ********** ПРЕДУПРЕЖДЕНИЕ: В файловой системе все еще имеются ошибки **********
ubuntu@ubuntu:~$
Я верю, что диск все еще на гарантии, и я пытаюсь связаться с поддержкой Samsung, чтобы попытаться получить замену или возврат средств.
Если они попросят меня вернуть его, это создаст проблему, так как на этом диске есть конфиденциальные данные.
Диск сопротивляется всем попыткам записи на него. Я не могу смонтировать его и записать на него нормально. Ядро выдает ошибки ввода-вывода, если я пытаюсь записать на него на уровне блоков. Даже средство безопасного удаления Samsung (их программное обеспечение только для Windows предлагает создать загрузочную USB-флешку с таким инструментом) не работает.
Есть ли способ принудительно выполнить безопасное удаление этого устройства?
Вы никогда не можете быть слишком осторожными: мне удалось получить много файлов из файловой системы, атакованной вирусом Чернобыля!
Чтобы стереть данные, вы можете выполнить dd bs=1M if=/dev/zero of=/dev/…
, но если он остановится где-то, вам, возможно, придется перезапустить его с параметром skip
и пропустить некоторые блоки.
С NVRAM это не может стереть некоторые блоки, но перераспределяет некоторые… но нам потребуется доступ на действительно низком уровне, чтобы получить не стертые блоки. Подходит для личных конфиденциальных данных, но не для военной секретной информации!
Единственное, что может сработать, это команда “безопасное удаление”, но обычно SSD, которые стали только для чтения в результате дефектов носителя, не могут принимать записи, поскольку внутреннее программное обеспечение не может записать записи никуда, не рискуя потерять оставшиеся данные (что вы и хотите, но обычно пользователи хотят спасти все, что могут).
Ответ или решение
Короткий контекст: у вас возникли серьезные проблемы с вашим NVMe M.2 SSD, а именно Samsung 970 EVO на 500 ГБ. Это произошло после внезапного отключения питания, что привело к сбоям и ошибкам файловой системы. Вы хотите узнать, возможно ли стереть данные на данном устройстве, несмотря на его неисправность и отсутствие возможности произвести запись.
Введение
Проблемы с накопителями SSD, особенно с NVMe, могут быть крайне сложны для диагностики и исправления. Ваша ситуация осложняется тем фактом, что устройство уже демонстрирует признаки серьезной неисправности, и ряд операций для его очистки может быть невозможен. Однако существуют способы, которые вы можете рассмотреть.
Технические детали
Ваша SMART информация показывает критические ошибки, такие как ошибки ввода-вывода и потерянные записи асинхронных страниц. Это указывает на высокую вероятность выхода из строя контроллера хранения или повреждения ячеек памяти. Ваша попытка использовать fsck
, которая не увенчалась успехом, подчеркивает серьезность состояния файловой системы.
Варианты стирки данных
-
Использование команды secure erase:
SSD-накопители, как правило, имеют встроенные команды для безопасного удаления данных (например, через интерфейс ATA). Но если устройство перешло в режим «только для чтения», это может сделать эту команду недоступной. Если вы сможете использовать инструмент Samsung для безопасного удаления, это будет наилучший вариант, хотя у вас были проблемы с его запуском. -
dd на низком уровне:
Как вы уже упомянули, можно попытаться использовать командуdd
, чтобы перезаписать устройство; тем не менее, вы можете столкнуться с ошибками, как это уже произошло. Применивdd
, убедитесь, что вы используете опцииbs
(размер блока) иskip
, чтобы пропустить сектора, где возникают ошибки.dd if=/dev/zero of=/dev/nvme0n1 bs=1M conv=noerror,sync
Опция
conv=noerror,sync
поможет продолжить запись даже в случае возникновения ошибок, однако, эфективность этого метода будет зависеть от состояния SSD. -
Профессиональные инструменты и услуги:
Если данные на диске являются конфиденциальными и вы не можете его очистить самостоятельно, лучше всего обратиться к специалистам по восстановлению данных, которые смогут помочь в извлечении данных и, возможно, выполнении очистки. -
Связь с производителем:
Учитывая, что устройство все еще на гарантии, важно взаимодействовать с поддержкой Samsung. Возможно, они смогут предложить решения или позволят вернуть диск. Перед отправкой устройства убедитесь, что все важные данные были сохранены.
Заключение
Неизменность состояния вашего SSD и наличие ошибок запрашивают необходимость принятия мер относительно дальнейшего использования устройства. Безопасное удаление данных возможно, однако, в вашем случае оно требует тщательной обработки и, возможно, помощи специалистов. Если данные важны, безусловно, стоит рассмотреть возможность обращения к профессионалам или производителю для дальнейших рекомендаций.