こんにちは!今回はWindows10のOS更新時に「0x8007042B」で失敗するケースについて記事にしていこうと思います。このエラーはWindows10のリリース後から非常に厄介な問題として長く存在し続けています。
ある意味この問題が解決できるのであれば他の更新失敗でも対応できるのではないかと思うくらい、さまざまな手段講じる必要があります。
私もこの問題については長い事悩まされてきました。今現在までの調査結果と私なりの解決方法をまとめてご紹介させていただきます。
- 事象
- 原因
- 解決方法
- ユーザープロファイルリストに存在しないフォルダやファイルがプロファイルディレクトリに存在する
- ユーザープロファイル内に破損しているファイルがある
- プロファイル内にプロファイルが存在している ※2021/2/12追記
- ゴミ箱が壊れている
- マルウェア・ウィルス対策などのセキュリティツールがファイルをロックしている
- Microsft Storeが更新中、もしくはストアアプリが破損している
- システムファイルに破損しているファイルがある
- 容量の小さいファイルが大量に存在する
- 周辺機器がファイルをロックしている
- ドライバが新しいWindowsに対応していない
- OneDriveが同期中でファイルをロックしてしまっている ※2021/2/12追記
- あとがき
事象
OSの機能更新プログラム(以下:FU)で更新したときに1回目の再起動後、特定のパーセンテージから処理が進まなくなる。そのまま放置したり、途中で電源を落としたりすると、システムの復元が始まり、もとのOSバージョンに戻ってしまう(以下:ロールバック)
その際に、セットアップの小窓が開き、「0x8007042B - 0x3000D MIGRATE_DATE 操作中にエラーが発生したため、インストールは FIRST_BOOT フェーズで失敗しました」と表示される。
また別のパターンとして、「0x8007042B - 0x3000D」のほかにも下の表のようなパターンが確認されています
エラーコード | フェーズ | パーセンテージ |
0x8007042B - 0x2000D MIGRATE_DATE | SAFE_OS フェーズ | 30%程度 |
0x8007042B - 0x3000D MIGRATE_DATE | FIRST_BOOT フェーズ | 48%程度 |
0x8007042B - 0x4000D MIGRATE_DATE | SECOND_BOOT フェーズ | 89%程度 |
0x800700B7 - 0x2000A PREPARE_FIRST_BOOT | SAFE_OS フェーズ | 30~40%程度 |
どれも似たような動作をするのですが、パーセンテージやエラーメッセージはそれぞれ違います。また、時間をたんまりかけてからロールバックする性質のため、これが発生するとなかなか試行錯誤にも時間がかかってしまいます。
原因
WindowsSetupがコピーや移動のできないファイルが存在する場合に発生すると思われます。
この発生原因は特定が困難なので割愛しますが、ほぼ利用者の使い方の問題であったり、イレギュラーな操作をしてしまい破損させてしまったりすることが多いようです。
それによって発生したコピーや移動ができないデータが、OS更新の時に引っかかってしまい、そのまま進まなくなってしまう・・・という流れになります。
エラーメッセージ中にある「MIGRATE_DATE」の操作中に起きたエラーというのがほぼすべてを物語っていましたね。
原因は非常に単純ですが、その発生源は本当に多岐に渡ります。よくよく使用者に聞き取りをして推理していかないとなかなかその原因にたどり着くことはできません。
私の出会ったケースのみになりますが、その解決方法を載せておきます。
解決方法
ユーザープロファイルリストに存在しないフォルダやファイルがプロファイルディレクトリに存在する
私が確認したケースで最も多いのがこのパターンです。
%USERPROFILE%内に余計なデータがあるとMIGRATE_DATEエラーでOS更新が失敗します。
ユーザープロファイルのあるディレクトリはOSによって管理されています。
システム情報を見て余計なデータがないか確認してみましょう。
まずは「検索バー」から「システムの詳細設定の表示」入力し、検索結果をクリックします。
「システムのプロパティ」が開きますので、「詳細設定タブ」内にあるユーザープロファイルの項目の「設定」ボタンをクリックします。
すると、そのPCを使用している人のプロファイル一覧が表示されます。
そのうち、名前の列にある最後の¥の後にある文字列がユーザープロファイル内にあっても良いフォルダ名になります。
※「既定のプロファイル」は「Default」ユーザーのプロファイルですので存在していても大丈夫です。「パブリック」もシステムで使われているフォルダなので問題ありません。
この情報をもとに、不必要なファイルやフォルダがユーザープロファイルのディレクトリ内にあった場合
恐らく、データのバックアップなどを行おうとしてこのような事になってしまったのではないかと思います。プロファイルディレクトリ内に余計なデータを置かないようにしましょう。
ユーザープロファイル内に破損しているファイルがある
先ほどはユーザープロファイルの置いてあっるディレクトリの話でしたが、今度はプロファイルの中身が原因のケースです。
ファイルの破損はほとんどの場合、通常通り削除することができますので、明らかに破損しているファイルは削除してしまいましょう。
ですが壊れ方によっては、きちんと削除が行われずそのまま存在し続けることがあります。そうなってしまうと、地縛霊のように動かせもせず、消せもしないということでコピーが失敗します
この場合、専門的なツールを使うのが近道のことが多いのですが、個人的にオススメしたいのはプロファイルを一度プロファイルディレクトリから移動したり、プロファイルフォルダをリネームしてしまうことです。
これによって復旧するケースも見られました。
しかしプロファイルを手動で操作することは知識や経験のいる作業になりますので、自身のない方は別の手段を検討したほうが良いと思います。
また、単純に不正なファイル名(名前が長すぎる・不正文字が含まれる)などの場合もあります。
動かせないデータが特定できる場合はそういった部分を観察してみるといいでしょう。
プロファイル内にプロファイルが存在している ※2021/2/12追記
ユーザープロファイルはユーザーのデータの他にシステムが使用するファイルも内部に保存されています。そのため、ユーザープロファイルの中にユーザープロファイルそのものをコピーしたものが存在しているとエラーになってしまいます。
よくあるケースとしては、ユーザーが自分のドキュメントやOneDrive等にバックアップとして、ユーザープロファイルそのものをそのままコピーしている場合です。
その場合はCドライブ直下など、プロファイルに関係のない場所に退避させて実行するとうまくいくことがあります。
プロファイルを探す場合は下記の記事を参考にしていただければと思います。
ゴミ箱が壊れている
プロファイル内に特に問題のあるファイルがいつからない場合はゴミ箱を参照してみるといいと思います。
ゴミ箱は実はドライブパーティションごとに設定されており、各プロファイルに紐づいた形で存在しています。
普段はシステム保護データとして非表示になっており見ることができないのですが、下記の手順をすることで見ることができます。
まずはローカルディスクを開きます。
すると上部メニューに「表示タブ」がありますのでそれをクリックし、「オプション」をクリックします。
するとフォルダーオプションがひらかれますので、「保護されたオペレーティングシステムファイルを表示しない」のチェックボックスをクリックしてチェックを外し、「OK」ボタンを押します。
その際警告メッセージが表示されますが、「はい」をクリックして作業を進めましょう。
表示設定が正しく行われると先ほどのローカルディスクの画面に「$Recycle.Bin」が表示されていると思います。これがゴミ箱の実体ファイルになります。この中身にそれぞれのプロファイルでゴミ箱に贈られたファイルが格納されています。
私のやり方では、この「$Recycle.Bin」ごとすべて完全削除してから再起動をすることで不正なファイルを削除することができました。※別のOS環境でないと削除することができないこともあります。その場合はLinuxやWindowsPE環境などを別途ご用意ください。
作業完了後は先ほどの手順を参考にシステム保護を有効にもどしてくださいね。
マルウェア・ウィルス対策などのセキュリティツールがファイルをロックしている
これも頻繁に起こる事象なのですが、セキュリティ対策ソフトがシステムファイルをつかんでいたり、検索中だったりしてファイルが動かせない状態にしてしまうケースです。稀にウィルスに感染しているファイルを隔離する動作の中で動かせないというパターンも存在しました。
一番多かったのは振る舞い検知型と呼ばれる、怪しい動きをするソフトを自分で判断して止めてしまうツール類がインストールされていると、本エラーに発展してしまうことが多いです。質が悪いのがWindowsUpdateそのものがシステムファイルを弄りますよね・・・。あとはお察しの通りです。
こういった場合ですと、そのウィルス対策ツールを一時停止したり、アンインストールしてから実行するとうまくことが多いです。
ですが、一時でもセキュリティが弱くなってしまうので、これを行う際はあらかじめセキュリティソフトの全体フルスキャンをかけてから、ネットワークから隔離した状態で行うほうが良いと思います。
本当にウィルスに感染していたとしたら、取り返しのつかないことになってしまいます。
Microsft Storeが更新中、もしくはストアアプリが破損している
FUでは、Windows本体のほかにインストールされているストアアプリも更新する動きが含まれます。
よって、ストアアプリが破損していたり、標準でインストールされていないといけないストアアプリがないなどでエラーになってしまうこともあります。
かつて、Windows10 Build.1511や1607の頃は今よりもっと成功率のストアアプリ依存度が高かったので、すべてのストアアプリをアンインストールしたり、特定のストアアプリをインストールしないとFUできないということも多かったです。
ストアアプリの修復はこちらの記事に詳しく載せてありますので、参考にしてください。
システムファイルに破損しているファイルがある
この場合は単純に破損したシステムファイルを移動できずにエラーになってしまうケースです。
システムファイルの破損は通常の破損状態とは異なり、自動で修復されるものもあります。
しかし、この修復する動きがうまくいかないと、システムがロックしたままになってしまい、FUが失敗します。
また、手動で修復しようとすると、権限の問題で上書きしたり健全なWindowsからコピーしたりしようとすると弾かれてしまうことも多いです。
こういった場合は、各システム修復コマンドが有効です。
別の記事で詳しく紹介させていただいていますので、そちらを参照ください。
容量の小さいファイルが大量に存在する
このケースは大学の研究室や企業のビッグデータ解析ワークステーションで起きやすい現象です。
解析やシミュレーションを行うコンピュータは、ログや解析の一時ファイルなどといったファイルをものすごい大量に発生させてしまいます。プログラミング業務のある方やWebサーバなども起きる傾向が強いです。
私の知っている限りでは、VisualStudio、MATLAB、CATIA、AUTOCAD、Metasequoia、AdobeCCシリーズ(PhotoShopやIllustratorなど)がインストールされている環境でよく発生します。また、これ以外にもPHPの動作環境がインストールされていたり、SQLサーバとして動作していたりするケースも・・・。
とにもかくにもたくさんの小容量ファイルを持つ場合失敗してしまう・・・というよりかはものすごく更新に時間がかかってしまい、途中であきらめて電源を落としてしまいロールバックすることで、このエラーになっていることが多いです。
こういった場合は、一時的にその環境ごと別の保存場所に移動してしまうのが手っ取り早いかと思います。
「Cドライブ直下」に「一時退避」などの名前を付けて細かいファイルを一時的に移しておけば影響なく更新が進められるかと思います。
ちなみに、私が対応したケースで本エラーで失敗したと持ち込まれたパソコンで、FU実行したまま放置し7日後に完了したというケースがあります。
保存したドライブの性能にもよりますので、お気を付けください。
周辺機器がファイルをロックしている
このケースでは、周辺機器を取り付けたままFUを実行して失敗しているということです。
FU前には不必要な周辺機器は取り外して実行しましょう。
特に多いのが、ソフトウェアの認証を行うために付属する「USBドングルキー」と呼ばれるものが接続したまま実行されたケースです。
ドングルキーはその性質上、Windowsの内部になる認証情報と照らし合わせて動作します。
その使用しているファイルがロックされてしまい、FUに失敗してしまいます。
ドングルキーを使われている方は、別の要因としてドングルキーのドライバが時期OSに対応していないことも失敗の要因になりえます。
利用されている場合、ドライバを更新してから実行するとうまくいくと思います。HASP、akshasp.sys、Aladdinなどのキーワードに心当たりがあればアップデートしたほうがスムーズに更新できることが多いです。
ドライバが新しいWindowsに対応していない
先ほどのドングルキーのケースと同じようにドライバが古い場合、失敗することがあります。
この場合OS丸ごと仮想化して、仮想環境上でFUをすると成功することが多いです。
ですが、一般的な環境でそれを行うのは酷な気がします・・・。しかも、仮想環境上で成功したイメージを実機に書き戻してもドライバが古いせいで起動しなくなってしまうことも多いので悩ましいところです。
まずはドライバを新しくすることから始めてみると解決の糸口が見えてくるかもしれません。
他にも、ソフトウェアが仮想的に導入うしているドライバなどで問題が発生することも時々あります。
※DVDのISOイメージをマウントするソフトウェアなど
その場合はソフトそのものをアップデートするか、アンインストールしてください。ベンダーに確認して情報を集めるのもアリです!
OneDriveが同期中でファイルをロックしてしまっている ※2021/2/12追記
OneDriveはMicrosoftのサーバー上にファイルを同期させるツールの一つです。
これを使っている人はWindowsユーザーではかなり多いと思います。
このOneDriveは設定にもよりますがそのほとんどがユーザープロファイル内のフォルダを同期させています。そのため、OneDriveがロックしてしまいOS更新に失敗してしまうようです。
その場合は、OneDriveを終了したり、同期を一時停止してからOS更新を実行することで回避できるものが多いです。
タスクトレイの中のOneDriveアイコンを右クリックするとメニューが開きます。「OneDriveを閉じる」を押すと終了することができます。
同期の一時停止は同様に、メニューを開き、「同期の一停止」をクリック。すると停止時間の選択リストがでますのでどの程度止めるかを選んでクリックしてください。※8時間あれば通常であれば大丈夫でしょう。
恐らくOneDriveは、終了しただけでは再起動したときにまた起動してしまうため、同期の一時停止でトライしてみた方が良いかと思います。
※OneDriveはいくつものバージョンが存在するので、同様の画面にはならないかもしれませんのご注意ください。
あとがき
今回はWindows10のOS更新時に「0x8007042B」で失敗するケースについて解決方法を紹介させていただきました。
正直、本記事は「0x8007042B」どころか他の失敗ケースですら包括的に解決してしまう気がしてなりません。そのため、それ以外のエラーだったとしても参考になるのではないかと思います。
一つでも多くのエラーから復旧してもらえると嬉しく思います。
だいぶ大量の情報を羅列してしまいましたので、ある程度知識をもった方でないと実行に移すのは難しいと思います。そのうち個別に解説も含め今後記事にしていきたいと思います。
また、本解決方法はOSの重要なデータにアクセスしたり、操作を誤ると壊してしまう可能性が含まれます。実行の際は十分なバックアップをとり、自己責任で行ってください。
残念ながら、まだまだ100%解決するというところまで情報を収集できているわけではないと思っています。もし、提供していただける情報がありましたら、ぜひコメント欄に残していただけると嬉しいです。
何かのお役に立てれば幸いです。
コメント