2015/04/05(Sun)Symantec Encryption Desktop - Whole Disk Encryptionで暗号化されたシステムディスクをリカバリ/メンテする方法
2015/04/05 18:37
これはWindowsのブートストラップに認証プロセスを追加し、ローレベルのドライバーを噛ませることで、ドライブ全体の暗号化を実現している。
通常は、Windows上にインストールしたアプリケーションから、自身のシステムドライブを使用しながら暗号化/復号化するという器用なことをやってのけるが、Windowsが起動できなくなってしまうとこの方法は使えない。
よって、Windowsが起動出来なくなってしまったとき、OSのインストールDVD等を用いて修復作業を行うことができないという問題がある。(暗号化パーティションは単なるNTFSではないので、認識出来ない。)
これを打開する方法のメモ。
注意:間違えるとディスクを壊しかねないので、細心の注意を払って実行すること
打開策1 -- お手軽だが時間がかかる
用意されているリカバリーメディアを使い、一旦全て復号化してしまうというやり方。C:\Program Files (x86)\PGP Corporation\PGP Desktop\bootg.isoをCDメディアなどに焼き、これでブートする。すると、復号化のみが行えるリカバリー環境が起動する。
- 通常通り、認証パスワードを入力してEnter
- その後'D'キーを押すと、数時間ののちドライブの暗号化が復号される。
Windowsでは電源接続状態でないと処理が進まないが、こちらはバッテリーモードでも処理が続いてしまう。バッテリーが無くなりそうでも処理を続けてしまい、そのままぶちっと切れてしまう。次回起動時に復号化を再開することはできるが、電源断時に処理していた一部が中途半端な状態で復号化されてしまうため、その領域に書き込まれていたデータが破損する。(経験談)
また、感覚的にWindows上で暗号化/復号化するよりも時間がかかる。
おそらく高速にアクセスするための拡張ドライバー類が組み込まれていないのだろう。
打開策2 -- 準備が面倒だが、柔軟
Windows PE環境を利用すると、通常Windowsを起動するのと同様に、暗号化を一時的に外しHDDをアクセス可能状態にする。この環境の上なら、全体を復号化せずブートストラップやレジストリを修復することが出来る。
作成方法は以下にも書いてあるが、少々分かりづらいので補足する。
Enterprise Support - Symantec Corp. - Windows PE & BartPE Tools for Symantec Encryption Desktop 10.3.0
また、この環境を作成するために、現在Symantec Encryption Desktopを起動可能なシステムが必要となるので注意。(同じライセンスを使用している別のPCや、インストールDVD等から抽出する)
Windows PE環境の作成
まずはWindows PE 3.0環境を、Windows 7のWindows PE 3.0環境を作成するの手順に従って作成する。リカバリ対象のOSがWindows 7 64bitのため、copype.cmdにはamd64を指定し、64bitのWinPE環境を作成すること。
C:\>copype amd64 C:\winpe64その後、マウント等は行わずに次のステップに進む。
Windows PE環境のカスタマイズ
Symantec Encryption Desktopがインストール済みの環境から、以下のファイルを取り出し、C:\wdeなどにコピーしておく。- C:\Program Files (x86)\PGP Corporation\PGP Desktop\pgpbootb.bin
- C:\Program Files (x86)\PGP Corporation\PGP Desktop\pgpbootg.bin
- C:\Program Files (x86)\PGP Corporation\PGP Desktop\Stage1
- C:\Windows\system32\SHFOLDER.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPsdk.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\pgpsdknl.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPwd.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPcl.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPiconv.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPsdkUI.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPwdesdk.dll
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPwde.exe
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPwded.sys
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPsdk.sys
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPPE.exe
- C:\Program Files\PGP Corporation\PGP Desktop\WinPE\PGPStart.exe
Name SHA1 Bytes ------------- ---------------------------------------- --------- pgpbootb.bin 93209C01D726B785900E117B995971709854B881 8,192 pgpbootg.bin 9F08270A09D267137C77002DFADA35C2AF6D123D 1,048,576 PGPcl.dll BAD55B4CF041959303020F0830007F97ADF06754 9,817,216 PGPiconv.dll 182CEE63ED9193D528E1018122BA8D627D98A9E3 1,027,160 pgppe.exe B110AEFA6A730C6E2B15E521AB814B58CCB3656B 196,504 PGPsdk.dll 2D745A77028A01D2F1A66DEEE17A39C32C619B8D 2,422,376 PGPsdk.sys 611440A5373976D4CF3EC1F35120089C069FD1F8 52,328 PGPsdkNL.dll C4EE9FFF8E74A23F86B491DC0F980AF916CE01DF 499,824 PGPsdkUI.dll C94AC088FF399547BB540C9E3C0691D334C5C04C 435,464 pgpstart.exe 6BCCCAEB1977872901A62366CA68B169E38A5BE9 147,576 PGPwd.dll CBFB85E4B4FF32A54E23A3C0136B9F0D917750FA 728,520 PGPwde.exe 24D632DBD34F23C1A9B0CC85B27CFB6D89B7DC2C 923,184 PGPwded.sys 7E5DE744C56802AE1EE0D6C21887A8E3D407FE6F 379,344 PGPwdesdk.dll DA90E7CB0AC84B31691C932D92946B790AE5DBDE 1,352,688 shfolder.dll B098D9A6F551F764098E5F543F89B8F13A1772D0 10,240 stage1 B219B5A772746AA91B29C31AD631E2A5CAB6EBB6 512 ------------------------------------------------------------------ Total 16 Files 19,049,704 Bytesその後、pgppeコマンドを使用して、WinPE環境に組み込む。2-3分かかるので気長に待つこと。
C:\>cd c:\wde C:\wde\>pgppe /winpe c:\winpe64 c:\wde Successfully installed the WDE driver and tools into winpe.winpe.wimが更新されるので、これをboot.wimという名前でISO\sourcesにコピーする。(それ以外のパス、名前では失敗するので注意)
C:\wde\>cd C:\winpe64
C:\winpe64\>move winpe.wim iso\sources\boot.wim
1 個のファイルを移動しました。
CD/DVDメディアの作成
最後に、これをISO形式に変換し、CD/DVDメディアに焼く
C:\winpe64\>oscdimg -n -bC:\winpe64\etfsboot.com c:\winpe64\iso c:\winpe64\pgp_winpe.iso
OSCDIMG 2.55 CD-ROM and DVD-ROM Premastering Utility
Copyright (C) Microsoft, 1993-2007. All rights reserved.
Licensed only for producing Microsoft authorized content.
Scanning source tree
Scanning source tree complete (21 files in 9 directories)
Computing directory information complete
Image file is 195057664 bytes
Writing 21 files in 9 directories to c:\winpe64\pgp_winpe.iso
100% complete
Final image file is 195057664 bytes
Done.
USBメモリの作成
CD/DVDドライブが無い場合などは、こちらの方法と同じやりかたでUSBメモリに作成する。FAT32でパーティションをフォーマットした後、
C:\winpe64\>xcopy iso\*.* /s /e e:\ iso\bootmgr iso\bootmgr.efi iso\boot\bcd iso\boot\boot.sdi iso\boot\bootfix.bin iso\boot\efisys.bin iso\boot\efisys_noprompt.bin iso\boot\etfsboot.com iso\boot\fonts\chs_boot.ttf iso\boot\fonts\cht_boot.ttf iso\boot\fonts\jpn_boot.ttf iso\boot\fonts\kor_boot.ttf iso\boot\fonts\wgl4_boot.ttf iso\EFI\boot\bootx64.efi iso\EFI\microsoft\boot\bcd iso\EFI\microsoft\boot\fonts\chs_boot.ttf iso\EFI\microsoft\boot\fonts\cht_boot.ttf iso\EFI\microsoft\boot\fonts\jpn_boot.ttf iso\EFI\microsoft\boot\fonts\kor_boot.ttf iso\EFI\microsoft\boot\fonts\wgl4_boot.ttf iso\sources\boot.wim 21 個のファイルをコピーしました
起動
Windows PE環境を起動すると、既にPGP機能が組み込まれた状態になっている。USBメモリ経由でブート出来ない場合は、USB 3.0ポートでなくUSB 2.0ポートを使用する、FATではなくFAT32でフォーマットされていることを確認すること。
pgpwdeコマンドを利用して、ディスクの状態を確認してみる。
ここでエラーが発生した場合、Windows PEとコピーしたPGPファイルのOSアーキテクチャが一致していない可能性がある。
X:\windows\system32>wpeinit X:\windows\system32>pgpwde --enum Total number of installed fixed/removable storage device (excluding floppy and CDROM): 1 Managed disks: Disk Group xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx: Disk 0 has 0 online volumes: Request sent to Enumerate disks was successfull X:\windows\system32>pgpwde --disk 0 --status Disk 0 is instrumented by bootguard. Current key is valid. Drive encrypted Total sectors: 125044736 highwatermark: 125044734 reserved start sectors: 2 Authentication needed to decode disk session key. Request sent to Disk status was successful当然のことながら、Cドライブは見えない。
X:\windows\system32>dir c:
このボリュームは認識可能なファイル システムではありません。
必要なファイル システム ドライバーがすべて読み込まれているか、ボリュームが壊れて
いないか確認してください。
上記が確認できたら、一時的に復号化してマウントしてみる。X:\windows\system32>pgpwde --disk 0 --auth -p 認証パスワード Request sent to Authenticate disk was successful X:\windows\system32>pgpwde --enum Total number of installed fixed/removable storage device (excluding floppy and CDROM): 1 Managed disks: Disk Group xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx: Disk 0 has 2 online volumes: volume C:\ Request sent to Enumerate disks was successful Request sent to Enumerate disks was successfullすると……
X:\windows\system32>dir c:
ドライブ C のボリューム ラベルは システムで予約済み です
ボリューム シリアル番号は xxxx-xxxx です
C:\ のディレクトリ
ファイルが見つかりません
という具合に、アクセス可能となる。dir例は省略するが、この場合DドライブがWindowsやMy Documentsが含まれるディスクなので、それに対してブート領域の修復、あるいはデータの救出などを行えばよい。
このメンテナンス用USBメモリーは時間のあるときに1本作っておくと、ブート障害が起こったときの強い味方となるのでお勧め。