Windows 11便利テク
Windows 11からWindows 10に戻す方法。Windows.oldフォルダを消さぬよう注意!
2021年10月22日 06:50
Windows 11にアップグレードした場合でも、10日以内であればWindows 10に戻すことができる。この仕組みは、バックアップされた「Windows.old」フォルダとタスクスケジューラに登録された「SetupCleanup Task」によって実現されている。その仕組みを見てみよう。
10日以内なら簡単にWindows 10に戻せる
Windows 11へのアップグレード後、互換性の問題や不具合が発生した場合、アップグレードから10日以内であれば簡単にWindows 10に戻すことができる。
Windows 11においてAMDプロセッサでL3キャッシュ問題が発生するなど、アップグレードしたものの、いったん元に戻したいと考える人も少なくないことだろう。
復元可能な場合、[設定]の[システム]-[回復]-[回復オプション]に、[復元(このバージョンが動作しない場合は、Windows 10に戻してみてください)]という項目が表示されているので、[復元]から以下の手順で示すように戻すことができる。
Windows.oldフォルダが重要
このように、簡単にWindows 11からWindows 10に戻すことができるが、復元できるかどうかは状況によっても異なる。
前述したように復元できる条件は、アップグレードから10日以内となっているが、これはWindows 10の環境がバックアップされている「Windows.old」フォルダが自動的に削除されるまでの期間となる。
期間が経過した場合、以下のように復元できない旨が表示される。
また、期限前であっても、手動もしくは不要なファイルを自動的に消して空き容量を増やすストレージセンサーで、Windows 10のバックアップデータを削除してしまった場合などは復元できない。
復元できる条件としては、アップグレード時にバックアップされた「Windows.old」フォルダが存在することがもっとも重要となる。
しかしながら、このフォルダは環境によっても異なるが、十数GBほどの容量を消費するため、やはり長期間保管しておくとなるとストレージの圧迫が課題になる。本音としては削除してしまいたところだが、削除すると復元できなくなる点に注意が必要だ。
タスクスケジューラを確認
Windows.oldフォルダが自動的に削除される仕組みは、タスクスケジューラによって管理されている。
[検索]から[タスクスケジューラ]を起動し、[Microsoft]-[Windows]-[Setup]を開くと、2つのタスクが登録されていることが確認できる。このうちの「SetupCleanup Task」が「Windows.old」を削除するタスクだ。
5時間ごとに無限に繰り返される設定になっているが、操作の中身はタスクスケジューラからは確認できない仕組みになっており、具体的に何が実行されるのかは見えない。
実際の動作を見る限り、Windows.oldフォルダの削除に加えて、[設定]の[復元]の項目のオン/オフも制御していたり、自らのタスクを削除する操作も実行しているようだ。
テストとして、期限前に手動でこのタスクを実行してみたが、やはりWindows.oldが削除され、復元が利用できない状態になった。
このため、このタスクを無効化することで復元の期間を延ばすことも可能なようにも思えるが、タスクスケジューラはシステムによって自動的に再登録される場合もあるので、確実に復元期間を延長できる保証はない。
Windows.oldをバックアップしてみる
では、Windows.oldフォルダそのものを保護してみるとどうなるだろうか? これは実験した限り、以下のような動作を確認できた。
別のドライブにコピー→復元不可
これは、筆者の環境が悪かったのが原因かもしれないが、結果としては失敗となった。どうやらバックアップ元のファイルの中にコピーできないファイルが含まれていたようで、エクスプローラーからのコピー、およびRobocopyによるコピーでも失敗し、途中でコピーが中断されてしまった。
フォルダ名の後ろに文字列を加えてリネーム→復元不可
続いて「Windows.old2」や「Windows.old.bak」のように後半に文字列を足してフォルダ名を変更してみた。この方法は、自動削除が実行されてしまった。詳細は不明だが、自動実行されるタスクでワイルドカードが後半に含まれているかのような動作となった。
フォルダ名の前に文字列を加えてリネーム→復元可能
今度は「bk.Windows.old」のように前に文字列を付加してリネームしてみた。この場合は、別のフォルダとして認識されるようで、タスクスケジューラからタスクを手動実行してもバックアップフォルダが削除されなかった。また、[設定]の項目もグレーアウトされないため、後で「Windows.old」への再リネームすることで、Windows 10への復元が可能だった。
別のフォルダに移動
「Backup」というフォルダを作成し、その配下に「Windows.old」を移動した(同一ドライブ内の場合、前述したコピーのようなエラーも回避できる)。この場合も、タスクによってWindows.oldフォルダが削除されることはなく、後からWindows.oldフォルダを元に戻すことで、復元が可能だった。
もちろん、これはタスクを手動実行した場合の実験例なので、実際に10日の期間が経過した場合の動作がこの通りになるとは限らない。
別の方法で[設定]の[復元]の項目がグレーアウトしてしまうと、フォルダがあっても簡単には戻せないことになる。
あくまでも簡単な実験の結果として参考にする程度に留め、実際に利用する場合は自己責任で実施してほしい。
なお、対象OSがWindows 7となる古い文書ではあるが、Windows.oldフォルダから手動で元のWindowsに戻す方法がMicrosoftの公式ドキュメントとして公開されている。最後の手段として、この方法を試すこともできそうだが、筆者は実際に検証できていない。興味がある場合は、実験してみるといいだろう。