NVMe SSDから名前空間(NS)を削除しましたが、Ubuntuはデバイスを認識しません。

NVMe SSDから名前空間(NS)を削除しましたが、Ubuntuはデバイスを認識しません。

NVMe SSD(Samsung)には2つの名前空間(NS)があり、両方を削除したが1つだけを作成しましたが、削除後にUbuntuはデバイスを認識しません。今ドライブをどのように回復しますか?

削除コマンド:sudo nvme delete-ns /dev/nvme0n1 -n 1

  • Ubuntu 18.04.1 LTS
  • カーネル 4.15

答え1

アイテムが消えるものだけが表示されますnvme0。だから一度試して、仕事が再び正常に機能することを確認してください。/devnXsudo nvme create-ns -s 100000 -b 4096 /dev/nvme0sudo nvme attach -n 1 /dev/nvme0

答え2

lsblkデフォルトでは、すべての名前空間を削除した後、  fdisk -l または同じコマンドを使用すると、特定のNVMeドライブの名前空間がドライブのリストに表示されませんnvme list。その理由は、割り当てられた名前空間がコントローラに存在しないためです。

ただし、コマンドを実行するとドライブがls /dev/nvme*表示されます。/dev/nvme0このコマンドを使用して、フル容量の名前空間を作成できます  create-ns。コマンドは次のとおりです。

ドライブサイズが120GBで、ドライブのブロックサイズを4KBに設定するには、次のように120GBドライブの4KBセクタ数を計算する必要があります。

X=(120×1024×1024×1024)/(4×1024)=31457280

したがって、実行するコマンドは次のようになります。

nvme create-ns /dev/nvme0 -s 31457280 -c 31457280 -b 4096

名前空間を作成したら、次のように接続する必要があります。

nvme attach-ns /dev/nvme0 -n 1 -c 0

関連情報