ここから本文です

いつでもWindows 10に無償アップグレードできる環境を構築する――バックアップ編

ITmedia PC USER 7月20日(水)16時53分配信

 Windows 10の無償アップグレード期限である2016年7月29日が迫っている。「Windows 7で困ってないし」と、これまで再三に渡ってMicrosoftのアップグレード告知をはねのけてきたユーザーの中にも、周囲にWindows 10ユーザーが増えるにつれて不安を感じるようになってきた人もいるのではないだろうか。

【具体的な手順を画面で詳細に解説】

 Windows 10に対してネガティブなイメージを持っている人もいるだろうが、3つの理由から2016年7月29日までにアップグレードすることをお勧めする。

 一つ目は、アップグレード対象のWindowsユーザーにとって、Windows 10が無償で手に入るのは2016年7月29日まで、ということ。Microsoftは無償アップグレード期限を延長する予定はない、と明言しており、無償アップグレード期間が過ぎればWindows 10は有償になる。今のところWindows 10には安価なアップグレード版はなく、Windows 10 Homeでも1万9008円、Windows 10 Proだと2万7864円(税込)と、なかなかのお値段だ。

 二つ目はWindows 7/8.1のサポート終了期間が近づいてきており、セキュリティ更新プログラムが提供されなくなるということ。「アンチウイルスソフトを入れているから大丈夫」と思っている人もいるかもしれないが、OSを安全に保つために最も重要なことはセキュリティパッチ(セキュリティ更新プログラム)を迅速に適用することだ。

 それができなくなる時点でOSとしては利用に耐えるものではなくなってしまう。また、アンチウイルスソフトに限らず、ほとんどのソフトウェアはサポートが終了したOS上での動作を保証していない、少なくともサポートはしていないと考えたほうがよい。ネットワークに接続されておらず、メディアを介した外部とのやりとりもない、単一の目的で特定ソフトウェアだけを使用するような完全なスタンドアロンでもない限り、サポートが終了したOSを使用し続けるという選択肢はない。

 Windowsのサポート期間にはメインストリームサポートと延長サポートがある。メインストリームサポートではセキュリティ更新プログラムのほか、仕様変更や新機能の追加が行われるのに対し、延長サポートではほぼセキュリティ更新プログラムのみの提供となる。つまり、OSの改良がなされるメインストリームサポート、今までと同様に使えるよう維持をしていく延長サポート、というわけだ。そのため、通常「サポート」と言えば延長サポートまでのこと、と考えればよい。

 Windows 7のメインストリームサポートは2015年1月にすでに終了、現在は2020年1月14日までの延長サポート期間に入っている。Windows 8.1ではメインストリームサポートが2018年1月9日まで、延長サポートが2023年1月10日までだ。なお、Windows 8のサポートはWindows 8.1への移行が前提となっているため、2016年1月12日に終了している。

 もう一つ重要なことがプロセッサによるサポート期間の違いだ。2015年末にリリースされた第6世代Core(Skylake)搭載のPCの場合、Windows 7/8.1のサポート期間はもっと短く、2018年7月17日までとなっている。その後も緊急のセキュリティ更新プログラムは提供されるものの、Windows 10への移行が強く推奨されている。

 三つ目の理由は「Windows 10にアップグレードしても、そのまますぐにWindows 10を使い続けなければならないわけではない」という点だ。サポート期間のことを考えるとWindows 7で3年半後の2020年1月14日まで、Windows 8.1だと6年半後の2023年1月10日まで使えることになる。特に今も不満はないし、それくらいの時期になればPC自体買い換えるだろうから見送りでもいいや、という考え方もあるだろう。

 しかし、今後発売されるハードウェアやソフトウェアがWindows 7/8.1をサポートしているとは限らない。延長サポート終了まであと9カ月ほどを残しているWindows Vistaの対応をうたっているソフトウェア/ハードウェアが現在、どれくらい出ているかを考えると、それほど楽観的にはなれない。だが、2016年7月29日以降に、もし必要に迫られてWindows 10にアップグレードしたくなっても、2万円近い費用がかかってしまう。

 Windows 10にいったんアップグレードしても、31日以内であればOSの機能によって簡単にWindows 7に戻すことができる。さらに、その状態からであれば2016年7月29日以降であっても再び無償でWindows 10にアップグレードできる。しかし、アプリケーションによっては設定が消えてしまったり、再インストールが必要になることもある。このような「Windows 10にいったんしておきたいという気持ちはあるけれど、将来の備えのためだけに現在の環境に影響が出るのはいや」という理由でアップグレードを避けてきた人、先送りにしてきた人も多いだろう。

 今回はASUSTOR NASをバックアップ/リストア用のストレージとして、「7月29日以降もWindows 7/8.1を利用しつつ、いつでも無償でWindows 10にアップグレードできる」環境を構築しよう。

