BCD 設定と BitLocker
IT 担当者向けのこのトピックでは、BitLocker で使われる BCD 設定について説明します。
オペレーティング システムのボリューム上にある保存データを保護する場合、ブート プロセス中、BitLocker が最後に有効、再開、または回復されたため、BitLocker はセキュリティの影響を受けやすいブート構成データ (BCD) の設定が変更されていないかを検証します。
BitLocker と BCD 設定
Windows 7 と Windows Server 2008 R2 の場合、BitLocker は、winload、winresume、memtest の各プレフィックスと共にほぼすべての BCD 設定を検証していました。ただし、この高度な検証により、BitLocker は無害な設定変更の回復モードに移行していました。たとえば、言語パックを適用すると、BitLocker は回復モードに移行してしまいます。
Windows 8、Windows Server 2012、それ以降のオペレーティング システムの場合、BitLocker は検証済み BCD 設定を絞り込み、BCD 検証の問題の原因となる無害な変更項目を減らします。検証プロファイルから特定の BCD 設定を除外する際にリスクがあると考える場合は、任意の検証設定に合うように BCD 検証範囲を広げることができます。または、既定の BCD 設定が無害な変更の回復を常にトリガーしている場合は、検証プロファイルからその BCD 設定を除外できます。
セキュア ブートが有効な場合
UEFI ファームウェアを搭載するコンピューターは、セキュア ブートを使ってブートのセキュリティを拡張します。BitLocker でのプラットフォームや BCD の整合性の検証にセキュア ブートを使うように [セキュア ブートによる整合性の検証を許可する] グループ ポリシーで定義している場合、[拡張ブート構成データ検証プロファイルを使用する] グループ ポリシーは無視されます。
セキュア ブートを使う利点の 1 つは、ブート中に回復イベントをトリガーせずに BCD 設定を修正できることです。セキュア ブートは、BitLocker と同じ BCD 設定を強制的に適用します。セキュア ブートによる BCD の強制適用は、オペレーティング システム内から構成できません。
BCD 検証設定のカスタマイズ
BCD 設定を修正するため、BitLocker は、IT Pro が、[拡張ブート構成データ検証プロファイルを使用する] グループ ポリシー設定を有効化して構成することで、プラットフォーム検証プロファイルから BCD 設定を追加または除外するかどうかを検証します。
BitLocker の検証のために、BCD 設定は、Microsoft の特定のブート アプリケーション セットと関連付けられています。BCD 設定は、グループ ポリシー設定に入力された BCD 設定とプレフィックスを関連付けることで、特定のブート アプリケーションと関連付けられるか、すべてのブート アプリケーションに適用されます。プレフィックス値には次のようなものがあります。
winload
winresume
memtest
all
すべての BCD 設定では、16 進数 (hex) の値または「フレンドリ名」のいずれかをプレフィックス値と組み合わて指定します。
BitLocker が回復モードに移行し、イベント ログ (イベント ID 523) に記録されると、BCD 設定の 16 進数値が報告されます。16 進数値は、回復イベントの原因となる BCD 設定を一意に識別します。
「bcdedit.exe /enum all
」コマンドを使うと、お使いのコンピューター上の BCD 設定のフレンドリ名を簡単に取得できます。
すべての BCD 設定にフレンドリ名が付くわけではありません。この設定の場合、16 進数値が除外ポリシーを構成する唯一の方法です。
[拡張ブート構成データ検証プロファイルを使用する] グループ ポリシー設定で BCD 値を指定する場合は、次の構文を使います。
ブート アプリケーション プレフィックスを使って設定にプレフィックスを指定する
コロン「:」を追加する
16 進数値またはフレンドリ名を追加する
複数の BCD 設定を入力する場合は、新しい行に各 BCD 設定を入力する必要があります。
たとえば、「winload:hypervisordebugport
」と「winload:0x250000f4
」のいずれも同じ値を生成します。
すべてのブート アプリケーションに適用される設定は、個別のアプリケーションにのみ適用される場合がありますが、その逆は当てはまりません。たとえば、「all:locale
」または「winresume:locale
」のいずれかを指定できますが、bcd 設定「win-pe
」はすべてのブート アプリケーションには適用されません。「winload:winpe
」は有効ですが、「all:winpe
」は無効です。ブート デバッグを制御する設定 (「bootdebug
」または 0x16000010) は常に検証されており、指定したフィールドに追加されても効果はありません。
注
グループ ポリシー設定で BCD エントリを構成する場合に注意してください。ローカル グループ ポリシー エディターは BCD エントリの正確性を検証しません。指定したグループ ポリシー設定が無効な場合、BitLocker は有効化に失敗します。
既定の BCD 検証プロファイル
次の表は、Windows 8、Windows Server 2012、およびそれ以降のオペレーティング システムの BitLocker で使われる既定の BCD 検証プロファイルを示しています。
16 進数値 | プレフィックス | フレンドリ名 |
---|---|---|
0x11000001 |
all |
device |
0x12000002 |
all |
パス |
0x12000030 |
all |
loadoptions |
0x16000010 |
all |
bootdebug |
0x16000040 |
all |
advancedoptions |
0x16000041 |
all |
optionsedit |
0x16000048 |
all |
nointegritychecks |
0x16000049 |
all |
testsigning |
0x16000060 |
all |
isolatedcontext |
0x1600007b |
all |
forcefipscrypto |
0x22000002 |
winload |
systemroot |
0x22000011 |
winload |
kernel |
0x22000012 |
winload |
hal |
0x22000053 |
winload |
evstore |
0x25000020 |
winload |
nx |
0x25000052 |
winload |
restrictapiccluster |
0x26000022 |
winload |
winpe |
0x26000025 |
winload |
lastknowngood |
0x26000081 |
winload |
safebootalternateshell |
0x260000a0 |
winload |
デバッグ |
0x260000f2 |
winload |
hypervisordebug |
0x26000116 |
winload |
hypervisorusevapic |
0x21000001 |
winresume |
filedevice |
0x22000002 |
winresume |
ファイル パス |
0x26000006 |
winresume |
debugoptionenabled |
BCD 設定が無視されるすべてのフレンドリ名一覧
次は、既定では無視されるフレンドリ名を持つ BCD 設定の詳細な一覧です。これらの設定は、BitLocker の既定の検証プロファイルには含まれませんが、BitLocker で保護されたオペレーティング システム ドライブのロック解除を許可する前に、これらの設定のいずれかを検証する必要がある場合は追加することができます。
注
その他の BCD 設定では、16 進数値はありますが、フレンドリ名はありません。これらの設定はこの一覧には含まれていません。
16 進数値 | プレフィックス | フレンドリ名 |
---|---|---|
0x12000004 |
all |
description |
0x12000005 |
all |
locale |
0x12000016 |
all |
targetname |
0x12000019 |
all |
busparams |
0x1200001d |
all |
key |
0x1200004a |
all |
fontpath |
0x14000006 |
all |
inherit |
0x14000008 |
all |
recoverysequence |
0x15000007 |
all |
truncatememory |
0x1500000c |
all |
firstmegabytepolicy |
0x1500000d |
all |
relocatephysical |
0x1500000e |
all |
avoidlowmemory |
0x15000011 |
all |
debugtype |
0x15000012 |
all |
debugaddress |
0x15000013 |
all |
debugport |
0x15000014 |
all |
baudrate |
0x15000015 |
all |
channel |
0x15000018 |
all |
debugstart |
0x1500001a |
all |
hostip |
0x1500001b |
all |
port |
0x15000022 |
all |
emsport |
0x15000023 |
all |
emsbaudrate |
0x15000042 |
all |
keyringaddress |
0x15000047 |
all |
configaccesspolicy |
0x1500004b |
all |
integrityservices |
0x1500004c |
all |
volumebandid |
0x15000051 |
all |
initialconsoleinput |
0x15000052 |
all |
graphicsresolution |
0x15000065 |
all |
displaymessage |
0x15000066 |
all |
displaymessageoverride |
0x16000009 |
all |
recoveryenabled |
0x1600000b |
all |
badmemoryaccess |
0x1600000f |
all |
traditionalkseg |
0x16000017 |
all |
noumex |
0x1600001c |
all |
dhcp |
0x1600001e |
all |
vm |
0x16000020 |
all |
bootems |
0x16000046 |
all |
graphicsmodedisabled |
0x16000050 |
all |
extendedinput |
0x16000053 |
all |
restartonfailure |
0x16000054 |
all |
highestmode |
0x1600006c |
all |
bootuxdisabled |
0x16000072 |
all |
nokeyboard |
0x16000074 |
all |
bootshutdowndisabled |
0x1700000a |
all |
badmemorylist |
0x17000077 |
all |
allowedinmemorysettings |
0x22000040 |
all |
fverecoveryurl |
0x22000041 |
all |
fverecoverymessage |
0x31000003 |
all |
ramdisksdidevice |
0x32000004 |
all |
ramdisksdipath |
0x35000001 |
all |
ramdiskimageoffset |
0x35000002 |
all |
ramdisktftpclientport |
0x35000005 |
all |
ramdiskimagelength |
0x35000007 |
all |
ramdisktftpblocksize |
0x35000008 |
all |
ramdisktftpwindowsize |
0x36000006 |
all |
exportascd |
0x36000009 |
all |
ramdiskmcenabled |
0x3600000a |
all |
ramdiskmctftpfallback |
0x3600000b |
all |
ramdisktftpvarwindow |
0x21000001 |
winload |
osdevice |
0x22000013 |
winload |
dbgtransport |
0x220000f9 |
winload |
hypervisorbusparams |
0x22000110 |
winload |
hypervisorusekey |
0x23000003 |
winload |
resumeobject |
0x25000021 |
winload |
pae |
0x25000031 |
winload |
removememory |
0x25000032 |
winload |
increaseuserva |
0x25000033 |
winload |
perfmem |
0x25000050 |
winload |
clustermodeaddressing |
0x25000055 |
winload |
x2apicpolicy |
0x25000061 |
winload |
numproc |
0x25000063 |
winload |
configflags |
0x25000066 |
winload |
groupsize |
0x25000071 |
winload |
msi |
0x25000072 |
winload |
pciexpress |
0x25000080 |
winload |
safeboot |
0x250000a6 |
winload |
tscsyncpolicy |
0x250000c1 |
winload |
driverloadfailurepolicy |
0x250000c2 |
winload |
bootmenupolicy |
0x250000e0 |
winload |
bootstatuspolicy |
0x250000f0 |
winload |
hypervisorlaunchtype |
0x250000f3 |
winload |
hypervisordebugtype |
0x250000f4 |
winload |
hypervisordebugport |
0x250000f5 |
winload |
hypervisorbaudrate |
0x250000f6 |
winload |
hypervisorchannel |
0x250000f7 |
winload |
bootux |
0x250000fa |
winload |
hypervisornumproc |
0x250000fb |
winload |
hypervisorrootprocpernode |
0x250000fd |
winload |
hypervisorhostip |
0x250000fe |
winload |
hypervisorhostport |
0x25000100 |
winload |
tpmbootentropy |
0x25000113 |
winload |
hypervisorrootproc |
0x25000115 |
winload |
hypervisoriommupolicy |
0x25000120 |
winload |
xsavepolicy |
0x25000121 |
winload |
xsaveaddfeature0 |
0x25000122 |
winload |
xsaveaddfeature1 |
0x25000123 |
winload |
xsaveaddfeature2 |
0x25000124 |
winload |
xsaveaddfeature3 |
0x25000125 |
winload |
xsaveaddfeature4 |
0x25000126 |
winload |
xsaveaddfeature5 |
0x25000127 |
winload |
xsaveaddfeature6 |
0x25000128 |
winload |
xsaveaddfeature7 |
0x25000129 |
winload |
xsaveremovefeature |
0x2500012a |
winload |
xsaveprocessorsmask |
0x2500012b |
winload |
xsavedisable |
0x25000130 |
winload |
claimedtpmcounter |
0x26000004 |
winload |
stampdisks |
0x26000010 |
winload |
detecthal |
0x26000024 |
winload |
nocrashautoreboot |
0x26000030 |
winload |
nolowmem |
0x26000040 |
winload |
vga |
0x26000041 |
winload |
quietboot |
0x26000042 |
winload |
novesa |
0x26000043 |
winload |
novga |
0x26000051 |
winload |
usephysicaldestination |
0x26000054 |
winload |
uselegacyapicmode |
0x26000060 |
winload |
onecpu |
0x26000062 |
winload |
maxproc |
0x26000064 |
winload |
maxgroup |
0x26000065 |
winload |
groupaware |
0x26000070 |
winload |
usefirmwarepcisettings |
0x26000090 |
winload |
bootlog |
0x26000091 |
winload |
sos |
0x260000a1 |
winload |
halbreakpoint |
0x260000a2 |
winload |
useplatformclock |
0x260000a3 |
winload |
forcelegacyplatform |
0x260000a4 |
winload |
useplatformtick |
0x260000a5 |
winload |
disabledynamictick |
0x260000b0 |
winload |
ems |
0x260000c3 |
winload |
onetimeadvancedoptions |
0x260000c4 |
winload |
onetimeoptionsedit |
0x260000e1 |
winload |
disableelamdrivers |
0x260000f8 |
winload |
hypervisordisableslat |
0x260000fc |
winload |
hypervisoruselargevtlb |
0x26000114 |
winload |
hypervisordhcp |
0x21000005 |
winresume |
associatedosdevice |
0x25000007 |
winresume |
bootux |
0x25000008 |
winresume |
bootmenupolicy |
0x26000003 |
winresume |
customsettings |
0x26000004 |
winresume |
pae |
0x25000001 |
memtest |
passcount |
0x25000002 |
memtest |
testmix |
0x25000005 |
memtest |
stridefailcount |
0x25000006 |
memtest |
invcfailcount |
0x25000007 |
memtest |
matsfailcount |
0x25000008 |
memtest |
randfailcount |
0x25000009 |
memtest |
chckrfailcount |
0x26000003 |
memtest |
cacheenable |
0x26000004 |
memtest |
failuresenabled |