Windows シェルでリアル モードと保護モードを切り替えるにはどうすればよいでしょうか?

Windows シェルでリアル モードと保護モードを切り替えるにはどうすればよいでしょうか?

古い mem.exe コマンドを XP コマンド プロンプトに実行すると、興味深いことが起こることに気付きました。

リアルモードに切り替える

ディレクトリ名 (および表示されるメモリ構造) の変更からわかるように、シェルは保護モードからリアル モードに切り替わります。これを実行しているのは Windows exe ローダーですか、それとも cmd.exe ですか? 保護モードに戻す方法はありますか?

答え1

mem.exe互換性のために 16 ビット Windows から引き継がれた 16 ビット アプリケーションです。したがって、32 ビット Windows 内の 16 ビット VM 1で実行され、メモリをそのように表示します (16 ビット VM が含まれていないため、64 ビット Windows には存在しません)。

短いファイル名を表示するためにプロンプ​​トがシフトすることは、cmd.exe子 WoW プロセスの実行によってトリガーされる不整合の 1 つです。

しかし cmd.exe32 ビットまたは 64 ビットのプロセスにはリアル モードが存在しないため、「リアル モード」では実行されません。


1 16 ビット Windows-on-Windows サブシステムは、x86/x64 プロセッサの 16 ビット実行モードの 1 つを使用して、VMWare (その他) が完全なマシンをホストするのと同様に、分離された環境を提供します。

関連情報