●インストール済OSに影響されないリストア環境の構築

 OSを含む実行環境をそのままバックアップする場合、ディスクの内容を丸ごと保存するイメージバックアップが確実だ。だが、リストアのことを考えると簡単にはいかない。

 今回は特に「Windows 7/8.1が動いている環境をWindows 10に置き換える」あるいは「Windows 10が動いている環境をWindows 7/8.1に置き換える」というものであり、戻すイメージに含まれているOSとは異なるOSでリストア処理を実行させなければならない。バックアップよりもむしろリストアをどう実行するかがポイントとなる。

 以前であればCD/DVDドライブからリストアツールを起動させることができたが、最近はCD/DVDドライブが搭載されていないPCも多い。そのため、今ではブート可能なUSBメモリが主流となっている。だが、USBメモリは小さい上にデザインがまちまちで、内容を書くラベルなどがないものがほとんど。CD/DVDであれば、2年後に1度だけ使うかもしれないようなツールを入れておいても保管しやすいが、USBメモリだといざというときに見つからない、間違えて上書きしてしまった、という事故が起きる可能性がある。

 そこで今回はASUSTOR NASからネットワーク経由でリストアできる環境を構築する。バックアップイメージもリストアツールもNASに入れておけば紛失の心配もない。

●バックアップツール「Macrium Reflect Free」の導入と1回目のバックアップ

 今回のバックアップ/リストアにはフリーのバックアップツール「Macrium Reflect Free」を使用する。WindowsのVSS(ボリューム・シャドウ・コピー・サービス)に対応しており、Windowsを実行したままイメージバックアップが取得できる。フリー版とはいえ、非常に高機能なソフトウェアだ。

 Paramount Spftware UK Limitedのサイトからダウンロードし、対象となる機器にインストールする。初回起動時にレスキューメディア(リストアツール)を作成するか聞かれるのでCD/DVD用ISOファイルを作成しておこう。

●イメージバックアップを取っておく

 レスキューメディア(ISOイメージファイル)の作成が完了したら、現在の状態でイメージバックアップを取っておこう。今回は以下のタイミングでバックアップを取得する。

・1、Windows 10にアップグレードする前のWindows7/8.1

 なんらかの事情により、Windows10のアップグレードがうまくいかず、既存環境まで壊れてしまった場合のためのバックアップ。

・2、Windows10にアップグレードした直後

 Windows 10にアップグレードした後、なんらかの事情で1のイメージを用いてWindows 7/8.1にダウングレードしたものの、再度2016年7月29日以降にアップグレードするためのバックアップ。

・3、Windows 10からWindows 7/8.1にダウングレードした直後

 今後しばらくはこの状態で利用することになるため、初期状態としてバックアップする。

 バックアップが完了したらWindows 10へのアップグレードを行おう。アップグレードが完了したら再度Macrium Reflectでイメージバックを取得する。前回とは異なるディレクトリ、もしくはファイル名で保存する。

