知らなかったでは遅い? Hyper-V Serverは「インプレースアップグレード不可」という事実:その知識、ホントに正しい? Windowsにまつわる都市伝説(138)
2018年10月初めにWindows 10 バージョン1809やWindows Server 2019とともにリリースされ、その後、配布が停止されていた「Hyper-V Server 2019」が、8カ月たった2019年6月15日にようやく再リリースされました。インストールメディア(ISOイメージ)は、MicrosoftのEvaluation CenterまたはVisual Studioサブスクリプションからダウンロード可能です。
こんなにも遅れた理由、それがはっきりしないモヤモヤ感
「Microsoft Hyper-V Server 2019」の提供再開が大幅に遅れていることは、Hyper-V Serverの特徴や制約の説明とともに、本連載第131回で取り上げました。
- Hyper-V Server 2019ってどうなの? どうしたの?(本連載 第131回)
2018年10月の最初のリリース時にダウンロードしていて、その後の配布停止を知らない人がいるかもしれません。Hyper-V Server 2019は、同じビルドベースのWindows 10 バージョン1809(October 2019 Update)やWindows Server 2019とともに、2018年10月初めにリリースされましたが、その直後、Windows 10のファイル消失問題を受け、同じビルドベースの全てのOSについて、機能更新プログラムやインストールメディアの配布が停止されました。
Windows 10やWindows Server 2019は2018年11月半ばに再リリースされましたが、Hyper-V Server 2019についてはその7カ月後(配布停止から8カ月後)にようやく再リリースとなりました。インストールメディアは「ビルド17763.557」ベース、つまり2019年6月定例の累積更新プログラム適用済み相当です(画面1)。
- Microsoft Hyper-V Server 2019 is live on the Microsoft Evaluation Center!![英語](Microsoft公式アナウンス)
なぜ提供再開が大幅に遅れたのか、はっきりとした説明はありませんし、数カ月前からもうすぐリリースされるような情報を何度も目にしましたが、結局、提供再開のその日までリリース日が示されることはありませんでした。
初期リリース版(ビルド17763.1ベース)には、Windows Updateが累積更新プログラムを検出しない問題や、リモートデスクトップサービスが機能しない問題がありました。リモートデスクトップサービスの問題は2019年3月1日の「KB4482887」(ビルド17763.348)以降で修正されましたが、Windows Updateの問題は修正されることはありませんでした。そのため、初期リリース版を利用し続けるには、Microsoft Updateカタログから累積更新プログラムをダウンロードしてインストールするか、「Windows Server Update Services(WSUS)」を利用する必要がありました。
また、Windows Server 2019で「Hyper-Vの役割」を有効化する際に、一部のハードウェアで起動プロセスがループするという問題は、Hyper-V Server 2019にも影響しました。Windows Server 2019のこの問題は、2019年1月22日の「KB4476976」(ビルド17763.292)以降で修正されました。
提供再開の遅れは、これらの問題が関係していることに間違いないでしょう。再リリース版では、Windows Updateの問題も修正されているはずです。しかし、本当に修正されているかどうかは、2019年7月の定例の累積更新プログラムを検出、インストールできることを確認するまで、筆者は信じられません。なぜなら、説明がないからです。
インプレースアップグレードできない問題、実は仕様だった
古くからのWindowsやWindows Serverユーザーなら、新バージョンのリリースは「クリーンインストール」の良い機会と考える人が多いと思います。アップグレードではなく、クリーンインストールを選択することで、アップグレード時に発生するかもしれない問題を回避できるし、ディスク使用量の削減や安定性の向上を期待できるからです。Windows 10が登場したことで、クライアントOSについてはアップグレードが主流になったようですが、Windows Serverでは今でもクリーンインストールを選択する人が多いのではないでしょうか(画面2)。
その一方で、運用環境のシステム構成を維持しながら最新バージョンに移行したい、データ量が多い(例えば、仮想マシンの仮想ハードディスクなど)からデータ移動を必要としないアップグレードで済ませたいという人にとって、「インプレースアップグレード」(アップグレードインストール)もまた貴重な選択肢です。
長期サービスチャネル(LTSC)のWindows Serverは、2世代前のバージョンからのインプレースアップグレードを正式にサポートしています。例えば、Windows Server 2016はWindows Server 2012/2012 R2から、Windows Server 2019はWindows Server 2012 R2とWindows Server 2016からアップグレード可能です。ただし、Windows Serverの役割やアプリケーションによっては、アップグレードに対応しておらず、クリーンインストールして役割やデータを移行するという手段しかない場合もあります。
Windows Serverの「Hyper-Vの役割」はインプレースアップグレードをサポートしており、筆者はこれまでのリリースでそれが可能なことを実際に試してきました。Hyper-V Serverも同じだと、筆者を含め、多くの人が認識していると思います。しかし、Hyper-V Serverは違いました。先に言っておきますが、Hyper-V Server 2016以降、インプレースアップグレードはサポートされていません。
筆者は、初期リリース版のインストールメディア(17763.1ベース)でクリーンインストールしたHyper-V Server 2019を、再リリース版でアップグレードすることで既存の問題を解決できるだろうと期待して、2019年6月まで累積更新プログラムを手動でインストールし、ビルド17763.557まで更新してきました。
この環境を再リリース版のインストールメディア(17763.557ベース)を使用して、インプレースアップグレードしようとしたところ、アップグレードオプションである「個人用ファイルとアプリを引き継ぐ」を選択できず、「インストールしようとしているWindowsのエディションが、現在使用しているエディションと異なるため、ファイル、アプリ、設定を引き継ぐことができません」と表示されたのです(画面3)。
Microsoftの公式アナウンスに投稿された会話の中では、アップグレードを開始できるものの、「0x80070490」エラーで失敗するという報告がありました。試しに、初期リリース版のメディアでクリーンインストールした直後、再リリース版でアップグレードしてみたところ、「100%完了しました」まで進み、最初の再起動が始まる手前のところで「Windows Server 2019のインストールが失敗しました」と表示され、ログファイル(C:\$WINDOWS.~BT\sources\panther\setupact.logおよびsetuperr.log)に「0x80070490」エラーが記録されました。
その後、公式アナウンスの会話の中で、MicrosoftのBen Armstrong氏(「Virtual PC Guy」としても知られています)は、「We have never supported in-place upgrade with the stand alone Hyper-V server.(スタンドアロンのHyper-V Serverのインプレースアップグレードはサポートされていません)」と言っています。まさかと思い、公式ドキュメントを探したところ、次のページを見つけました。
- Windows Server installation and upgrade(Windows Serverリリースのインストールとアップグレード)(Windows IT Pro Center)
このドキュメントは、Windows Server 2012 R2とWindows Server 2016でサポートされるアップグレードパスについて説明したものですが、リストの中に対応するバージョンのHyper-V Serverも含まれます。Hyper-V Serverだけを抜き出したものが、以下の表1です。
アップグレード元 | アップグレード先 |
---|---|
Hyper-V Server 2012 | Hyper-V Server 2012 R2 |
Hyper-V Server 2012 R2 | Hyper-V Server 2016(クラスタOSローリングアップグレードを使用) |
表1 サポートされるアップグレードパス(Hyper-V Serverのみを抽出したもの) |
つまり、Hyper-V Server 2012からHyper-V Server 2012 R2へのインプレースアップグレードはスタンドアロンでも可能ですが、Hyper-V Server 2012 R2からHyper-V Server 2016は「クラスタOSローリングアップグレード(Cluster Operating System Rolling Upgrade)」を使用する必要があると言っています。Hyper-V Server 2016からは、スタンドアロンはサポートされないということです。また、Hyper-V Server 2016については、1世代前のバージョンのみがサポートされています。
現時点でHyper-V Server 2019の情報は反映されていませんが、この仕様に従うなら、Hyper-V Server 2019にアップグレード可能なのはHyper-V Server 2016のみで、さらにクラスタOSローリングアップグレードを使用する必要があるということになります。スタンドアロンのHyper-V Serverをインプレースアップグレードできたのは、Hyper-V Server 2012 R2へのアップグレードまでということです(画面4)。
実際に、Hyper-V Server 2012 R2からHyper-V Server 2016、Hyper-V Server 2016からHyper-V Server 2019へのインプレースアップグレード、つまりサポートされないアップグレードパスでのアップグレードを試してみました。
いずれも、古いバージョンはインストール直後からのアップグレードで行いました。Hyper-V Server 2012 R2からHyper-V Server 2016は「個人用ファイルとアプリを引き継ぐ」を選択して続行できましたが、インストールを開始する画面が表示されないまま、無限ループに入ってしまったようです(画面5)。
そのため、「×」ボタンをクリックしてキャンセルするしかありませんでした。Hyper-V Server 2016からHyper-V Server 2019も「個人用ファイルとアプリを引き継ぐ」を選択して続行できましたが、再起動が開始する手前で「Windows Server 2019のインストールが失敗しました」と表示され、ログファイルに「0x80070490」エラーが記録されました(画面6)。
同じくサポートされていないアップグレードパスであるHyper-V Server 2012 R2からHyper-V Server 2019へのインプレースアップグレードも試してみました。こちらは再起動まで問題なく進み、「更新プログラムを構成しています X%」まで進んだ後、次の再起動でインストールの修復処理が走り、元の状態にロールバックされました。
そしてログオンすると、「Windows Server 2019をインストールできませんでした……0x80070490 - 0x2000E SET_PRODUCT_KEY 操作中にエラーが発生したため、インストールはSAFE_OSフェーズで失敗しました」と表示されました。この挙動の違いは、アップグレード元のバージョンによってアップグレードプロセスが異なるから(古い方法が使用されるから)だと思います。
クラスタOSローリングアップグレードが使えない場合
クラスタOSローリングアップグレードは、Windows Server 2016からサポートされるようになった「フェールオーバークラスター」のアップグレード方法です。Hyper-V ServerはフェールオーバークラスタリングやActive Directoryドメイン参加機能をサポートしており、Hyper-Vホストクラスタに参加できます。
Hyper-VホストクラスタはクラスタOSローリングアップグレードを使用することで、仮想マシンをライブマイグレーションでアクティブなノード(ホスト)に退避しながら、クラスタの各ホストを新バージョンのOSに入れ替えていくことができます。
ホストの入れ替えは、クラスタからのホストの削除、新OSのホストの追加で行われます。ホストの新OSへの入れ替えは、インプレースアップグレードではなく、クリーンインストールで行うことになります(別のハードウェアでも構いません)。Hyper-V Server 2016のアップグレードがこの方法だけをサポートするということは、つまり、Hyper-V Server 2016はインプレースアップグレードそのものをサポートしていないということになります。おそらく、Hyper-V Server 2019も同様です。
Hyper-V Serverを単に「無料のハイパーバイザー」としてスタンドアロンで利用している場合、クラスタOSローリングアップグレードは選択肢にならないでしょう。インプレースアップグレードはサポートされていませんし、強行してもおそらく失敗します。そして、サポートされないアップグレードパスについて、Microsoftに解決策や修正を求めることはできません。
クラスタOSローリングアップグレード以外の方法でHyper-V Server 2016以前をHyper-V Server 2019にするには、仮想マシンを別の場所にエクスポート(またはファイルをコピー)し、Hyper-V Server 2019をクリーンインストールしてから、仮想マシンをインポートし、その後、仮想マシンの構成バージョンをアップグレードするという手順になります。
初期リリース版のインストールメディアを使用してインストールしたHyper-V Server 2019の環境は、この手順で再リリース版に移行することをお勧めします。そして、初期リリース版のインストールメディアは、誤使用を避けるために削除してしまいましょう。
- 初期リリース版のインストールメディアのファイル名(使用しないでください):17763.1.180914-1434.rs5_release_SERVERHYPERCORE_OEM_X64FRE_ja-jp.iso
- 再リリース版のインストールメディアのファイル名:17763.557.190612-0019.rs5_release_svc_refresh_SERVERHYPERCORE_OEM_x64FRE_ja-jp.iso(Evaluation Center)、ja_microsoft_hyper-v_server_2019_x64_dvd_1847d206.iso(Visual Studioサブスクリプション)
Hyper-V Server 2019のワークグループ環境におけるリモート管理のセットアップ方法、「Server Core App Compatibility Feature on Demand(Server Coreアプリ互換性オンデマンド機能)」(Microsoft管理ツール、エクスプローラー、Internet Explorer 11などの追加)のサポートなどについては、再リリース直後に筆者の個人ブログにまとめてあります。この個人ブログで遭遇した問題が、今回紹介したアップグレードの制約について知るきっかけになりました。
- 続報:Microsoft Hyper-V Server 2019 リ・リリース(筆者のブログ:山市良のえぬなんとかわーるど)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2018/7/1)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
関連記事
- 次期Windows 10最新動向:リリース秒読みの「19H1」はこう変わる
間もなくリリースされるWindows 10の新しい機能アップデート「19H1」。それに実装される新機能をまとめてみた。また、同時に変更となるライフサイクルなどについても解説する。 - 【新元号発表目前!】Windows 10/Officeの新元号対応どうするどうなる!?
新元号への切り替えが2019年5月1日に行われる。Windows OS/Officeでこの新元号に対応するにはどうすればよいのか、注意すべき点はあるのかなどをまとめる。 - 【Windows 10】できる人は知っているキーボードショートカット
Windows 10でキーボードショートカットを使うと、マウスを使うよりも素早い操作が可能だ。ただ、種類も多く、知っていると便利なのに意外と使われていないものも多いようだ。ここでは基本的なキーボードショートカットを紹介する。 - Windows 10への移行計画を早急に進めるべき理由
本連載では、これからWindows 10への移行を本格的に進めようとしている企業/IT管理者に向け、移行計画、展開、管理、企業向けの注目の機能を解説していきます。第1回目は、「Windows 10に移行すべき理由」を説明します。
Copyright © ITmedia, Inc. All Rights Reserved.