BitLocker の構成: 既知の問題

この記事では、BitLocker の構成と一般的な機能に影響する一般的な問題について説明します。 この記事では、これらの問題に対処するためのガイダンスも提供します。

Windows 10とWindows 11では BitLocker の暗号化が遅くなります

BitLocker はバックグラウンドで実行され、ドライブを暗号化します。 ただし、Windows 11とWindows 10では、BitLocker は以前のバージョンの Windows よりもリソースの要求に対してあまり積極的ではありません。 この動作により、BitLocker がコンピューターのパフォーマンスに影響を与える可能性が低くなります。

これらの変更を補正するために、BitLocker は Encrypt-On-Write という変換モデルを使用します。 このモデルでは、BitLocker が有効になるとすぐに、新しいディスク書き込みが暗号化されます。 この動作は、すべてのクライアント エディションと内部ドライブで発生します。

重要

下位互換性を維持するために、BitLocker は以前の変換モデルを使用してリムーバブル ドライブを暗号化します。

新しい変換モデルを使用する利点

以前の変換モデルを使用すると、BitLocker 変換が 100% 完了するまで、内部ドライブを保護され、データ保護標準に準拠していると見なすことはできません。 プロセスが完了する前に、暗号化が開始される前にドライブに存在していたデータ (つまり、侵害された可能性のあるデータ) は、暗号化なしで読み取りおよび書き込みできます。 そのため、データが保護され、データ保護標準に準拠していると見なされるためには、機密データがドライブに格納される前に暗号化プロセスを完了する必要があります。 ドライブのサイズによっては、この遅延が大幅に発生する可能性があります。

新しい変換モデルを使用すると、BitLocker がオンになるとすぐに機密データをドライブに格納できます。 暗号化プロセスを最初に完了する必要はありません。また、暗号化はパフォーマンスに悪影響を及ぼしません。 トレードオフは、既存のデータの暗号化プロセスに時間がかかるということです。

その他の BitLocker 拡張機能

Windows 7 以降にリリースされた Windows のバージョンでは、BitLocker の他のいくつかの領域が改善されました。

  • 新しい暗号化アルゴリズム XTS-AES - Windows 10 バージョン 1511 で追加されたこのアルゴリズムは、プレーン テキストの予測可能な変更を引き起こすために暗号テキストを操作することに依存する暗号化されたデータに対する攻撃のクラスからの追加の保護を提供します。

    既定では、このアルゴリズムは連邦情報処理標準 (FIPS) に準拠しています。 FIPS は、暗号化ソフトウェアを実装するためのベンチマークを提供する米国 Government 標準です。

  • 管理機能の改善。 BitLocker は、次のインターフェイスを使用して、PC やその他のデバイスで管理できます。

    • BitLocker ウィザード
    • manage-bde.exe
    • グループ ポリシー オブジェクト (GPO)
    • モバイル デバイス管理 (MDM) ポリシー
    • Windows PowerShell
    • Windows 管理インターフェイス (WMI)
  • Microsoft Entra ID (Microsoft Entra ID) との統合 - BitLocker は回復情報をMicrosoft Entra IDに格納して、回復を容易にすることができます。

  • ダイレクト メモリ アクセス (DMA) ポート保護 - MDM ポリシーを使用して BitLocker を管理すると、デバイスの DMA ポートをブロックして、起動時にデバイスをセキュリティで保護できます。

  • BitLocker ネットワークのロック解除 - BitLocker 対応デスクトップまたはサーバー コンピューターがドメイン環境の有線企業ネットワークに接続されている場合、システムの再起動中にオペレーティング システム ボリュームのロックを自動的に解除できます。

  • 暗号化されたハード ドライブのサポート - 暗号化されたハード ドライブは、ハードウェア レベルで自己暗号化され、完全なディスク ハードウェア暗号化を可能にする新しいクラスのハード ドライブです。 そのワークロードを利用することで、暗号化されたハード ドライブによって BitLocker のパフォーマンスが向上し、CPU 使用率と消費電力が削減されます。

  • HDD/SSD ハイブリッド ディスクのクラスのサポート - BitLocker は、Intel Rapid Storage Technology など、HDD の前面にある不揮発性キャッシュとして小さな SSD を使用するディスクを暗号化できます。

Hyper-V Gen 2 VM: BitLocker 暗号化後にボリュームにアクセスできない

