ファイル システムを識別するために、なぜ依然としてドライブ文字を使用する必要があるのでしょうか?

ファイル システムを識別するために、なぜ依然としてドライブ文字を使用する必要があるのでしょうか?

友人が、外付けドライブから Windows 7 をインストールしたところ、内部ブート ドライブが H: に割り当てられるという問題に遭遇しました。システム ドライブのドライブ文字を取得するためのプログラミング インターフェイスがあるため、理論的には問題にはならないはずです。しかし実際には、システム ディレクトリの場所として C: のみを想定し、システム ディレクトリを H: に置くと実行を拒否するプログラムがかなりあります。これは Microsoft のせいではありませんが、それでも面倒です。一般的な見解としては、内部ブート ドライブを C: に設定して再インストールすることが、これらの問題を解決する唯一の方法のようです。

UNIX のようなシステムでは、すべてのファイル システムを単一の統合ディレクトリ ツリーに表示し、このような問題を回避しているようです。ドライブ文字を参照せずに Windows システムを構成することは可能ですか。それとも、下位互換性の重要性から、Windows は今後も終末の日までドライブ文字を使用して動作することになるのでしょうか。

答え1

Microsoft は、常に下位互換性を非常に重視してきました。 、C:\または の一般的なパターンを前提とするDrive:\path\すべてのアプリケーションが UNIX のような構造に移行できないのは、まさにそのためです。すべての Windows アプリケーションは、パスがドライブ文字で始まる (相対パスでない場合) という前提に基づいています。これがすぐに変更される可能性は低いです。

一部のアプリケーションは、互換モードで実行すると、非標準のインストール ドライブでも正常に動作する場合があります。

何かかもしれない作業としては(まだ試していませんが、後で詳細を追加します)、小さなパーティションを作成し、 という名前を付けC:、 からさまざまなシステム ドライブをドライブH:内のフォルダーにマウントしますC:。 そうすれば、プログラムが を要求したときに、ドライブにマウントされたC:\Program Files内のフォルダーにアクセスすることになります。H:\Program FilesC:

答え2

既存のドライブ文字またはフォルダにドライブ文字を追加するsubst ms-dosコマンドを使用する

答え3

ドライブ文字は終末の日まで変更できないかもしれませんが、「スタート」→「プログラム」→「管理ツール」→「コンピュータの管理」→「記憶域」→「ディスクの管理」から変更できます。ボリュームを右クリックし、「ドライブ文字の変更」を選択します。

関連情報