Получение сообщения - Сбой при считывании NVMe Identify Controller: NVME_IOCTL_ADMIN_CMD: Неверный адрес - при использовании команды smartctl

Получение сообщения - Сбой при считывании NVMe Identify Controller: NVME_IOCTL_ADMIN_CMD: Неверный адрес - при использовании команды smartctl

Я пытаюсь проверить некоторые характеристики жесткого диска на компьютере без установленной операционной системы. Я использую загрузочный диск Knoppix (v8.6.1) для запуска скрипта bash со строкой

smartctl -i /dev/nvme0

Однако я продолжаю получать одно и то же сообщение:

Ошибка чтения NVMe Identify Controller: NVME_IOCTL_ADMIN_CMD: Неверный адрес

Я могу без проблем запустить эту команду на другом компьютере (той же модели) с другим установленным дистрибутивом Linux, но по какой-то причине команда не выполняется при запуске на диске Knoppix.

Примечание: я могу выполнять такие команды, как

smartctl -d nvme --scan

который выводит

/dev/nvme0 -d nvme # /dev/nvme0, NVMe-устройство

но я не могу запустить команды smartctl, такие как

smartctl -i /dev/nvme0
smartctl -x /dev/nvme0
smartctl -a /dev/nvme0
smartctl -H /dev/nvme0

или любая другая команда, которая должна фактически возвращать информацию о жестком диске. Все они выдают одно и то же сообщение "bad address", указанное выше.

решение1

Knoppix исторически поставлял 32-битное пользовательское пространство и опциональное 64-битное ядро. Журнал изменений для Linux Kernel 5.6.8 включает в себя коммит, который специально занимался использованием ioctl NVME_IOCTL_ADMIN_CMD из 32-битного smartctl на 64-битном ядре (ссылка:https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.6.8коммит 51750ad35f266751e14d6c7e8839b85c8069e27f). Более того, Knoppix 8.6.1 поставляется с ядром Linux 5.3.5 (ссылка:https://www.knopper.net/knoppix/knoppix861-en.html. Это произошло задолго до выхода патча, поэтому это могло вызвать такую ​​ошибку.

Итак, у вас есть два решения:

  1. обновите ядро ​​до версии 5.6.8 или выше, чтобы интерфейс совместимости обнулил старшие биты.
  2. Пересоберите smartctl и его зависимости для 64-битной версии.

Связанный контент