Windows10へのアップグレードエラー

はじめに

Windows7やWindows8.1からWindows10へのアップグレードの際にエラーでインストールが止まってしまう現象が発生。少しもたついたのでその際の対応についてメモる。
数台のパソコンにDVDからインストールしたが,発生したエラーは2種類。
Windows のアップグレードとインストールに関するエラーのヘルプ – Microsoft サポート

エラー0xC1900101 – 0x30018

0xC1900101 – 0x30018
SYSPREP_SPECIALIZ 操作中にエラーが発生したため,インストールは FIRST_BOOT フェーズで失敗しました

通常、0xC1900101 で始まるエラーはドライバーのエラーが原因らしい

エラー0x800707E7 – 0x3000D

0x800707E7 – 0x3000D
MIGRATE_DATA 操作中にエラーが発生したため,インストールは FIRST_BOOT フェーズで失敗しました

エラー コード「0x800707E7」は、誤ったインストールや、失敗したソフトウェアのインストールまたはアンインストールによってシステム要素に残ってしまった無効な項目のせいで発生する不具合の1つで、不要なユーザープロファイル削除等で解消されることがあるらしい。
Windows10 20H2へのアップデートが失敗する(エラー0x800707e7) – Microsoft コミュニティ

インストール成功時の対応状況

0xC1900101

0xC1900101 で成功した例であり,0x800707E7では効果なし。
1.ウィルス対策ソフト無効,スタートアップのアプリ無効化
2.インデックス再作成(保存場所をデフオルトから変更したらダメみたい)効果のほどは?
3.外部との無用なアクセスを全て遮断する為にLANケーブル外し再起動後,「local_administrator」でログイン。
4.インストール時のオプション変更(インストール時のダウンロード実行しない・品質向上に協力のチェック外す)
スタートアップのアプリ無効化が効いたような気がする。

0x800707E7

0x800707E7はユーザープロファイルが怪しいようなので調べてみた。
複数のユーザーが登録されているが,不要な隠れユーザーは登録されていない。
とりあえず,cドライブのバックアップを取ってから「administrator」以外のユーザープロファイルを削除してインストールしたら上手くいった。ということはユーザープロファイルに問題があるということになる。一旦バックアップから復元して、次にエクスプローラーから個別に削除してみることにしたが,C:\Usersの配下にある一部ユーザーの一部データがコピーや削除が出来ない。ユーザープロファイルデータにはいくつかこのような無効なファイルが存在していて悪さしているような気がする。ここからは試行錯誤して地道に無効なファイルを削除していくしかないが,使用頻度の少ないユーザープロファイルはバッサリ削除する。administrator自身に問題があるようなら管理者権限を持つローカルユーザーを作成し、それを使用してログインして,administratorのユーザープロファイルを削除する。

ユーザーアカウント管理画面へは「管理ツール」「コンピューターの管理」「ローカルユーザーとグループ・ユーザー」 で開く
 ユーザーアカウントを削除するとユーザープロファイルも一緒に削除される

ユーザープロファイル管理画面へは「システム又はコンピューター・プロパティ」 (「システム情報」) 「システムの詳細設定」「詳細設定タブ・ユーザープロファイル」で開く
 ユーザープロファイルを削除してもユーザーアカウント削除されない


<エラー発生のユーザープロファイルパスの一例>
C:\Users\username\AppData\Local\Packages\winstore_cw5n1h2txyewy\LocalState\Cache\0
このパスで削除できないユーザーが複数あった。

エラーファイル修復(削除)

ユーザープロファイルのエラーファイル

パス名+フアイル名の長さがエクスプローラーで扱える長さ(最長で244文字または255文字)を超えているのでコピーできない。今回はパス名からwinstoreのキャッシュのようなので,削除しても影響ないと判断した。問題があればディスク単位でバックアップを取っているので,復元できる。

長いフアイル名が存在するフォルダーを管理者権限でのコマンドプロンプトを開き強制削除する。

rmdir /s /q C:\Users\username\AppData\Local\Packages\winstore_cw5n1h2txyewy\LocalState\Cache\0

修復を諦めて裏ワザ?

ユーザープロファイルは,Windows10に引き継がせるために全て残せばよいのだが,エクスプローラーでコピー出来ないファイルが存在するなどの怪しいユーザープロファイルは,ファイル単位での修復(削除)を試みようと思ったが,結構大変なのでファイル単位の修復は諦めた。

イチかバチかC:\Users\のユーザープロファイルデータには手を付けないで,怪しいユーザープロファイルレジストリーをエクスポート後,一旦削除してWindows10インストール後に、インポートで復元する方法を試してみたら,見た目は正常にインストールされたように思える。復元したレジストリーのユーザーもログオン可能で以前のデータが引き継がれている。互換性があるようだ。

