Sfdisk NVMEの問題、対応するデバイスまたはアドレスがありません。

Sfdisk NVMEの問題、対応するデバイスまたはアドレスがありません。

NVMEディスクのサポートを追加したいsfdiskを含むカスタムLFSインストーラがあります。通常のSATAディスクでsfdiskを使用してパーティションを作成すると、すべてが期待どおりに機能しますが、NVMEディスクで同じ操作を実行するとパーティションが作成されますが、パーティションサイズを取得しようとすると(コマンドsfdisk -s /dev/nvme0n1p1)を出力しますNo such device or address while trying to determine filesystem size

lsblk出力:

NAME        MAJ:MIN SIZE TYPE
nvme0n1     259:0   1.8T disk
|nvme0n1p1  259:1   200G part
`nvme0n1p2  259:10  1.6T part

SFディスクの使い方:

,200G,L
,,L

/proc/パーティション

major minor #blocks    name
259     0   1953514584 nvme0n1
259     2    209715200 nvme0n1p1
259     3   1743798343 nvme0n1p2

nvme0n1また、/ devの下に、nvme0n1p1およびとしてリストされていますnvme0n1p2

今すぐ使用すると、sfdisk -s /dev/nvme0n1p1出力が得られ、209715200次のようにsfdisk -s /dev/nvme0n1p2なりますNo such device or address while trying to determine filesystem size

これで奇妙なことは、パーティションを再作成してsfdisk -s /dev/nvme0n1p1これを行うと、次のような結果になることです。No such device or address while trying to determine filesystem sizeこれにより、sfdisk -s /dev/nvme0n1p2209715200が表示されます。

繰り返し実行すると、変更が継続され、一方のパーティションは使用可能になり、別のパーティションは使用できず、引き続き交換されます。

私が試したこと:

  • 他のSSD(同じタイプ)も結果は同じです。
  • NVMEディスク用のpcieアダプターを使用し、他のアダプターを使用しても同じ結果が表示されます。
  • 実行中のオープンなsuzeインストールでアダプターを使用すると、問題なくこれらのコマンドを実行できます。
  • 通常のSATAドライバであれば問題ありません。

[編集] 再起動後にドライブを再分割することなく、これらのコマンドを実行できることがわかりました。これはNVMEディスクには重要ですが、通常のSATAには重要ではないようですか?

現時点では、何を試すべきか、何が原因であるかどうかはわかりません。助けてくれてありがとう。

答え1

解決策を見つけたので、ここに答えを追加して他の人が同様の問題を経験した場合に役立ちます。

私はblockdev --rereadpt /dev/nvme0n1コマンドを使用します。これにより、パーティションテーブルが再度読み込まれ、再sfdisk -s /dev/nvme0n1p2起動せずに問題なくコマンドを実行できるようになります。

通常のSATAドライブでは、これがなぜ必要ないのかはまだわかりません。なぜそうでないのかを知っている人がいる場合は、いつでもコメントを残してください。

関連情報