Neutral Scent

App developments & Gadgets

Windows8.1で「ディスク領域が不足しているため」と言われシステムイメージバックアップの作成に失敗する場合の一時的な回避策(0x80780119)

要約:

  • Windows 8から8.1へアップグレードしたPCで、「システム イメージの作成」が0x80780119エラーで失敗する
    • ハードディスク内の「システムで予約済み」内で容量が足りなくなっているらしい
    • パーテーションサイズの変更などの荒業で解決する方法もあるが、できればやりたくない
  • コマンドラインでC:だけをシステムイメージバックアップに成功
    • wbadmin START BACKUP -backupTarget:X: -Include:C: -vssFull を実行
    • システム予約領域を残せないので起動可能なベアメタル回復はできないけどとりあえずvhdxさえあれば、という人はこれで
    • コマンドラインとか管理者権限がとかvhdxファイルがわかりません、という人にはおすすめしない方法

会社で新しいPCがもうすぐ来るのでそわそわしているid:kaorunです、こんにちは。
そんなわけで、今使ってるPCのディスクを念のためフルバックアップしようと思ったわけですが、


ディスク領域が不足しているため、保存場所にボリュームのシャドウ コピーを作成できません。バックアップするすべてのボリュームについて、シャドウ コピーの作成に必要な最小限のディスク領域が利用可能であることを確認してください。これは、バックアップの保存先と、バックアップに含まれるボリュームの両方について行う必要があります。
最小要件: 500 MB 未満のボリュームに対して 50 MB の空き領域、500 MB を超えるボリュームに対して 320 MB の空き領域が必要です。推奨事項: ボリュームのサイズが 1 GB を超える場合、各ボリュームについて、少なくとも 1 GB の空きディスク領域が必要です。(0x80780119)

こんなメッセージが出て、先に進みません。とほほです。
ちなみにWindows 8.1でシステムイメージの作成は、「コントロール パネル\すべてのコントロール パネル項目\ファイル履歴」で一拍待ってから左下に「システム イメージ バックアップ」が出るので、そこから起動するといいでしょう。
調べてみると、結構あちこちで起きているようです。

windows8.1 にアップしたら、システムイメージの作成できなくなった。(0x80780119) - windows8.1 - マイクロソフト コミュニティ
http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-performance/windows81/339f0693-cbea-40f5-9632-6c75f1fde54b
Cant backup 8.1 using system image backup! Error 0x80780119, Cant - Microsoft Community
http://answers.microsoft.com/en-us/windows/forum/windows8_1-system/cant-backup-81-using-system-image-backup-error/90e39029-ff0d-4318-8701-5f7078198cd0

ようするに、起動ディスク上に作成されている「システムで予約済み」という領域があり、これが起動時に必要なので強制的にバックアップに含まれるのですが、どうも8→8.1へのアップグレードの場合など、通常ユーザーから見えないこの領域の中がファイルでパンパンになり、バックアップに必要なボリュームシャドーコピーを作成できない状態に陥っているようなのです。
Windows 7時代の話ですが、以下のエントリーが詳しいです。

Windows7のシステムイメージの作成が失敗する場合の対処方法 - ごりぽんソフトウェア
http://d.hatena.ne.jp/goriponsoft/20130524/1369409810

で、解決方法としては

A. 「システムで予約済み」領域にどうにか空き領域を作ってやる
B. 何らかの別の方法でシステムイメージバックアップを作成する

ということになります。
A.に関しては、とりあえずドライブレターを振って中を見てみましたが、うちの環境ではユーザーがどうにかできるファイルが見当たらず、どうにもならなず。
先に挙げたMSコミュニティ(英語)などでは様々な策が取り上げられているのですが、基本パーテーションサイズの強制変更など力技が必要になるようです。
あー、やだなぁ、バックアップで危険な橋は渡りたくないよ、というわけで、Plan-Bを探っていたのですが、とりあえず思いついたのがコマンドラインでのバックアップ。

山市良のえぬなんとかわーるど: Windows 8.1 Preview > 機能は削除されてもフル バックアップがしたい
http://yamanxworld.blogspot.jp/2013/08/windows-81-preview.html

wbadmin START BACKUP を試みてみましたが、こちらもコントロールパネルから実行した場合と全く同じエラー。

んー、と唸っていましたが、よくよく再検討してみたところ、コマンドラインオプションの-allCriticalを外せばいいのではないか? という事で試してみたらC:ドライブのバックアップだけで進めることができました。

というわけで、最初の要約にも書きましたが、とりあえず起動ドライブ(C:)のバックアップさえvhdxで残れば十分という場合、

  • 管理者権限のコマンドプロンプトを開き
  • wbadmin START BACKUP -backupTarget:X: -Include:C: -vssFull
    を実行する(C:はバックアップするドライブ、X:はバックアップ先のドライブレター)

で起動ドライブのシステムイメージバックアップが作成可能なようです。「システムで予約済み」領域のバックアップが含まれないため、領域までまっさらなドライブに対しての復元による単純なベアメタル回復はできません。
というわけで、管理者権限とかコマンドラインとかわからないGUIで回復できないと困る、という人にはお勧めしませんが、とりあえずうちはこれでどうにかなったよ、という話です。