Windows10インストール時に、引き継ぐユーザープロファイルデータの矛盾やゴミをインストーラーがチェックしているようだ。ユーザープロファイルレジストリーを削除したことにより,問題のあるユーザープロファイルデータが残っていてもチェックしにいかないのかも。レジストリー削除しないで残したユーザーの長いファイル名のデータがあったが問題なかった。関係ないのか。基本今までのバージョンで問題なかったので大丈夫だとは思うが,前バージョンのゴミがそのまま引き継がれるのでその覚悟で使用する必要がある。とは言っても,ユーザープロファイルなので影響はそのユーザー内に留まり,システム全体に影響することは無い。と思う。

裏ワザ?手順

事前にレジストリーバックアップ(エクスポート)を取ってから該当のユーザープロファイルのレジストリーを削除した。Windows10インストール後にインポートする。
<ユーザープロファイルレジストリーパス>
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
のProfileImagePathのデータに紐づくユーザーのパスを確認できる。

1.「ファイル名を指定して実行」画面から
「regedit」を入力してレジストリーエディターを起動

2.「ProfileList」まで移動して右クリック後,「エクスポート」選択して,ファイルを保存

3.順番に選択して削除するユーザーを確認する。ProfileImagePathでユーザー名確認後,右クリックで「削除」選択。
「administrator」以外を削除する。

4.Windows10をインストールする。失敗時は削除していないユーザープロファイルに問題の可能性がある。管理者権限を持つローカルユーザーを作成し、それを使用してログオンして,残ったユーザープロファイルを削除する

5.レジストリーエディターを起動して,エクスポートしたファイルをインポートする。

6.「ProfileList」まで移動して,ユーザープロフアイルが追加されたことを確認

インストール画面

初期画面

オプション選択画面

オプションを変更する
・今は実行しない
・品質向上のチェック 外す

ライセンス条項同意画面

同意する

インストールに必要な作業確認画面

非互換性ソフト確認画面

MS製ソフトの非互換が表示される。
サードパーティ製ソフトはインストール完了後に無条件に削除したと表示される。

インストール準備完了画面

個人用ファイルとアプリを引き継がなければ,ユーザープロファイルは気にする必要はないのかな

インストール中画面

更新プログラム構成画面

進捗30%と75%で再起動する。
インストール失敗時は,ここで「コンピューターに対する変更を元に戻しています…」と表示され再起動して前バージョンのWindowsが起動する。ログイン後にインストールエラー画面が表示される。

アップグレード後の処理

Windowsライセンス認証

アップグレード後はまだLANケーブルを接続していないので,Windowsのライセンス認証がされていない。LANケーブルを接続して再起動後に自動で認証される。

インストール直後は,まだ認証されていない。

LANケーブルを接続して,再起動後に認証済となる。

エラー表示

1.Windowsのバージョンが変わったことによりアップグレード後にエラーが表示されることがある。下記はグラフィックボードのプログラムエラー

Microsoft Visual C++ Runtime Library
Runtime Error!
Program C:\WINDOWS\system32\atibtmon.exe

This application has request the Runtime to terminate it in an unusual way.
Please contact the application's support team for more infomation.

下記の対応で改善する 
Atibtmon.exeのランタイムエラーが出る時の対処法 – Windows (itojisan.xyz)

2.Windows10で動作しないソフトは削除された旨のメッセージが表示される。

3.ユーザープロファイルのレジストリーを削除しなかったユーザーでログオンすると「このワークステーションとプライマリ ドメインとの信頼関係に失敗しました。」と表示されログオンできない現象が発生。ユーザープロファイルのレジストリーを削除してインストール後に復元したユーザーは問題なかった。
ドメインからコンピューターを削除し、その後でコンピューターをドメインに接続で解決した。ユーザープロファイルデーターに何らかの変更が加えられた可能性がある。

4.ユーザープロファイルのレジストリーを削除して復元したユーザーで不具合あり
右下の通知(吹き出し)をクリックで本来,通知画面が右からスライドしてくるはずだが出てこない。このあたりの機能をインストール時にユーザープロファイルデーターに追加しているような気がする。新しいアカウントを作成して徐々にこのユーザーデーターを移行して,最終的にはこの裏ワザアカウントを削除するか。

Windows Update

アップグレード後にLANケーブルを接続して,再起動後にWindows Updateを実行する。この際にインストール中にダウンロードしなかったWindows10用ドライバー等がインストールされる。

考察

長年使用して、サードパーテイのソフトをインストールしたりして,いろいろなゴミが溜まっているものだ。Disk単位でバックアップを取ってから試行錯誤して原因を突き止めて最後は裏ワザ的な方法でアップグレード出来たが、他に方法があるのかも。今回の裏ワザは一時的な手法としてとりあえずデーターを引き継ぐ場合に効果があるが,最終的にはアカウントを削除して新規にアカウントを作成したほうが良さそう。ハードは前バージョンのままなのでWindows10で限界のような気がする。次はハードの更新が必要だな。

バックアップに使用したSSD/HDDスタンド