Windows8 Room

Windows8 に関する基本から活用・裏技TIPS、開発まで様々な情報 発信中!(/゚∇゚)/ ))))

Windows 8.1の場合は検証できていませんのでやらないで下さい。

Windows 8を旧環境からアップグレードしたものの、動かないソフトやハードがあって使い物にならなかった・・・元の環境に戻したい。と言う事もあるのではないかと思う。だが、Windows 8をアンインストールする公式手段は現在(2012/12/29)の所提供されていない。旧環境にもどしたければ、メーカーPCであればリカバリーメディアやリカバリーパーティションから初期化するか、旧バージョンのOSをインストールメディアから入れなおす必要がある。

だが、Windows.oldフォルダーがシステムドライブ(通常はC:)に残っていれば、そこから旧環境をある程度復元する事が可能だ。だが、復元の度合いが不明で、復元した環境で以前使っていたソフトやハードがちゃんと動作するかは不明である。それでも、完全に初期化するぐらいなら、とりあず出来る事はやってみたいと言うレベルで試せる方法を紹介しよう。

くれぐれも必要なファイルのバックアップは取っておき、自己責任で実行し、失敗してPC内データが全部飛んでも諦められる心構えでやる事。

筆者が紹介する方法以外にも、Googleで「windows 8 windows.old bootsect」等で検索すると、手動でWindows.oldから旧環境を復旧させる方法が多々紹介されている(下記は例)。が、Windows 7から環境を引き継いだアップグレードの状態でこれをやるとデータが壊れるので注意して欲しい。

How to Restore Windows 7 After Upgrading to Windows 8

Windows.old フォルダーを使用して Windows 7 ベースのコンピューターを以前の Windows インストールに復元する方法

当初筆者も上記方法を応用しながらWindows 7の環境を引き継いだWindows 8へのアップグレードの状態から元に戻せないか試行錯誤したが、仮想環境で20回以上失敗を繰り返してなんとか8割ぐらい復旧させる事に成功する事が出来た程度である。それも大半は少し操作の順序や手順を変えただけで、Windows 8も7の環境も破損してしまい、元に戻すのも困難な状態になってしまった。おそらく環境を引き継いでいないWindows 8へのアップグレードであれば上記方法でも復旧できるのではないかと思うが、環境を引き継いだアップグレードの場合はWindows.oldの下に旧環境そのまま残っている訳では無い様であり、Windows 7が復旧したと思ったとたん、様々な障害が発生した。

失敗した際の症状としては、Windows 7起動後に画面が真っ暗な状態となり進まない、ブートローダーのエラーが出て行き詰まる、デスクトップは出るが背景がまっ黒、個人ファイル(ドキュメントフォルダーなど)が消えている、スタートメニューのアイコンが破損だらけ、等である。

とりあえず今後上記方式による復元を調べたい人のためにキーとなる点を述べておくと、

  • bootsect /nt60 c: /force を実行する
  • c:\$Windows.~bt を削除しておかないと7起動時に.old環境にusersが戻されてしまう
  • c:\users と windows.old\users に旧環境が分散している様に見える

さて、いよいよ本題である。筆者方式では旧Windows環境に戻すためには、2つの条件が必要となる。以下の2つのフォルダーがシステムドライブに存在している事である(下記ではシステムドライブをc:\としている)。

  • c:\$WINDOWS.~BT フォルダーが存在する
  • c:\Windows.old フォルダーが存在する

これらのフォルダーが存在するか確認するには、デスクトップで「Win + X」ショートカットキーを押し、「コマンドプロンプト」を起動後、

cd \
dir /ah

を実行する。これで「$WINDOWS.~BT」フォルダーが表示されればOKだ。

フォルダー確認

フォルダー確認

Windows.oldは単にエクスプローラーでC:\のルートフォルダーを確認すれば良い。

フォルダー確認

さて、何をやるかと言うと、Windows 8アップグレード時に途中でインストール失敗した場合は以前の環境にロールバックする処理が走るのだが、これを手動でロールバックさせてしまうのである。ロールバックに必要なファイルが$WINDOWS.~BTフォルダー、旧環境のファイルがWindows.oldフォルダーに含まれている。筆者はWindows 7からアップグレードした環境で試してみたが、他の環境でも出来るのではないかと思うがやってないので責任は持てない。

