Windows 10 Update 1511 が DiskCryptor ディスク全体の暗号化で失敗する

Windows 10 Update 1511 が DiskCryptor ディスク全体の暗号化で失敗する

システム ドライブに DiskCryptor ディスク全体の暗号化を適用した Windows 10 を実行しています。最新の Windows 10 更新プログラムのインストールに失敗しました。更新プログラムをインストールするためにシステムを再起動すると、次の一連のイベントが発生します。

  • DiskCryptorのパスワードを入力してディスクのロックを解除します
  • Windows Updateでキーボードレイアウトが要求される
  • その後すぐにWindows Updateが失敗する

プロセスを十分に進めると、ファイル (または複数のファイル) がロックされているため続行できないことを示すメッセージが表示されます。

私の同僚もシステムドライブで DiskCryptor を使用しており、同様の経験をしています。

それで:

  • これは一般的にディスク全体の暗号化に関する既知の問題ですか?
  • これは DiskCryptor 特有の問題でしょうか?
  • もしそうなら、それは MS が修正するバグでしょうか、それとも回避策が必要でしょうか?

答え1

これは、一般的にフルディスク暗号化ソフトウェアに問題があるようです (MS 独自の BitLocker は例外と思われます)。VeraCrypt コーディネーター自身からのコメント:

Windows 10 バージョン 1511、ビルド 10586 の更新失敗

TrueCrypt でも同じ問題が発生していたでしょう。オンザフライ暗号化に使用されるフィルター ドライバーを無効にするのは、この特定の Windows アップデートのようです。Windows が TrueCrypt を使用して暗号化されていた場合も、失敗していたでしょう。TrueCrypt ドライバーには、これを防ぐ魔法のようなものは何もありません。

Microsoft は更新インストーラーで何か厄介なことをしています。VeraCrypt ドライバーは期待どおりに動作していますが、このインストーラーはシステムの更新プロセス中にそれを明らかにブロックします。これにより、Microsoft は Bitlocker と Microsoft パートナー以外の FDE ソフトウェアを破壊しています。

これを Microsoft に報告する最善の方法は何ですか? 明らかに、VeraCrypt では、更新インストーラーによるこのような深刻なカーネル ブロックをさらに調査するための人員が不足しています。

回避策については別の記事で説明されている。フォーラム投稿:

OS のアップグレードを実行する前に、システム暗号化を復号化する必要があります。

また、Windows 10 11 月のアップデートでは、Windows 10 1511 アップデートを適用するために OS の暗号化を解除する必要があります。通常、これは必要ありません。

注記: OS のアップグレードを開始する前に、PC に接続されている外部の暗号化ボリュームをすべてアンマウントして切断してください。Windows OS のアップグレードでは暗号化されたドライブ/パーティションが RAW 形式として認識され、Windows はパーティションを自動的にクイック フォーマットしてドライブ文字を割り当て、Windows で使用できるようにすることで、Windows が親切すぎると不満を言うユーザーを以前見かけました。


更新: ループを閉じるために、次の手順を実行しましたが、悪影響はありませんでした。いつものように、まずはバックアップを!! 私はバックアップを必要としませんでしたが、皆さんが必要ないとは保証できません ;)。

  1. システムドライブ(おそらくC:)を復号化します
    • セカンダリハードドライブ(D:)があります
    • このD:ドライブも暗号化されました
    • D:ドライブを復号化しませんでした
  2. Windowsアップデートを適用する
    • DiskCryptorブートローダーは再起動のたびにパスワードの入力を要求してきました
    • パスワードなしで[Enter]を押すとマシンが起動しました
  3. システムドライブを再暗号化する

暗号化された D: ドライブ (セカンダリ ドライブ) に関する簡単なメモ:

Windows 10 を起動したときに C: ドライブがまだ暗号化されていない場合は、十分に注意してください。このシナリオでは、D: ドライブは起動時に自動的にマウントされません。D: ドライブをダブルクリックしても、Windows はそれを認識せず、フォーマットするように要求します。ドライブをマウントするには、DiskCryptor を開き、D: ドライブを選択して [マウント] をクリックし、パスワードを入力する必要があります。

