2020年1月14日をもって、Microsoft による Windows 7 のサポートが終了しましたが、企業にとっては、様々な事情で Windows 10 への移行をためらうケースがあると思います。
当社では既に全台 Windows 10 へ移行済みですが、いざというときのために Windows 7 に戻せるよう Windows 標準の機能を使ってシステム イメージを作成してあります。
先日、そのシステム イメージを使って Windows 10 から Windows 7 への復元テストを行ったのですが、システム修復ディスク(光学ディスク)の代わりに USB フラッシュ ドライブに作成してあった回復ドライブ(リカバリー ディスク)を使用したところ、復元の直前になって「パラメーターが間違っています。 (0x80070057) 」とのエラーに見舞われました。
このエラーを回避し、正常にバックアップから復元できるまでに試したことをご紹介いたします。
エラーコードで検索して出てきたものを試す(失敗)
まず「 0x80070057 」というエラーコードで検索してみました。
するとバックアップ時に失敗してこのエラーコードが出たりする事例はすぐに見つかりましたが、復元の際にこのエラーコードが出たという記事に行き当たらなかったため、検索ワードに「復元」を追加したところ、それらしい見出しの記事が出てくるようになりました。
しかし、記事の内容は回復対象とする OS が Windows 10 だったり、バックアップからの復元に関する内容でなかったり、そのものズバリという記事にはたどり着けませんでした。
「違うな」とは思いながらも Microsoft のサポートページで見かけた方法を、念のため試してみました。
つまりは、回復ドライブのある USB フラッシュ ドライブやシステム イメージを記録した外付け HDD を取り外し、いったん Windows 10 を通常起動して、サポートページにあった「小数点記号の設定を変更」を試そうとしたのですが、そもそも小数点記号は ‘.’ (ドット) に設定されていたので、やはり的外れでした。
「レジストリ キー値を追加する」も試してみようと思ったのですが、サポートページに記載のあった
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\System
というレジストリ サブキーが(少なくとも今回のテスト環境には)なく、これも的外れでした。
これらの方法は、あくまでもバックアップ時に失敗した際のものなので、復元のタイミングで試すものではなかったようです。
システム イメージをもう一度作成する(失敗)
いくつか記事を当たっていく中で「バックアップファイルの最後に不良セクタがあるのが原因」という記述を見つけました。
実は心当たりがあって、システム イメージを作成する際、保存先(今回は外付け HDD )に十分な空き容量があったため、特にフォーマットなどせずに実施したのですが、元からあったファイル等が悪さを引き起こしているのかな、と考えたわけです。
今回は復元テストということで Windows 10 にアップグレードした直後だったこともあり 設定 > 更新とセキュリティ > 回復 の「前のバージョンの Windows 10 に戻す」の「Windows 7 に戻す」が使えた(本機能はアップグレード後10日間だけ有効)ため、まずその方法で Windows 7 に戻し、外付け HDD を(クイック)フォーマットした上で、もう一度システム イメージを作成し直しました。
そして MediaCreationTool1909.exe から再度 Windows 10 にアップグレードし、一度シャットダウンして Windows 7 の回復ドライブが入った USB フラッシュ ドライブからブートし、システム イメージの入った外付け HDDを読み込ませて再度復元を試みましたが、今回も同様にエラーコード 0x80070057 が返ってきました。
システム イメージを保存する HDD を替えて試しても同様の結果となりました。
回復ドライブの入ったUSB フラッシュ ドライブを取り外す(成功)
ここまでいろいろ試してもダメだったのですが、諦めきれずに継続的に類似記事を探していたところ、対象 OS が Windows 8.1 だったものの「システムイメージからの回復時に 0x80070057 パラメーターが正しくありません」という、まさに探し求めていた感じの見出しの記事を見つけました。
記事の内容は、ディスク障害を生じた PC からダメ元でシステム イメージを作成し、ディスク交換後にそのイメージからリカバリーを試みた、というもので、少し事情は違うかもしれないとは思いましたが、読み進めると「USBドライブを抜いて再起動」という表現を見つけ、ひらめきました。
ブートは USB フラッシュ ドライブの回復ドライブから行っているのですが、ブート後は PC 本体側のメモリ上でプログラムが起動しているため、回復ドライブの入った USB フラッシュ ドライブを接続したままにしておく必要はなく、復元を試みる直前に取り外してはどうかと思ったわけです。
通常 USB フラッシュ ドライブを取り外す際は、タスクバーの「ハードウェアの安全な取り外し」を実施するのですが、この場面ではタスクバーも表示されていないので、一応 USB フラッシュ ドライブのアクセスランプが消灯していることだけ確認して、思い切って引き抜いてみました。
そして復元ボタン(正確には「コンピューターは、以下のシステム イメージから復元されます」の「完了」ボタン > 「ドライブ内の復元対象のデータはすべて、システムイメージ内のデータによって置き換えられます。続行しますか?」の「はい」)をクリックすると…
ようやく復元処理がスタートしました!
※ 今になって、各プロセスの画面表示をスクリーンショットや写真撮影しておけばよかったと思っています。再度復元テストを実施すればそのチャンスはあるのですが、改めてテストする気力もなく。。
分かったこと
復元処理は無事に終わり、自動的に再起動され、システム イメージから復元された Windows 7 の起動に成功しました。
これで Windows 10 にアップグレードして一定期間(10日以上)を経過した後も、元の Windows 7 に戻せることを確認できました。
単に OS を Windows 7 にするだけなら、回復ドライブを使ってクリーンインストールすればいいのですが、そこから Windows Update を繰り返し、各種アプリケーションを入れ直し、バックアップからデータを戻し…という地獄の作業を経ないといけないので、システム イメージの回復(復元)が正しく機能することを確認できたのは収穫でした。
それと、システム修復ディスクや回復ドライブは通常光学ドライブで作成するのが常識だということは知っていたのですが、なぜ USB フラッシュ ドライブではダメなのかということも、今回の復元テストの中で何となく分かった気がします。
言葉にこだわりのある方は USB フラッシュ ドライブや外付け HDD などを「外部記憶媒体」、CD/DVD など光学メディアのことを「外部記録媒体」と使い分けているそうですが、データを繰り返し書き込んだり消去したりできる「外部記憶媒体」は、どうも復元時に邪魔なようです。
ノート型 PC で今時光学ドライブを搭載した機種は多くありませんし、一方で USB ポートを備えていない PC は皆無に等しいので、今回のテストのように USB フラッシュ ドライブでブートできれば便利だというのは誰もが思うことかと思います(この記事にたどり着いた方なら当然ですよね)。ただ、その感覚で復元もいけるだろうと思ったところに落とし穴があった、という結果でした。
最後に。情シス担当として復元テストは避けて通れない道だったものの、実際に Windows 7 に戻す機会や、戻した状態で使い続けるシーンがあるかというと、おそらく当社では考えにくく、素直に光学メディアを使っていればこうしてはまることもなかったと思うので、せめてこのテストが誰かの役に立てば…との思いからブログにしたためた次第です。