web-dev-qa-db-ja.com

ブートローダーはどこにありますか?

これが私が聞きたい2つの質問です。

  1. ブートローダーはどこにありますか? MBR(マスターブートレコード)またはパーティションブートセクターにありますか?

  2. 「D」ドライブにWindowsOSをインストールしたとすると、ブートローダーはどこにインストールされますか? DドライブまたはMBRのパーティションブートセクターにありますか?

私はたくさんの記事を読みましたが、それでも混乱しています。

6
Ankit

ブートローダーはどこにありますか? MBR(マスターブートレコード)またはパーティションブートセクターにありますか?

また、実際には、「 ブートローダー 」を「オペレーティングシステムローダー」として厳密に解釈することもできません。Bothより緩い定義では、単に「bootstrapプロセスに何らかの形で関与するプログラム」です。

古いPC/ATおよびPC98ブートプロセス では、MBRに「起動可能な」(別名「アクティブ」)ボリュームを探すbootstrapプログラムがあり、2番目のボリュームがあります。そのボリュームのVBR内のbootstrapプログラムで、最初のbootstrapプログラムによってロードおよび実行されます。 Windows NT 6.xでは、この2番目のプログラムはMicrosoft BootManagerをロードします。これは順番に、最後にWindowsオペレーティングシステムのブートローダーのロードに取り掛かります。 WINLOAD Windows NT 6.xオペレーティングシステムのブートローダーであるWINLOADであり、通常のファイルWindows上に存在しますbootvolume、「System」ディレクトリ。

Windowsブートローダー以前はNTLDRでしたが、現在はbootパーティションでWINLOADになっています。

「D」ドライブにWindowsOSをインストールしたとすると、ブートローダーはどこにインストールされますか? DドライブまたはMBRのパーティションブートセクターにありますか?

必ずしもブートセクターにあるとは限りません。 「D」は無意味です。

まず、WindowsNTではneverが単一のボリュームにインストールされているため、「D」は無意味です。always2つの観点からインストールします。これは、WindowsNTが常に機能してきた方法です。 DOSではありません。

Windows NTのx86以外のフレーバーには、alwaysがあり、Windows NTバージョン3に戻ると、デフォルトで個別の ブートパーティションとシステムパーティション がありました。システムパーティションは、そのパーティション上のファイルで、ブートローダープログラムが存在していた場所です。そのようなプラットフォームのMBRおよびVBRにはare nobootstrapプログラムがあります。 Windows NTブートローダープログラムはファイルからロードされ、マシンファームウェアによって直接実行されます。

対照的に、x86プラットフォームでは、Windows NT 6.1( "Windows 7")まで、空のディスクのインストールのデフォルトは、ブートパーティションとシステムパーティションを保持することでしたが、それらを1つに結合し、指定されたパーティションを使用しませんでした。trueシステムパーティションのタイプ。 (以前のバージョンのWindows NTを含む非ブランクディスクにインストールする場合、新しいバージョンのWindows NTは独自のブートパーティションを追加しますが、既存のシステムパーティションを再利用するため、実際には別々のシステムパーティションとブートパーティションを取得します。) 、ブートとシステムの合計ボリュームはMicrosoft Dataパーティションであり、Poor Manのシステムパーティションとして機能します。これは、x86システムのファームウェアが(おおよそまで) 2005)trueシステムパーティションの存在を義務付けていませんでした。

Windows NTバージョン6.1( "Windows 7")から、x86のインストールのデフォルトでは、空のディスクにインストールする場合でも、常に個別のブートパーティションとシステムパーティションが作成されるようになりました。そのため、x86の動作は、x86以外の場合と同じであり、動作は均一です。 x86の世界がようやく崩壊しつつあります。現在、 少なくともUEFIファームウェアを備えたx86-64システム が存在します。これは、1993年にWindows NT3.1がARCマシンでブートストラップされたのと同じ方法でWindowsNT 6.1を起動し、trueを使用します。システムパーティション。VBRまたはMBRはまったくありません。

古いPC/ATおよびPC98/PC99ファームウェアを搭載したx86マシンでは、バージョン3に戻るWindows NTの起動可能なパーティションは、alwaysシステムパーティションです。システムパーティションは常に「アクティブ」とマークする必要があります。 (これはnot識別方法 であることに注意してください。)システムパーティションのVBRには、次のようなbootstrapプログラムが含まれています。

  • バージョン5.2までのWindowsNTでは、WindowsオペレーティングシステムローダーNTLDRがロードされます。
  • バージョン6.0以降のWindowsNT( "Windows Vista")では、Microsoft Boot Manager BOOTMGRをロードします。順番にWindowsオペレーティングシステムローダーWINLOADをロードします。bootパーティション

したがって、このようなシステムでは、ブートローダー(NTLDRまたはWINLOAD)に加えて、MBRとVBR、および場合によってはMicrosoftのブートマネージャーにbootstrapプログラムがあります。同様に。

次に、「D」は無意味です。なぜなら、 Windows NT 6.1は、以前のバージョンのWindows NT内からインストールすると、同じドライブ文字を保持しようとするため、ブートボリュームの新しいドライブ文字を取得します。インストールディスクから起動して以前のバージョンのWindowsNTの上にインストールすると、常に起動ボリュームのドライブ文字「C」が表示されます (いずれの場合もnoもちろん、システムボリュームのドライブ文字)。一般に、ドライブ文字の観点からこれらのことを話すことは無意味です。 Windows NTの複数のバージョンをインストールでき、それぞれに独自の任意のドライブ文字割り当てのセットがあります。ある人にとって「D」とは、別の人にとっては「C」または「S」である可能性があります。

私はたくさんの記事を読みましたが、それでも混乱しています。

この混乱の一部は、使用しているオペレーティングシステムがnowであると考えている人々から生じているでしょう。 Windows NTはDOSではなく、likeDOSでもありません。 DOSThinkを捨ててください。 Windows NTの設計哲学には、パーソナルコンピュータの世界ではなく、ハイエンドのワークステーションとサーバーの世界に基づいたオペレーティングシステムのブートストラップに関するいくつかのアイデアが含まれています。数年の間、x86パーソナルコンピュータのファームウェアの制限のために、DOSを少し上回らなければなりませんでしたが、x86の世界は、ファームウェアの機能、Windows NTの動作の設計、およびreallyこの時点で約18年間働いていましたが、パソコンの世界でも輝き始めています。

4
JdeBP

起動プロセスに関する2つの優れたリンクは次のとおりです。

http://www.mywindowsclub.com/resources/4150-Windows-booting-procedure.aspx (Windows Vista/Windows 7/Server 2008の唯一の変更点は、代わりにBCDストアを使用することです。 boot.iniファイルの)。

http://www.slideshare.net/dominiquec/understanding-the-boot-process

ここの情報を逆流させようとしても、これらのリンクを正義にすることはできませんでした。彼らはそれを非常にうまく提示しました。

1
KCotreau