web-dev-qa-db-ja.com

Windowsのブート構成データとパーティション

Vista以降、Windowsはブートメニューをブート構成データストア(BCD)に保存します。私は今日私のものを見ました、そしてこれが唯一のWin7インスタンスのエントリーです:

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 7
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {89491629-36d4-11df-938c-f89ebe5d401b}
recoveryenabled         Yes
osdevice                partition=C:
systemroot              \Windows
resumeobject            {89491621-36d4-11df-938c-f89ebe5d401b}
nx                      OptIn

Boot.iniのARCパスがなくなったようです-このブートエントリにはC:Win7をロードするドライブを識別します。しかし、Windowsではドライブ文字は恣意的ではありませんか?最初にレジストリを調べなくても、どの物理ドライブとパーティションがCに対応するかをどのようにして知ることができますか?

2
Seva Alekseyev

パスはBCDであり、ドライブ文字として物理的に保存されていません。私は修理コンソールをいじっています。ブートパーティションのドライブ文字を変更してBCDEditを再度呼び出すと、BCDでもドライブ文字が魔法のように変更されます。これはおそらくARCパスに似たものであり、BCDEditはこれを抽象化します。

1
Seva Alekseyev

BCDは実際にはレジストリハイブであり、通常はHKLM\BCD00000000キーでレジストリにマウントされます。 regeditを使用して、そのキーを.regファイルとしてエクスポートし、BCDが格納する実際のデータを調べることができます。デバイス/ osdeviceデータの形式は文書化されておらず、かなりあいまいですが、パーティションテーブルで発生するディスクIDと、そのデータの中に問題のパーティションの1番目のセクターの線形セクターアドレスがあります。 Windowsドライブ文字は、おそらくより理解しやすい方法でそのデータを表示するためにbcdeditによって使用されます。

2
kreemoweet