/dev/sd
元々は sd-bus
を使用するデバイスに使用されていました SCSI デバイス用のドライバー (および sd
文字通り SCSI ディスクを表します)。現在では、SCSI ディスク、SATA ディスク、および USB ディスクに使用されています。その理由は、現在、ほとんどすべてのデバイスが非 SCSI バス上で SCSI コマンド プロトコルを使用しているためです (カーネルは libata を使用してすべての ATA デバイスを同等に扱い、それらが SCSI デバイスであると見なします - @grawity の功績による)、したがって、これらのデバイスはすべて /dev/sd
として表示されます .
しかし、すべてのストレージ デバイスが /dev/sd
であるわけではありません . /dev/hd
そして /dev/xvd
前者は PATA/IDE ディスク用、後者はクラウド ストレージ デバイス (仮想ディスクなど) 用であり、すべて異なるドライバーと名前が付けられています。仮想ストレージはクラウド/ハイパーバイザー上にのみあり (そしておそらく何も使用していない)、PATA/IDE ディスクがますますまれになり、ほとんどの最新のマシンではカーネルが実際に ide-scsi
SCSI プロトコルに変換するドライバー (@Wumpus Q. Wumbley の功績)。
他の例には /dev/mmcblkXpY
が含まれます これは SD/eMMC/bare NAND/NOR デバイス用であり、/dev/nvme
と同じ命名スキームを持っています そして /dev/vd
これは、クラウド ストレージの仮想ディスクに再び使用されます (追加の例については、@Jan Dorniak の功績によるものです)。
あなたの場合 、それは /dev/nvme
と呼ばれます ディスクは NVME ポート経由で接続され、nvme
を使用するため Linux のドライバー。 /dev/<something>
を考えてみてください。 <something>
を使用するデバイスとして 運転者。すべてのデバイス ドライバーとネーミングには独自の基準があり、すべてが 1 つの基準であるわけではないため、NVME デバイスのネーミングがそのようになっていてもまったく問題ありません。 nvme
の理由 scsi
に変換されません 同様に、2 つのプロトコルがあまりにも異なっており、そのような実装は複雑すぎるということです (詳細については、@grawity と @Vality によるコメントを参照してください)。
他の回答に加えて、NVMe には /dev/sd
$ ls -1 /dev/nvme*
/dev/nvme0
/dev/nvme0n1
/dev/nvme0n1p1
/dev/nvme0n1p2