次のような状況で問題が発生します。

  1. BitLocker は、Hyper-V で実行される第 2 世代仮想マシン (VM) をオンにします。

  2. データは、暗号化時にデータ ディスクに追加されます。

  3. VM が再起動され、次の動作が観察されます。

    • システム ボリュームは暗号化されていません。

    • 暗号化されたボリュームにはアクセスできません。また、コンピューターはボリュームのファイル システムを [不明] として一覧表示します。

    • 次のようなメッセージが表示されます。

      使用する前に、ディスクを drive_letter ドライブ>に<フォーマットする必要があります

Hyper-V Gen 2 VM で BitLocker 暗号化後にボリュームにアクセスできない原因

この問題は、サード パーティ製のフィルター ドライバー Stcvsm.sys (StorageCraft から) が VM にインストールされているために発生します。

Hyper-V Gen 2 VM 上の BitLocker 暗号化後にボリュームにアクセスできない場合の解決策

この問題を解決するには、サード パーティ製ソフトウェアを削除します。

BitLocker で暗号化されたディスクを使用する仮想化ドメイン コントローラーの運用スナップショットが失敗する

次のような状況で問題が発生します。

Windows Server 2019 または 2016 Hyper-V Server は、Windows ドメイン コントローラーとして構成されている VM (ゲスト) をホストしています。 ドメイン コントローラーのゲスト VM では、BitLocker によって Active Directory データベースとログ ファイルを格納するディスクが暗号化されています。 ドメイン コントローラー ゲスト VM の "運用スナップショット" が試行されると、ボリューム Snap-Shot (VSS) サービスがバックアップを正しく処理しません。

この問題は、環境の次のバリエーションに関係なく発生します。

  • ドメイン コントローラー ボリュームのロック解除方法。
  • VM が第 1 世代か第 2 世代か。
  • ゲスト オペレーティング システムが Windows Server 2019、2016、2012 R2 のいずれであるか。

ゲスト VM ドメイン コントローラー Windows ログ>アプリケーション イベント ビューアー ログでは、VSS イベント ソースによってイベント ID 8229 が記録されます。

ID: 8229
レベル: 警告
ソース: VSS
メッセージ: VSS ライターがエラー 0x800423f4を含むイベントを拒否しました。 ライターで一時的でないエラーが発生しました。 バックアップ プロセスが再試行された場合、エラーが再発する可能性があります。

イベントの処理中にライターがライター コンポーネントに加えた変更は、要求元では使用できません。

VSS ライターをホストしているアプリケーションからの関連イベントがないか、イベント ログを確認します。

操作:
PostSnapshot イベント

コンテキスト:
実行コンテキスト: ライター
ライター クラス ID: {b2014c9e-8711-4c5c-a5a9-3cf384484757}
ライター名: NTDS
ライター インスタンス ID: {d170b355-a523-47ba-a5c8-732244f70e75}
コマンド ライン: C:\Windows\system32\lsass.exe

プロセス ID: 680

ゲスト VM ドメイン コントローラーアプリケーションとサービス ログ>ディレクトリ サービス イベント ビューアー ログには、次のようなイベントが記録されます。

エラー Microsoft-Windows-ActiveDirectory_DomainService 1168
内部処理内部エラー: Active Directory Domain Services エラーが発生しました。

追加データ
エラー値 (10 進数): -1022

エラー値 (16 進): fffffc02

内部 ID: 160207d9

注:

このイベントの内部 ID は、オペレーティング システムのリリース バージョンとパッチ レベルによって異なる場合があります。

この問題が発生すると、コマンドの実行時にActive Directory Domain Services (NTDS) VSS ライターに次のvssadmin.exe list writersエラーが表示されます。

Writer name: 'NTDS'
 Writer Id: {b2014c9e-8711-4c5c-a5a9-3cf384484757}
 Writer Instance Id: {08321e53-4032-44dc-9b03-7a1a15ad3eb8}
 State: [11] Failed
 Last error: Non-retryable error

さらに、VM は再起動されるまでバックアップできません。

BitLocker で暗号化されたディスクを使用する仮想化ドメイン コントローラーの運用スナップショットの原因が失敗する

VSS がボリュームのスナップショットを作成すると、VSS ライターは "post スナップショット" アクションを実行します。 ホスト サーバーから "運用スナップショット" が開始されると、Hyper-V はスナップショットボリュームのマウントを試みます。 ただし、暗号化されていないアクセスのボリュームのロックを解除することはできません。 Hyper-V サーバー上の BitLocker はボリュームを認識しません。 そのため、アクセス試行は失敗し、スナップショット操作は失敗します。