Windowsは自動的にセカンダリ ドライブをフォーマットしましたが、誤ってフォーマットしてしまう可能性が非常に高かったので、注意して進めてください。

答え2

このスレッドは少し古いですが、検索者のために... DiskCryptor が存在すると、Windows (10) 1709 (少なくとも) の更新が防止され、特に関連するエラーは報告されません。最後にブルー スクリーンが表示され、古いバージョンが再インストールされるだけです... DiskCryptor ドライブが実際にマウントされているかどうかは関係ありません。

簡単な解決策は、DiskCryptor をアンインストールし、アップデートを実行して再インストールすることです。システムが更新されない理由を何日も調査した後、私の場合はうまくいきました。

しかし、アップデートをインストールした後、少なくとも Creators Update では、マウントされたドライブの動作が変更されました。マウントされたボリュームは、Windows のシャットダウン時にマウント解除されなくなりました。実際、DiskCryptor ドライブがマウントされている場合、DiskCryptor は Windows のシャットダウンを防ぎ、ステーションがスリープ状態になるようです (注意深くなければ、気付かないかもしれません)。起動すると、ドライブはすべてマウントされたままです。私はこれを、Win 10 Home を搭載した 2 台の Lenovo ラップトップと、Win 10 Enterprise を搭載した 1 台のデスクトップでテストしましたが、違いはありませんでした。これが誰かの役に立てば幸いです。また、Windows がこれを迅速に修正することを願っています - BitLocker への移行を強制することが目的でない限り :( ちなみに、この新しい動作は、TrueCrypt でテストしたときには存在しませんでした。ドライブはシャットダウン時に自動的にマウント解除されます。

答え3

DiscCryptor と GPT ディスクに関する別の問題を発見しました。

同じ GPT ディスク (存在するのは 1 つだけです。これは BIOS のみのノート PC で、U-EFI はありません) に複数の Windows 32 ビット (Vista から 10 までのすべての Home バージョン) があります。はい、そうです。これは BIOS のみで、ディスクは 4 つ以上のプライマリ パーティションを持つ GPT です。すべてのパーティションは GPT ですが、Grub2 core.img 用の 8MiB の小さな RAW GrubBIOS が 1 つあります... そしてはい、そうです。Windows 32 ビットです。Windows は MBR 以外のディスクからは起動しないことに注意してください。私はハイブリッド GPT+MBR が好きではなく、Grub2+MemDisk+VHD の小さなファイル (32MiB 以下) の方が好きです。

私のディスクは 100% GPT で、システムの各 Windows に 1 つの GPT NTFS パーティションがあります (WINDOWS フォルダーはありますが、NT60 ブート コードと BCD はそこにありません)。また、Grub2、MemDisk、VHD ファイル用の追加 NTFS パーティションもあります (そうしないと、32 ビットの Windows は GPT ディスクから起動できなくなります。つまり、BIOS + GPT ディスク上の 32 ビットです)。その VHD ファイルは固定サイズです (memdisk が RAM 上でエミュレートできるようにするため)。内部には、NT60 ブート コードとその特定の Windows の BCD がある 32MiB の NTFS パーティションが 1 つだけある MBR ディスクがあります。Windows ごとに 1 つの VHD です。

これは私がテストを行う GPT ディスク上のサンプルです (すべての Windows は 32 ビットおよび Home バージョンで、Pro、Enterprise、Server はなく、100% 合法的なものです)。

  • 1番目のセクター = Grub2ブートコード + GPT保護
  • GPT1 = 8MiB RAW GrubBIOS (Grub2 が core.img を RAW に格納)
  • GPT2 = 1GiB NTFS(Grub2 ファイル用)+ MemDisk + VHD ファイル
  • GPT3 = 32 ビット Windows Vista SP2 システム用の NTFS (Windows フォルダーなど)
  • GPT4 = 32 ビット Windows 7 SP1 システム用の NTFS (Windows フォルダーなど)
  • GPT5 = 32 ビット Windows 8 システム用の NTFS (Windows フォルダーなど)
  • GPT6 = 32 ビット Windows 8.1 システム用の NTFS (Windows フォルダーなど)
  • GPT7 = 32 ビット Windows 10 システム用の NTFS (Windows フォルダーなど)
  • GPT ...などなど...

各 VHD は、次のように約 32MiB の仮想 MBR ディスクです。

  • 1 番目のセクター = Nt60 ブート コード + MBR パーティション テーブル
  • MBR.1 = プライマリ NTFS 32MiB (BCD のものが存在する場所)
  • MBR.2 = -空-
  • MBR.3 = -空-
  • MBR.4 = -空-

各ウィンドウごとに 1 つの VHD ファイル (ブートローダーと BCD を分離するため)。

これらすべてを MBR 上に置きたい場合 (プライマリ 3 つ + 拡張 1 つに制限されます)、配置できる Windows は 3 つだけです (Grub2 は拡張内の論理上に置くことができます)。その 3 つのプライマリには、それぞれの BCD 要素が含まれます (各 Windows の BCD は分離されます)。すべての Windows BCD を同じパーティション上に許可すると、必要な数の Windows を配置できますが、それらはすべて BCD を共有するため、ブート メニューは Windows によって表示されるものになり、それらは分離されず、そのような BCD に触れるものの 1 つに障害が発生すると、残りのすべてのブートが台無しになります。言うまでもなく、暗号化も必要です。

GPT + Grub2 + MemDisk + VHD ファイルを使用すると、必要なもの (暗号化を除く) が得られ、各 Windows が残りの Windows から 100% 分離されます。

私が U-EFI ではなく BIOS を必要とする主な理由は次の 3 つです。

  1. HDD の 100% (最初のセクター、GPT テーブル、およびディスクの末尾にある GPT テーブルの 2 番目のコピーを除く) を暗号化したいと考えています... Grub2 + MemDisk + VHD ファイルに使用するパーティションを暗号化する方法をまだ検討中です... VHD ファイルごとに 1 つの追加パーティションを作成することを検討していました... 1 つはシステムとして暗号化され、もう 1 つは LUK を使用して Grub2 で暗号化されます (grub2-install を実行するときにモジュール パラメータを使用)。
  2. 私のラップトップにはU-EFIがなく、BIOSのみです
  3. 私の HDD は 2TiB より大きいです (MBR では 2TiB までしか使用できず、残りは失われます)

DiskCryptor の問題に戻ると、起動した Windows GPT パーティション (WINDOWS フォルダーがある場所) を暗号化し、ブート コードを他の仮想 MBR ディスク (VHD ファイル内にある) に配置すると、起動後にパスワードが求められますが、常に「無効なパスワード」というエラーが表示されます。

しかし、起動した Windows GPT パーティション (WINDOWS フォルダーがある場所) を暗号化せず、BCD があるパーティション (VHD ファイル内にある仮想 MBR ディスク内のパーティション) のみを暗号化すると、起動時にパスワードの入力を求められ、パスワードが正しければ Windows は完璧に起動します (ただし、BCD の仮想ディスク パーティションは自動マウントされないので、手動でマウントする必要があります... 自動マウントできるかどうかを確認する必要があります)。ただし、Windows は正常に動作します。

そして、両方を(同じパスワードで)暗号化すると、Windows bootmbr がロードされますが、青い背景に白いテキストのグラフィカル画面で winload.exe が見つからないというメッセージが表示されます。

MBR 部分のみを暗号化すると、VHD ファイルが十分に早く接続されていないために自動マウントされない可能性があります... VHD 接続はログオン前のタスク スケジュールで実行されるため、パスワードをキャッシュしてログオン時に DisckCryptor を実行すると、この問題が解決する可能性があります... 時間があればテストする必要があります。

別のディスクに「システム予約済み」または何と呼んでも構いません (NT60 ブート コードと BCD が存在する場所) を置くことは、DiskCryptor ではサポートされていないようです。少なくとも、Windows 32 ビットが GPT パーティション (WINDOWS フォルダーが存在する場所) にある場合はサポートされていません... 仮想 MBR を暗号化するとうまく機能しますが、GPT パーティションを暗号化すると、別の種類のエラーが発生します。

ISO を作成してそれを使って起動するなど、さらに多くのオプションを再試行します。

ありがとうございます。私は複数の Windows を持っていて、別の Windows で起動し、DiskCryptor をインストールして再起動し、GPT の Windows をマウントしようとしました。正常にマウントされたので、それを復号化し、起動できないという大きな問題を修正しました。解決策が見つかるまで、ラップトップを再び起動する前に、VirtualBOX マシンでさらにテストを実行します... DiskCryptor が実行前に警告してくれたらよかったのですが... しかし、少なくとも自分が何をしているのかはわかっており、復号化できる他の Windows から起動する方法もわかっています。また、Clone BackUp なども持っています。

何か見逃しているかもしれません。起動方法や DiskCryptor ブートローダーの配置場所、設定方法などを完全に理解していないのかもしれません。

同じ GPT ディスクに 4 つ以上の異なる Windows Home 32 ビットをインストールし、ブート コード、BCD などを含めて 100% 分離したいことを念頭に置いてください。他の選択肢はありません。GPT は必須です。また、システム (Windows フォルダーがある場所) だけでなく、ブート パーティション (BCD がある場所) も異なるパスワードで暗号化する必要があります。暗号化 Grub2 は私にとって簡単に実行できるため、複雑にならないように、有効なソリューションが見つかるまで暗号化せずに使用します。

ブート パーティション (BCD がある場所) を保護するのは、システム (WINDOWS フォルダーがある場所) 自体を保護するよりもはるかに難しいと思っていましたが、まったく逆であることがわかりました。

テストして、テストして、テストしなければなりません... 方法を見つけられるかもしれません。

はい、誰かがそれらについて考えている場合に備えて、私は TrueCrypt と VeraCrypt を試しましたが、どちらも大きな問題があります。TrueCrypt は GPT システム暗号化を許可せず、VeraCrypt は GPT ディスクが U-EFI 専用であると想定するため、U-EFI のものをバックアップしようとすると失敗します。EFI パーティションを配置しても、マシンに EFI 変数がないため (BIOS のみ、U-EFI なし)、失敗します。

ブート (暗号化なし) は次のようになります。電源オン、BIOS 実行、BIOS によるディスクの最初のセクターの読み取り、Grub2 ブートローダー コードの検索と実行、RAW GrubBIOS (core.img) の読み取りと実行、Grub2 による処理 (grub.cfg ファイルの読み取り) とメニューの表示、ブートするシステムの選択、Grub2 による memdisk のロード、仮想ハード ディスク内の対応する VHD イメージへのジャンプ、その MBR 上のコードの実行 (NT60 コード)、bootmgr のロードと実行、winload.exe の実行など... 通常の Windows ブート... 次にスケジュール タスクが SYSTEM アカウントで起動、同じ VHD が接続され、BCD にアクセスできるようになり、ログオン プロンプトの表示、ユーザーの選択など... 通常の Windows が続行され... デスクトップが表示されます。

すべてのブートは同じ HDD から行われ、GPT スタイルです。秘訣は、Windows を起動する前に、nt60 ブート コードと BCD がある仮想 MBR ディスクをマウントすることです (Grub2 + memdisk + VHD ファイルを使用)。こうすることで、Windows は実際には認識している MBR ディスクから起動しますが、これはファイルに保存され、GPT パーティションに保存される仮想ディスクです。もう 1 つの優れた秘訣は、BIOS のみの PC で GPT ディスクから起動できる Grub2 のおかげです。

誰かが私のブート手順を再現して DiskCryptor をテストしてくれることを願っています。また、いつの日か VeraCrypt が GPT = U-EFI を想定しなくなることを願っています。

VHD を作成するために、Windows の DiskPart を使用しました。Windows インストール メディアから起動し、コンソール (言語を選択した後、Shift + F10) に移動して DiskPart を使用すると、VHD を作成、マウント、アクセスなどすることもできます。

DiskCryptor のおかげで、望みのものに少し近づきましたが、まだそこまでには至っていません。あと少しです... Windows を起動してください!

次のパートでは、SystemRescueCD (Linux Live ディストリビューション) から DiskCryptor をマウントしますが、これは非常に難しい作業です。

関連情報