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.)