●ネットワークブート環境の構築

 Windows 10のアップグレードには数時間かかるので、その間にリストアツールをネットワークブートするための設定にとりかかろう。なお、今回はBIOSモードの対応のみを記載している。UEFIモードで利用する場合にはブートプログラムなど変更が必要になるので注意してもらいたい。

 ネットワークブートのために必要なものはDHCPサーバとTFTPサーバだ。DHCPはネットワークに接続された機器に対してIPアドレスを動的に貸与するサービスだが、その際にネットワークブートのための情報を送ることができる。その情報を受け取った機器は認証が不要なファイル転送サービスTFTPを使ってブートプログラムをダウンロード、実行する。

 両方ともASUSTOR NASの標準機能として用意されているが、DHCPサーバは機能が限定的でネットワークブート用の設定ができない。そのため、標準機能のDHCPサーバは使用せず、DHCP/TFTPサーバのdnsmasqを追加インストールする。dnsmasqはAppCenterのパッケージではなく、組み込み用機器のEntware-ng(Optware/ipkgの後継)のパッケージとして提供されているので、まずはAppCenterからEntware-ngをインストールする。

 Entware-ngはコンソールから利用するツールなので、ASUSTOR NASにSSHで接続する必要がある。Tera TermなどのSSH対応端末エミュレータを使うか、AppCenterからブラウザでシェルが利用できるShell In A Boxをインストールしよう。ただし、使用した限りではShell In A Boxの安定度はあまり高くないようだ。

 dnsmasqをインストールするにはパッケージ名に「dnsmasq-full」を指定する。opkgは/opt以下を使用するが、空き容量が正しく認識されない既知の問題があるので、パッケージインストール時には以下のようにオプションを指定して空き容量チェックをスキップする。

opkg --force-space install dnsmasq-full

 dnsmasqの設定ファイルは/opt/etc/dnsmasq.confだが、パッケージインストール時に導入されるdnsmasq.confは冗長なので、以下の内容で作成する。

port=0 ← DNS機能は使わないenable-tftp ← TFTPサーバ機能有効tftp-root=/share/Public/TFTP ← TFTPのドキュメントルートdhcp-range=192.168.0.0,proxy ← DHCPのサブネット。また、DHCPプロキシとして動作する。pxe-service=X86PC,"Macrium Reflect Rescue",pxelinux ← x86(BIOS)用メニュー。pxe-service=X86PC,"Boot from HDD",0 ← x86(BIOS)用メニュー。ローカルディスクからの起動。dhcp-leasefile=/var/lib/dhcp/dnsmasq.leases

 上記の設定のうち、tftp-rootはTFTPのドキュメントルート、dhcp-rangeはDHCPの範囲およびプロキシの設定なので、環境に合わせて変更する。ここではTFTPのドキュメントルートを/share/Public/TFTP(共有フォルダのPublic/TFTP)にし、すでに192.168.0.0のレンジのDHCPサーバが存在している環境に導入することを想定している。

 なお、DHCPプロキシはDHCPサーバ機能のうち、PXEに関係する部分だけを担当する。DHCPサーバと機能を分担して動作するので、既存環境には影響を与えない。また、ブートファイルは/share/Public/TFTP/pxelinux.0を指定しているが、このファイルについては後述する。

 次にレスキューメディアのisoファイルをネットワークブート対応にするため、syslinuxを利用する。syslinuxのアーカイブからpxelinux.0、memdisk、ldlinux.c32を取り出してTFTPドキュメントルートに配置する。syslinux-6.03.zip内の各ファイルの保存場所は次の通りだ。

bios/com32/elflink/ldlinux/ldlinux.c32bios/core/pxelinux.0bios/memdisk/memdisk

 また、設定ファイルの置き場所となるpxelinux.cfgディレクトリをTFTPドキュメントルートに作成、その下に以下の内容の設定ファイルをファイル名「default」で保存する。

DEFAULT mrLABEL mrMENU LABEL Macrium Reflect RescueKernel memdiskappend iso initrd=Rescue.iso raw

 この設定の中ではブート用のISOイメージにRescue.isoを指定しているが、Macrium Reflectで作成したレスキューメディアのISOファイル名が異なる場合はそれに合わせて変更する。ISOファイル自身もTFTPドキュメントルートに配置しておこう。

 最終的なファイル構成は以下のようになる。

TFTPドキュメントルート

 + pxelinux.cfg/(作成)  + default(作成) + ldlinux.c32(syslinuxのbios/com32/elflink/ldlinux/からコピー) + memdisk(syslinuxのbios/memdisk/からコピー) + pxelinux.0(syslinuxのbios/core/からコピー) + Rescue.iso(Macrium Reflectで作成)

 配置・設定が完了したら、端末から以下のコマンドでdnsmasqを起動させる。

/opt/etc/init.d/S56dnsmasq start

 次のリストア編では、Windows 10へのアップグレード後に元の環境にリストアする手順を紹介していく。

最終更新:7月20日(水)16時53分

ITmedia PC USER