Surfaceの初期化を何度も繰り返しても途中で「PCの回復中に問題が発生しました。」と失敗しましたが、最終的に解決できたのでメモ。
結論から言うと
Surface を工場出荷状態にするための復元作業として回復イメージの展開が進む中、Windows RT tools が入る回復パーテーションのサイズが小さいため展開しきれず復元に失敗していました。回復ドライブ(USBメモリ)にOSやSystem領域など各パーテーションのサイズを定義するテキストファイルがあるのですが、それをメモ帳で開き、回復パーテーションに割り当てるサイズの指定をデフォルトの 460MB から 1GB(1024MB) に増やしたところ、うまくいきました。詳しい方法は以下に記載します。
工場出荷時に復元できない Surface Pro 3
事の発端は、Windows Update に失敗したのか、電源を投入し Suraface のロゴが表示され、「修復しています」と出ては再起動になり、電源を入れたら永遠に再起動ループに陥る Suraface Pro 3 の修理を依頼されたことから始まりました。ハードウェアの異常ではなく、OSの異常のようなので、OSをクリーンインストールすることにしました。
USBメモリで回復ドライブを作る
Surface に Windows 10 をクリーンインストールするには普通のPCと違って Windows 10 のインストールメディアがあればいいって訳ではなく、Surface 専用の回復イメージの入った回復ドライブ(USBメモリ)からインストールしなければなりません。そこで材料として以下の物が必要です。
準備するもの
- Surface 回復イメージ
- Windows 10 のPC
- 8GB以上のUSBメモリ
Surafece 回復イメージはMicrosoft の「Surface回復イメージをダウンロードする」のページから Windows 10 の回復イメージ(ZIPファイル)を適当なPCでダウンロードします。ダウンロードには Surface のシリアルナンバーが必要です。
USBメモリは予め、FAT32でフォーマットしておきます。USBメモリはなるべく容量の大きいものを使うのが無難です。8GB以上を推奨と書いてあるので、16GBか32GBくらいの物を用意しましょう。あと、汎用性の高いUSB2.0の規格の物を使いましょう。USB3.0でも大丈夫かもしれませんが、型の古い Suface や Windows 8.1 だと回復ドライブに使えなかったり認識されない可能性がありますので、回復ドライブ用にUSBメモリを買うときは注意してください。
私は今回USB3.0(USB2.0対応)で16GBのUSBメモリを使用しました。このUSBメモリで回復ドライブを作成するためには Windows 10 のPCで、[コントロールパネル]-[すべてのコントロールパネル項目]-[回復]-[回復ドライブの作成] から行います。
ダウンロードした回復イメージ(ZIPファイル)は解凍して、解凍した中身を作成した回復ドライブ(USBメモリ)に全部コピーします。重複するファイルやフォルダは全て上書きします。これで Surface を初期化するための回復ドライブ(USBメモリ)は出来上がりです。
回復ドライブ(USBメモリ)から復元できないエラー発生!
出来上がった回復ドライブ(USBメモリ)を Suface に挿して電源ボタンを押すと、回復ドライブ(USBメモリ)から Suraface が起動しメニューが表示されるので、 [トラブルシューティング] - [ドライブから回復] を選択します。
次に、 [ファイルの削除のみ行う] または [ドライブを完全にクリーンアップする] を選びます。
[回復] ボタンを押すと復元が始まります。
ところが、何度やっても特定のタイミングで復元が失敗します。[ファイルの削除のみ行う] の場合、20%時点で失敗し、 [ドライブを完全にクリーンアップする] の場合、47%時点のところで数秒停滞します。
停滞を待っていると以下の「PCの回復中に問題が発生しました。」というエラーで復元が失敗しました。何度やっても同じところで同じエラーが出ました。
なぜか回復パーテーションにファイルが展開されていない
USBメモリの [sources]フォルダ に 「CreatePartitions-UEFI.txt」 というファイルがあります。
このファイルは同じ階層にある ResetConfig.xml から呼び出されるファイルで、ドライブのパーテーションを作成するための DISKPARTコマンド が書いてあります。復元時に使用されるドライブレターの指定は Windows(OS)の入るパーテーションが W で、Windows RT tools が展開される回復パーテーションは T となっていました。
ドライブの中を確認してみる
ドライブの中のファイルはどんな感じで展開されているのかな?と、 [トラブルシューティング] - [詳細オプション] から [コマンドプロンプト] を起動しました。
まずは Wドライブ(Windowsの入るパーテーション)の中身 を見るために
dir W:\
と打ったら 「Program Files」 や 「windows」フォルダ が確認できましたので、OSの部分はイメージが正常に展開されていました。
ところが、
dir T:\
で Windows RT tools は展開される回復パーテーションの中身を見ると空でした。DISKPART で list part や list volume のコマンドでパーテーションの容量を見ても OMB でした。
どうやら回復パーテーションに Windows RT が展開できていないようです。
試しに手動で展開したら容量不足のエラーになった
自動で展開できないのなら手動で展開してみようと、そのままコマンドプロンプトから DISMコマンド で回復パーテーション(T:\)に展開される予定のイメージが回復ドライブ(USBメモリ)内にある boot.wim を以下のコマンドで展開してみました。( boot.wim はUSBメモリの D:\sources の中にあります。)
Dism /apply-image /imagefile:D:\sources\boot.wim /index:1 /ApplyDir:T:\
すると、容量が足らないとエラーを表示して展開が途中で中断してしまいました。
回復パーテーションの容量を1GBにしたら成功!
もしかして、原因は回復パーテーションのサイズ(容量)不足か!?ということで、試しに別のPCで回復ドライブ(USBメモリ)内の [sources]フォルダ にある 「CreatePartitions-UEFI.txt」 を開き、回復パーテーションの容量を初期値の 460MB から 1024MB(1GB) に変更して保存しました。
再度、回復ドライブ(USBメモリ)を Surface に挿し、起動したメニューから [トラブルシューティング] - [ドライブから回復] - [ファイルの削除のみ行う] - [回復] を実行したら100%まで進み Surface のリセット(復元)が成功しました!
最後に
無事復元できてよかったです。更にこの問題の解決策を1日で見つけることができてよかったです。っていうか、Microsoftがこんな復元に使えないものを配布していたらいけないですよね。何もわからない素人からしたら「Surfaceのハードウェアきっと壊れたんだな」と勘違いしそうですよね。私も症状を確認した当初はDISKがイカれたか?と一瞬思いました。ちゃんと検証してから配布して欲しいですね。
参考ページ
- Surface の回復イメージをダウンロードする
- ベア メタル リセット/回復: ユーザーが回復メディアを作成できるようにする
- ResetConfig XML リファレンス
- PC のリカバリー機能を展開する
- install.wim や install*.swm から HDD を復元する
- Windows 10をクリーンインストールする前にひと工夫、回復パーティションの増殖を防ぐ方法(更新)
- Windows 10のリカバリ用に用いられる簡易版Windows「Windows RE」の中身を見る
- Windows 10を回復ドライブからリカバリーしようとしたときに出るエラーの解決方法
- Windows10で作成した回復ドライブを使用時の不具合