昨日10月4日は、Windows 10のの1809バージョンへのアップグレードを行いました。
まあわざわざブログに書いてるあたりからお察しのとおり、めちゃくちゃ詰まりました。忘れないうちにとりあえずメモ。
ProfileDirectoryを変更している場合の注意
以前にも書きましたが、うちの環境ではSHDD+SSDのコンボドライブ環境のため、ProfileDirectory(ユーザーの情報が保存されているフォルダ)の設定を変えています。 なので、前回と同様の手順でアップデートの時だけレジストリの値を元に戻します。
結論から言うと、PCを新調したときに、ユーザーフォルダをC:\UsersからD:\Usersに変えていたのが原因でした。ですので、
と、ここまではよかったんですが・・・。
同時にPC初期化もやったのがまずかった
ほかでもちょこちょこトラブルが起こっていたため同時にPC初期化。それが原因なのかセットアップ開始時にOOBEREGIONというエラーが発生。無視して進めても、ネットワーク接続直後にOOBEEULAというエラーが発生するという事態に。
今回もサポートの方に確認した結果、MediaCreationToolをUSBメモリに書き込み、クリーンインストールするという結果になりました*1。とりあえずこちらでクリーンインストールは成功。いやあ、大変だった。
とりあえず今回で学んだこと
- とりあえず、ProfileDirectoryの設定を書き換えているPCでの大型アップグレードは細心の注意を払って最悪クリーンインストールが発生する可能性があります
- クリーンインストール用のUSBメモリは必ず作っておきましょう。何かがあった時もこれを作っておくと安心です*2
- 何かあった時にデータ保護をしようとすると面倒なことになります(今回も「データは消しても構わない」ということでクリーンインストールできましたが、できなかったらどうなっていたことか)。OSアップグレードに限らずPCのローカルフォルダにあるデータは常にいつ消えてもいいようにしておくのが理想です*3。
おまけ:PC初期化完了後、やったことメモ
ついでに、今回はPCの初期化完了後の処理を、最初に設定したときから大きく変えてみました。結果かなりスムーズに作業が終わったのでメモ
- セットアップ時は、テンポラリなユーザーをオフラインアカウントで作成
- セットアップ完了後、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\ProfileDirectoryの値を変更する
- 新しいオフラインアカウントを作成する。ユーザー名は実際にユーザーフォルダに設定される(ので、私の場合は「TakamiChie」に設定。パスワードは適当)
- テンポラリユーザーからログアウトし、新しく作ったアカウントでログイン
- 新しく作ったアカウントのユーザーフォルダがD:\に作成されていることを確認してから、アカウントをマイクロソフトアカウントと関連付けする
- アカウントを管理者に設定する
- 最初に作ったテンポラリユーザーを削除する
- OneDriveやOffice 365 BusinessのOneDriveフォルダと接続する(時間がかかるのでなるべくはやめに)
いつのまにかオフラインアカウントを作成するとき、Apple風の秘密の質問を要求するようになっていました。めったにやらないこととはいえ面倒なことになりました。
あとはChocolateyをインストールして、必要なデスクトップアプリやストアアプリをインストールしなおせば完成です。
Scansnapのホットキーを動作しないようにする、PowerShellのプロンプトを変更するなどは、お好みで。
感想
ProfileDirectoryの変更、公式機能でサポートしてくれないですかね・・・ いちおうフィードバックには投げているし、ぼちぼち賛成票はあるようなのですが。
ついでにいろいろ調べていたらHDDが若干劣化傾向にある模様。予備を手配したほうが良いかも。
*1:どうもMediaCreationToolで「そのままWindows 10をインストールする」のと、「一度USBメモリに書き込んでからそれでインストールする」のはまったく別の挙動になるようですね(前者は既存環境の更新、後者は完全なクリーンインストール)
*2:また、USBメモリの扱いによってはうまくインストーラが書き込めない場合があるようです。書き込み完了後、USBメモリを差しなおしたときに「破損しています」というメッセージが出たら書き込みに失敗しています。再度書き込みをやり直しましょう
*3:定型文などの細かい設定はバックアップ機能自体がないことがあるので、そのへんはBunBackupを使って擬似的にクラウドと同期するようにしています