レビュー
» 2016年07月20日 12時37分 公開

いつでもWindows 10に無償アップグレードできる環境を構築する――バックアップ編7月29日を乗り越えろ(3/3 ページ)

[瓜生聖,ITmedia]
前のページへ 1|2|3       

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

 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をインストールする。

AppCenterのユーティリティカテゴリを選択

entware-ngをインストール

entware-ngはコンソールから操作するので、サービス>端末からSSHサービスを有効にする

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

Tera Termなどの端末エミュレータをインストールしていない場合はブラウザでシェルが利用できるShell In A Boxをインストール

Shell In A Boxのデフォルトポートは4200

インストールが完了するとADMデスクトップにアイコンが追加されるのでクリックして起動

サーバ証明書が自己証明書であるため、ブラウザで警告が表示される。chromeの場合は「詳細設定」をクリック

ここでの警告は「当該サーバが詐称されていないことが証明できない」というもの。ローカルネットワークでのIPアドレス直打ちでは問題ないので下部の「アクセスする(安全ではありません)」をクリックする

コンソール画面が表示されるので、ユーザーroot、パスワード(adminと同じもの)を入力してログインする

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

opkg --force-space install dnsmasq-full

opkgは/opt以下を使用するが、既知の問題があるためオプションに「--force-space」を追加する

 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.c32
bios/core/pxelinux.0
bios/memdisk/memdisk

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

DEFAULT mr
LABEL mr
MENU LABEL Macrium Reflect Rescue
Kernel memdisk
append iso initrd=Rescue.iso raw

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

syslinuxは https://www.kernel.org/pub/linux/utils/boot/syslinux/ からダウンロードできる。原稿執筆時の最新版はsyslinux-6.03

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

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へのアップグレード後に元の環境にリストアする手順を紹介していく。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.