hdparm не читает SSD? HDIO_DRIVE_CMD(определить) не удалось: неподходящий ioctl для устройства

Я пытаюсь использовать hdparm для безопасного удаления моего 512 ГБ SSD SK Hynix. На SSD установлена ​​Windows 10.

Я загружаю Ubuntu с флешки.

sudo fdisk -l

Я получаю много разных дисков, оказывается, /dev/sda - это моя 8 Гб флешка, а не SSD.

SSD указан как:

Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt

Теперь, когда я пытаюсь запустить: терминал hdparm -I /dev/nvme0n1 выдает мне ошибку: "/dev/nvme0n1: сбой HDIO_DRIVE_CMD(определить): неподходящий ioctl для устройства"

Как использовать опцию безопасного стирания hdparm на моем SSD? Из предложения на другой странице в Интернете был предложен пакет nvme-cli, но я не понимаю, как это помогает.

использование команды shred для SSD не рекомендуется, поскольку SSD имеет ограниченные циклы чтения / записи и работает совсем не так, как HDD.

Обновление: мой SSD - это устройство NVMe, а не ATA, поэтому команда hdparm не подходит, вместо этого используйте nvme -format.

1 ответ

Решение

Чтобы стереть устройство NVMe с помощью nvme-cli, запустите nvme format -s1 <device>,

Был предложен пакет nvme-cli, но я не понимаю, как это помогает.

hdparm работает исключительно с устройствами ATA, а ваш SSD - это устройство NVMe. Это не означает просто новый тип подключения (например, SATA) или те же понятия "диск" в разных терминах (например, SCSI/SAS) - это совершенно другой тип устройства хранения данных.

Ни одна из команд ATA не применима к NVMe (общая идея "безопасного стирания" присутствует, но реализована по-другому), и поэтому вам был предложен nvme-cli, потому что hdparm - просто неподходящий инструмент для работы.

(В какой-то момент Linux поддерживал базовый перевод команд SCSI-NVMe, но в итоге удалил его, поскольку системы слишком сильно отличаются (в отличие от успешно используемого перевода SCSI-ATA). Не то чтобы это помогло вам в любом случае, так как функции, доступные hdparm, очень специфичны для ATA и в любом случае не учитываются при переводе. hdparm -i не работает на дисках SCSI.)

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