まずメンテナンス用コマンドプロンプトを実行する必要がある。チャームの電源ボタンをクリックし、「再起動」をクリックする際にシフトキーを押しっぱなしにしておく。シフトキーを押しながら再起動をクリックする事で、トラブルシューティングメニューが表示される。

シフトキーを押しながら再起動をクリック

メニューが表示されたら、「トラブルシューティング」「詳細オプション」「コマンドプロンプト」を辿っていく。

トラブルシューティングメニュー

トラブルシューティングメニュー

トラブルシューティングメニュー

システムが再起動し、コマンドプロンプトが立ち上がる。アカウントとパスワードの入力を求められたら、入力する。

コマンドプロンプト起動

コマンドプロンプト起動

コマンドプロンプト起動

コマンドプロンプトが起動したら、システムドライブ(例ではc:)に移動し、フォルダーを確認しよう。

c:
dir /a

コマンドプロンプト操作

$WINDOWS.~BT\upglayer.iniファイルにロールバックの情報が書かれており、ロールバック開始のためのコマンドも書かれている。

コマンドプロンプト操作

魔法の言葉を入力する。入力の際、「$W」等途中まで入力し、TABキーを押すと補完してくれる。

"\$WINDOWS.~BT\Sources\Rollback" /NewUpgrade

実行すると、ロールバックが始まり旧環境の復元が行われる。

recoveroldwin_009

コマンドプロンプト操作

ロールバック完了後コマンドプロンプトに戻るので、

exit

で抜けた後、一旦PCの電源を落とそう。

コマンドプロンプト操作

電源を切る

再度電源を入れなおすと、Windows 7が起動する。

Windows 7起動

起動後、「Windows 8をインストールできませんでした」の表示が出るので、「閉じる」をクリックする。少し待つと、「コンピューターを再起動する必要があります」とメッセージが出るので、再起動する。

Windows 7 復旧処理

Windows 7 復旧処理

再起動後デスクトップ画面となり一見復旧できた様に見えるが、エクスプローラーのリンクが壊れており開く事が出来なくなっている。とりあえずこれはエクスプローラーのピン留めを外して貼りなおせば治る。

Windows 7 復旧処理

Windows 7 復旧処理

アップグレードの際に旧環境のライセンスが解除されているので、ライセンスを再登録する。コンピューターを右クリックし、「プロパティ」を開く。

Windows 7 復旧処理

Windowsライセンス認証が切れているので、再認証する。

Windows 7 復旧処理

Windows 7 復旧処理

Windows 7 復旧処理

さて、とりあえずこれで一見元の環境が復旧した様に見えるが、筆者は本操作の調査のために簡易的にWindows 7の環境を準備後Windows 8アップグレードを実施したので、ほぼ素の状態のWindows 7の環境からしか試していない。

Windows 7 復旧処理

このため、エクスプローラーとライセンスを復旧する必要がある事は分かったが、他のソフトウェアやファイル、設定等を変更していた場合復旧がどの程度まで出来るのかは分かっていない。

とりあえずどうせ完全初期化するなら、その前にダメ元で試しておける事として紹介しておきたい。実際にやってみて復旧した、しなかった等の情報をコメント欄にでも記載頂けると幸いである。


This post is also available in: 英語

前が良かった?Windows 8アップグレード環境をアンインストールして元に戻す」 に3件のコメント

  1. ニコル より:

    “\$WINDOWS.~BT\Sources\Rollback” /NewUpgrade
    これで実行するのですが、「内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」となりロールバックが始まりません。
    このヶ所どうすれば良いかご教示願えれば、大変ありがたいのですが。

  2. ニコル より:

    ドライブのルートの、C:\>“\$WINDOWS.~BT\Sources\Rollback” /NewUpgradeで実行できていませんでした。
    造作なくアプリ等含めて、元のWin7環境に復元できました。
    エクスプローラーもリンク切れはないようです。
    大変助かりました。

  3. 松尾秀夫 より:

    一度やらしてもらいます、ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>