「/dev/sda0」とは何ですか?これは標準的なことですか?

「/dev/sda0」とは何ですか?これは標準的なことですか?

理解しようとしながらこれは別の質問です、言及されていることを発見しました/dev/sda0

私はLinuxの経験があり、このスキームに精通しています。ここでsda、、sdb...はデバイスで、、、sda1... sda2、、、、sdb1...sdb2はパーティションです(各パーティションは独自のデバイス内にあります)。このシナリオではsda0sdb0... は表示されません。私はsda0それを見た記憶がありません。

それでもsda0表示されますU&L SEからスーパーユーザー情報そして他の場所でも。表示される場所は、ほぼ常に最初のパーティションであり、おなじみのスキームsda1に表示されると予想されるパーティションです。

一方、Debian 10 では for 、 for などのmajor,minor数字を見ることができます。だから誰かが私にそれが何であるかを尋ねたら、私はどちらが割り当てられたのかを伝えます。この推論はデバイス全体と同じです。私はこの数がLinuxに限定されており、LinuxではなくUnix(類似)オペレーティングシステムでは異なる可能性があるため、そこには推論が適用されない可能性があると思います。8,1sda18,2sda2sda08,0sdasda0sda

インターネットでは、私はsda0完全なデバイスのように見えることをほとんど見つけませんでした。しかし、これらの例は非常にあいまいで、スペルミスや誰かの間違いによるものかもしれません。

とにかく質問は次のとおりです。/dev/sda0標準的なものですか?それでは何ですか? (完全なデバイスになることはできますか?)どのような状況では、これは標準的なものですか? (例:特定のオペレーティングシステム、いくつかの古いカーネル、特定のドライバ、仮想マシンの内部、いくつかの古い(?)udev設定など)

私は答えが私に十分な洞察を提供し、次にそれを見るときに/dev/sda0「ああ、この人は...」を使用しているかもしれないと自分に言うことができることを願っています。以前のカスタム設定。


/dev/hda0注: に言及し、最初から最後まで列挙する計画も見つかりましたhda1。それが私が観察したものと密接に関連(並列)されたのか/dev/sda*、単に偶然の一致なのかはまったくわかりません。

答え1

/dev/sda0私はそれが他のUnixシステムでも標準のデバイス名だったことを知りません。私が知っているのは、への参照はカスタムsda0設定を表すのではなくバグかもしれません。

出力にデバイス名が割り当てられていても、ユーザーは数字を混乱させる可能性があります。例えば、このフォーラムの投稿引用された出力には明示的にリストされていますが、タイトルsda1sda3は記載されていますsda0。同様に、一般的に表示される(hda0,5)、(hda0、sda5)などの代わりに、grubで私のドライブが「(hda0、msdos5)」などと呼ばれるのはなぜですか?Grubが背中をhda0使用しても(私が知っている限り、標準のデバイス名ではありませんでした)を示します。hd0

Linuxカーネルリリースデバイス割り当てリスト;パーティションの処理方法について説明します。

パーティションの場合は、ディスク全体にデバイス番号を追加します。

装備 使用法
0 /dev/hd? プレート全体
1 /dev/hd?1 最初のパーティション
2 /dev/hd?2 セカンドセクター
63 /dev/hd?63 セクター63

SCSIディスク(/dev/sd?)は同じ方法で処理されます。

パーティションは、パーティション制限が15であることを除いて、IDEディスクと同じ方法で処理されます(注番号3を参照)。

ご覧のとおり、0番目のパーティションは提供されていません。 「0番目」デバイスは、数字のサフィックスを持たないディスク全体です。

(別名「SCSIディスク」は、sd?SCSIではなく多くのデバイスで使用されます。CentOSがATAバスをscsiバスに変換するのはなぜですか?歴史を少し学びましょう。 )

答え2

私はudevのないシステムでこれを見ましたが、mknodはあなたを推測しません。 (私は間違ったメジャーとマイナーを入力することがmakenodによって何らかの形で修正されたシステムでしばらく働いていました。)そして、2.0カーネルを使うのは/ dev / hda0です。フルディスクデバイス。

私が使っていたシステムは、必要に応じてソースから構築できない多様で奇妙なフロッピーベースのディストリビューションでした。私は主にmuLinuxを使用していましたが、これはそうではなく、見つけるのが難しかったです。再び。私はしばらくコミュニティに参加してきました。これらすべての特徴は、手で自分で作ることです。標準化も、アップグレードも、パッケージマネージャも、何もありません。 /dev/hda0 デバイスは、それが正しい方法だと信じていた、それを作った人から出てきたに違いありません。

udev時代にこのような奇妙な命名規則が現れた場合は驚きます。

答え3

問題がLinux固有であるかどうかはわかりませんが、そうでない場合、FreeBSDシステムはそれを/dev/da0システムの最初のディスクドライブとして扱います。少なくともSCSI(およびUSB)ドライブの場合、おそらくデバイスドライバが示すように、他のドライブタイプのデバイスをSCSIに似たデバイスとして扱います。 ATA/SATA (および既存の ATAPI) ドライブは/dev/adaN、ここでN>= 0 です。

これは/dev/da0パーティション化されたデバイスではなく、フルドライブデバイスです。セル0の下位区切りは、/dev/da0sXMBRスライス(X> = 1)に使用されるか、/dev/da0pXGPTパーティションに(X> = 1)使用されます。

DAは、デバイスのすべてのブロックに同じアドレスを付けることができるため、デバイスへの直接アクセスまたはランダムアクセスのためのニーモニックです。代わりに、FreeBSDは順次アクセスデバイス(テープドライブなど)のsa形式のデバイスドライバノードを使用します/dev/saN

答え4

短い答えはいいえ。カーネルとユーザー空間の間のインターフェイスの予約にはデバイスは含まれません。数字。任意の値にすることができ、最新のカーネルで再起動しても変わることがあります。ですから、決して彼らに頼ってはいけません。

関連情報