この動作は仕様です。

BitLocker で暗号化されたディスクを使用する仮想化ドメイン コントローラーの運用スナップショットの回避策

仮想化ドメイン コントローラーのバックアップと復元を実行するためにサポートされている方法は、ゲスト オペレーティング システムで Windows Server Backup を 実行することです。

仮想化されたドメイン コントローラーの運用スナップショットを取得する必要がある場合は、運用スナップショットを開始する前に、ゲスト オペレーティング システムで BitLocker を中断できます。 ただし、この方法はお勧めしません。

仮想化ドメイン コントローラーのバックアップに関する詳細と推奨事項については、「Hyper-V を使用したドメイン コントローラーの仮想化: 仮想化ドメイン コントローラーのバックアップと復元に関する考慮事項」を参照してください。

詳細

VSS NTDS ライターが暗号化されたドライブへのアクセスを要求すると、ローカル セキュリティ機関サブシステム サービス (LSASS) によって、次のようなエラー エントリが生成されます。

\# for hex 0xc0210000 / decimal -1071579136
STATUS\_FVE\_LOCKED\_VOLUME ntstatus.h
\# This volume is locked by BitLocker Drive Encryption.

この操作では、次の呼び出し履歴が生成されます。

\# Child-SP RetAddr Call Site
 00 00000086\`b357a800 00007ffc\`ea6e7a4c KERNELBASE\!FindFirstFileExW+0x1ba \[d:\\rs1\\minkernel\\kernelbase\\filefind.c @ 872\]
 01 00000086\`b357abd0 00007ffc\`e824accb KERNELBASE\!FindFirstFileW+0x1c \[d:\\rs1\\minkernel\\kernelbase\\filefind.c @ 208\]
 02 00000086\`b357ac10 00007ffc\`e824afa1 ESENT\!COSFileFind::ErrInit+0x10b \[d:\\rs1\\onecore\\ds\\esent\\src\\os\\osfs.cxx @ 2476\]
 03 00000086\`b357b700 00007ffc\`e827bf02 ESENT\!COSFileSystem::ErrFileFind+0xa1 \[d:\\rs1\\onecore\\ds\\esent\\src\\os\\osfs.cxx @ 1443\]
 04 00000086\`b357b960 00007ffc\`e82882a9 ESENT\!JetGetDatabaseFileInfoEx+0xa2 \[d:\\rs1\\onecore\\ds\\esent\\src\\ese\\jetapi.cxx @ 11503\]
 05 00000086\`b357c260 00007ffc\`e8288166 ESENT\!JetGetDatabaseFileInfoExA+0x59 \[d:\\rs1\\onecore\\ds\\esent\\src\\ese\\jetapi.cxx @ 11759\]
 06 00000086\`b357c390 00007ffc\`e84c64fb ESENT\!JetGetDatabaseFileInfoA+0x46 \[d:\\rs1\\onecore\\ds\\esent\\src\\ese\\jetapi.cxx @ 12076\]
 07 00000086\`b357c3f0 00007ffc\`e84c5f23 ntdsbsrv\!CVssJetWriterLocal::RecoverJetDB+0x12f \[d:\\rs1\\ds\\ds\\src\\jetback\\snapshot.cxx @ 2009\]
 08 00000086\`b357c710 00007ffc\`e80339e0 ntdsbsrv\!CVssJetWriterLocal::OnPostSnapshot+0x293 \[d:\\rs1\\ds\\ds\\src\\jetback\\snapshot.cxx @ 2190\]
 09 00000086\`b357cad0 00007ffc\`e801fe6d VSSAPI\!CVssIJetWriter::OnPostSnapshot+0x300 \[d:\\rs1\\base\\stor\\vss\\modules\\jetwriter\\ijetwriter.cpp @ 1704\]
 0a 00000086\`b357ccc0 00007ffc\`e8022193 VSSAPI\!CVssWriterImpl::OnPostSnapshotGuard+0x1d \[d:\\rs1\\base\\stor\\vss\\modules\\vswriter\\vswrtimp.cpp @ 5228\]
 0b 00000086\`b357ccf0 00007ffc\`e80214f0 VSSAPI\!CVssWriterImpl::PostSnapshotInternal+0xc3b \[d:\\rs1\\base\\stor\\vss\\modules\\vswriter\\vswrtimp.cpp @ 3552\]