オペレーティングシステムがインストールされていないコンピュータのハードドライブの特定の仕様を確認しようとしています。Knoppixブートディスク(v8.6.1)を使用して、次の行を含むbashスクリプトを実行しています。
smartctl -i /dev/nvme0
しかし、同じメッセージが繰り返し表示されます:
NVMe 識別コントローラの読み取りに失敗しました: 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
または、実際にハード ドライブに関する情報を返すその他のコマンド。これらはすべて、上記で説明した同じ「不正なアドレス」メッセージを生成します。
答え1
私も、64ビットカーネルと32ビットユーザースペースの組み合わせによって発生する同様の問題を抱えています。このバグに対するカーネルパッチ; 5.7 以降に含まれています。