4KBセクターHDDをブートドライブとした場合にNTFS圧縮は利用できません。
更新日:2014年11月28日
概要
本ページでは、4KBセクターHDD上にインストールしたWindows Server 2012 R2が起動できくなる現象の回避策について説明します。
障害内容
4KBセクター HDD から Windows Server 2012 R2 を起動する環境で STOP 0x0000007E が発生し、システムが起動できなくなる
場合があります。一度現象が発生すると、「回避策(対処方法)」の対処を実施するまでシステムが起動できなくなります。
発生条件
本現象は、以下の条件をすべて満たす場合に発生します。
・4KBセクターHDD から Windows Server 2012 R2 を起動している。
・ドライバファイルが NTFS 圧縮されている。
※512e (Advanced Format) では本現象は発生しません。
回避策(対処方法)
NTFS圧縮機能を無効化することで事前に本現象を回避できます。また、すでに本現象が発生してシステム起動ができない場合
についても、本対処法で復旧できます。
なお、OSセレクトG/Hと4KBセクター HDDが発注された場合には、 NTFS
圧縮機能を無効化した状態でプレインストールされているため、本現象は発生しません。
以下の操作手順を実施して、現象を回避します。
1. Windows Server 2012 R2 の OS インストール媒体の準備
2.ドライバファイルの圧縮有無の確認
3.ドライバファイルの圧縮解除
4.NTFS 圧縮機能の無効化
なお、すでに本現象が発生してシステム起動ができない状態の場合、OS インストール媒体を準備し、手順3. (ドライバファイル の圧縮解除) から対処を実施します。
1.Windows Server 2012 R2 の OS インストール媒体の準備
手順 3. (ドライバファイルの圧縮解除) で回復環境を起動するために使用する、 Windows Server 2012 R2 の OS
インストール媒体を準備します。
2.ドライバファイルの圧縮有無の確認
以下のコマンドで、ドライバファイルの圧縮有無を確認します。コマンドの実行結果で、 ”圧縮ファイル 0”
と出力されていれば、ドライバファイルは圧縮されていません。
>compact C:\Windows\system32\drivers\*.sys
実行結果例
C:\Windows\System32\drivers\ の一覧
新しくこのディレクトリに追加されるファイルは、圧縮されません。
54784 : 54784 = 1.0 : 1 1394bus.sys
164864 : 164864 = 1.0 : 1 1394ohci.sys
:
155136 : 155136 = 1.0 : 1 WUDFRd.sys
1 ディレクトリ内の 318 ファイル
圧縮ファイル 0、非圧縮ファイル 318。
合計 65,325,296 バイトのデータが、65,325,296 バイトに格納されました。
データの圧縮率は 1.0 : 1 です。
>
ドライバファイルが圧縮されている場合、手順 3. (ドライバファイルの圧縮解除) を実施します。
ドライバファイルが圧縮されていない場合、手順 4. (NTFS 圧縮機能の無効化) を実施します。
3.ドライバファイルの圧縮解除
以下の手順に従って、回復環境からドライバファイルの圧縮を解除します。
@ OS インストール媒体からシステムを起動し、 [コンピュータを修復する] を選択します。
A オプションの選択画面で [トラブルシューティング] を選択します。
B 詳細オプションの画面で [コマンドプロンプト] を選択します。
C 以下のコマンドを実行し、ドライバファイル、および、実行可能ファイル (.exe) の圧縮属性を解除します。
C: ドライブにシステムドライブがマウントされている場合の例 (※)
>C:\windows\system32\compact.exe /u c:\windows\system32\drivers\*.sys
>C:\windows\system32\compact.exe /u c:\windows\system32\*.exe
>
なお、実行可能ファイル (.exe) が NTFS 圧縮されていても、本現象が発生することはありませんが、プロセスの 不正終了が発生する可能性があるため、システムの正常稼動の観点から、実行可能ファイルについても圧縮を解除します。
D 以下のコマンドを実行し、ドライバファイル、および、実行可能ファイルが圧縮されていないことを確認します。
C: ドライブにシステムドライブがマウントされている場合の例 (※)
>C:\windows\system32\compact.exe c:\windows\system32\drivers\*.sys
>C:\windows\system32\compact.exe c:\windows\system32\*.exe
>
確認内容は、手順2. ドライバファイルの圧縮有無の確認 と同じです
E コマンドプロンプトを終了し、オプション選択画面で [PC の電源を切る] を選択します。
※環境によっては、システムドライブが C: ドライブにマウントされていない可能性もありますので、ご注意ください。
続いて、手順 4. (NTFS 圧縮機能の無効化) を実施します。
4.NTFS 圧縮機能の無効化
以下の手順に従って、NTFS 圧縮機能を無効化します。
@ 管理者権限を持つユーザでログインします。
A コマンドプロンプトを起動し、以下のコマンドで NTFS 圧縮機能が有効となっているかを確認します。
>fsutil behavior query disablecompression
>
実行結果が “DisableCompression = 1” と出力された場合、NTFS 圧縮機能はすでに無効な状態となっているため、
以降の作業を実施する必要はありません。
実行結果が “DisableCompression = 0” と出力された場合、B 以降の手順を実施します。
B 以下のコマンドを実行し、NTFS 圧縮機能を無効にします。
>fsutil behavior set disablecomperssion 1
>
C システムを再起動します。
D 以下のコマンドを実行し、NTFS 圧縮が無効 (DisableCompression = 1) となっていることを確認します。
>fsutil behavior query disablecompression
>
注意事項
上述の対処を実施すると、システム全体で NTFS 圧縮の機能が無効になります。このため、システムに存在する他のボリューム でも NTFS圧縮は利用できません。なお、既に NTFS 圧縮されているファイルの参照や圧縮解除については可能です。