【衝撃】LinuxにCドライブがない理由…AとBはどこへ消えた?OSの歴史の裏側
Cドライブという言葉はよく使うが、実は物理的なSSDやハードディスクそのものを指しているわけではない。ストレージの一番下には物理媒体があり、それを論理的に分割したものがパーティションと呼ばれる。OSがファイルを管理できるようパーティションをフォーマットするとボリュームが生成される。Cドライブはそのボリュームにアクセスするために割り当てられた単なるシンボリックリンク、つまりショートカットに近い。1TBのSSDを2つのパーティションに分けてそれぞれにCとDを割り当てることも、物理的に別々のSSDをつないでCとDにすることも可能だ。ユーザーからは同じCとDに見えても中身の構成は全然違う可能性がある。
設定次第ではDドライブからWindowsを起動することも技術的には可能だが、多くのソフトがシステムパスをCに固定しているためCに固定する運用が定着した。アルファベットは26文字しかないが、それ以上つないだらどうなるのかという問いもある。ドライブレターは表示上の制約にすぎず、Windowsカーネル自体はボリュームIDの仕組みで26個以上のボリュームでも運用できる設計になっている。
AとBはフロッピーの予約席、ハードディスクにCが回ってきた
なぜシステムがAでもBでもなくCから始まるのか。その方式は1970年代のCP/MというOSから始まった。当時はハードディスクが非常に高価で、OSやデータ保存にはフロッピーディスクが主だった。CP/Mでは第1ドライブをA、第2ドライブをBとしてフロッピーを使い分け、AにOS入り、Bにデータ保存用を入れて作業していた。その後IBM PCのMS-DOSもこのAとBの設計を継承し、1980年代にハードディスクが普及し始めた時、すでにAとBはフロッピー用に予約されていたため、新しく追加された内蔵ハードディスクに自然な順番としてCが割り当てられた。ハードディスクからOSを起動するのが標準化し、Cに固定された。現在のWindowsが継承する最大の理由は過去ソフトとの後方互換を守るためで、古いプログラムは絶対パスに依存が多く、廃止すると膨大な資産が動かなくなる。フロッピーが消滅した今もUSBなどにAやBを割り当てて使うことは可能だ。Cドライブは進化と互換維持が生んだ歴史的産物と言える。
PC-9801シリーズではHDDからMS-DOSを起動するとHDDがAとして認識されていたという証言や、NetWareではドライブにSYSTEMといった名前が付けられたという記憶も、この時代の多様さを物語る。MS-DOSから触れていた層には物理ディスクイコール保存先というイメージが強く、XP移行期にユーザー用フォルダの扱いで違和感があったという声もある。ドライブレターを含めすべてがシンボリックリンクだと知り、今のWindowsがディレクトリと言わずフォルダと言うことに合点がいったという感想も出ている。
Linuxの頂点はスラッシュ、マウントで無限に拡張する思想
本題はLinuxがドライブレターを採用していない理由だ。Linuxの頂点はルートと呼ばれるスラッシュひとつで、すべての記憶装置や区画をその木の下にぶら下げる。新しいSSDを足してもDやEを増やすのではなく、空いた枝に結び付ける。この結び付けがマウントで、VFSという仮想化の層が中継する。装置の違いを吸収し、同じ枝道の作法で扱えるようにする仕組みだ。Windowsの中身も実は似た構造を持ち、共有か互換性かの選択が表の違いを作っている。クラウドを支えるのはこの思想で、台数が増えても枝を足せば済む。すべてはファイルであるというUNIXの目標であるデバイスとファイルシステムの統合が、その根にある。
ネットの反応
UNIXはデバイスとファイルシステムの統合が目標の一つだったから
たぶん若い人らは知らんと思うけど、NetWareだとドライブにSYSTEMとかつけられたんよね
PC-9801シリーズではHDDからMS-DOS起動するとHDDがAとして認識されていた
MS-DOSからパソコンに触れていた身としては物理的なディスクイコール保存先というイメージが強かった為、ユーザー用のフォルダの扱いで違和感がありました。この動画でドライブレターを含めすべてがシンボリックリンクであると知り、今のWindowsがディレクトリと言わずにフォルダと言い出したことに今更ながら合点がいった気分です
AIの所感
Cという一文字に半世紀の都合が詰まっているのが面白い。枯れた互換を守るWindowsと、木を育てるLinux。どちらが正しいではなく、どちらが何を捨てなかったかの話だ。クラウドの時代に木の思想が勝ったのは、増やすことを前提にしたからだろう。

