清水理史の「イニシャルB」

Windows 8.1 Updateの新機能「WIMBoot」を試す

Miix 2 8 32GB版の空き容量が6GBから17GBに

 Windows 8.1 Updateで新たに搭載された「WIMboot」。圧縮されたシステムファイルから直接Windowsを起動することで、16GBのストレージでも実用可能にする技術だ。実際にどれくらいインストール容量を減らすことができるのかを32GBのMiix 2 8で試してみた。

圧縮イメージのポインターファイルを展開

 Windows 8.1 Updateで新たに搭載された「WIMboot」は、技術的に非常に興味深い機能だ。

 詳しい解説は、Technetのライブラリに掲載されている記事(http://technet.microsoft.com/ja-jp/library/dn594399.aspx)を参照して欲しいが、Windowsのシステムファイルが格納された圧縮ファイル「install.wim」をイメージ用のパーティションに格納し、そこからポインターファイルのみをシステムパーティションに展開することで、Cドライブに必要となる容量を大幅に節約することができる。

Windows 8.1 Updateの新機能WIMboot。Technetライブラリに詳しい解説が掲載されている

 従来のWindowsでは、回復用の圧縮イメージ(install.wim)と、そこから展開されたシステム用の実ファイルの両方がストレージ上に展開され、10GB以上の容量を消費していたが、WIMbootでPCを構成すれば、その容量を4GBほどに押さえることができるわけだ。

 実際、このような容量の問題は、32GBのストレージを搭載するタブレットなどで、ユーザーの悩みの種となっていた。昨年末、筆者もLenovo Miix 2 8でリカバリ領域を削除する記事を掲載したが、多くのユーザーが空き容量を確保するために、涙ぐましい努力をしてきたわけだ。

 しかし、この「WIMboot」が活用されるようになれば、Windows 8.1 Updateの新機能として語られているように、16GBのストレージの端末にインストールすることも可能になるうえ、32GBのストレージなら余裕で20GB以上の空き容量を確保できることになる。

 では、実際に、どのようにWIMBootを構成すればいいのだろうか? そして、その結果、どれくらいの空き容量が確保できるのだろうか? 32GB版のLenovo Miix 2 8を利用し、実際に検証してみた。

 なお、WIMbootの構成にはパーティションの新規作成(必須ではないが容量確保を考えると強く推奨)が必要なうえ、OSやアプリも新規にインストールすることになる。このため、実験目的なら問題ないが、常用するならWindows 8.1やOffice製品の新規ライセンスが必要になる。

 Miix 2 8のリカバリイメージからWIMBootを構成することも可能かもしれないが、少なくとも筆者は実現できなかった(リカバリイメージに8.1 Updateを適用する段階でエラーが発生)ので、標準のOSとOfficeのライセンスを破棄する覚悟が必要だ。

 新規にOSとOfficeのライセンスに投資するくらいなら、Miix 2 8を売った金額に差額を足して、他のタブレットを購入した方が効率的なので、あくまで興味がある人のみ試すことをおすすめする。

前提条件と作業工程を整理

 WIMbootの構成に必要な作業内容は、前述したTechnetライブラリの記事(http://technet.microsoft.com/ja-jp/library/dn621983.aspx)で詳しく解説されている。

 このため、基本的には、この手順通りにPCを構成していけばいいのだが、install.wimなどのファイルを初めて目にする人にとっては、この手順の作業内容は少々わかりづらい。このため、まずは前提条件と作業工程を整理しておく。

 前提条件として必要になるのは以下のハードウェア/ソフトウェアだ。

   ・UEFIベースのターゲットPC
   ・SSD/eMMCのストレージ(HDDやSSD+HDDハイブリッドドライブは不可)
   ・microUSB-USB変換アダプタ(ブートUSB用)
   ・USBハブおよびキーボード、マウス(初期設定時タッチ操作不可のため)
   ・Windows 8.1 Updateのインストールメディア(32bit)
   ・32bit版のWindows 8.1 Updateのスタンドアロンインストーラ
      http://www.microsoft.com/ja-jp/download/details.aspx?id=42162
      http://www.microsoft.com/ja-jp/download/details.aspx?id=42335
   ・Windows ADK
      http://www.microsoft.com/ja-jp/download/details.aspx?id=39982
   ・作業用PC

ターゲットとなるPCは、Lenovo Miix 2 8 32GB版。USBハブを利用してブート用USBメモリに加え、キーボードも接続して作業した

 Windows 8.1 Updateのメディアが入手できない場合は、Windows 8.1にUpdateを適用してもかまわない。方法は、こちら(http://technet.microsoft.com/ja-jp/library/dn622020.aspx)に記載されている通りだ。Windows 8.1のメディアの「sources」フォルダから「install.wim」ファイルを取り出し、DISMコマンドを使ってイメージを作業用フォルダにマウント。同じく、DSIMコマンドを使って、Windows 8.1 Updateのスタンドアロンインストーラを適用しておけばOKだ。

 なお、今回はMiix 2 8がターゲットPCとなるため、インストールメディア、およびスタンドアロンインストーラは、いずれも32bit版を利用する。もちろん、64bit版を用意すれば64bit版でもWIMbootは可能だ。その場合は、以後の記事に登場するx86をx64と読み替えてもらえればいい。

 続いて、作業工程を整理しておく。作業内容は大きく分けて、以下の5工程となる。

   1.準備(作業用PCの環境を整える)
   2.イメージ作成(WIMboot用install.wimの作成)
   3.Windows PE環境の準備(インストール作業用)
   4.インストール作業(領域設定とinstall.wimの展開)
   5.初期設定(ドライバインストール)

 2と3は順番を入れ替えてもかまわないが、先にイメージを作成しておけば、Windows PE用メディア(USBかISO)にinstall.wimを含めることができるので、この順番が楽だろう。

1.準備

 では、実際に作業を進めていこう。まずは作業環境を整えていく。

・1.1 Windows ADKのインストール

 作業用PC(32bit/64bitどちらでもOK)に、Windows 8.1 Update用Windows ADK(http://www.microsoft.com/ja-jp/download/details.aspx?id=39982)をインストールする。

1.2 作業用フォルダの作成

 作業用のフォルダとして、以下の3つのフォルダを作成する。今回はdドライブにしたが、別のドライブやフォルダにした場合は、以下で紹介するコマンドのパスを読み替えてもらえれば問題ない。

      d:\Images(作業用フォルダ)
      d:\mount\windows(マウント用)
      d:\MSU(8.1updateのスタンドアロンインストーラー保存)

1.3 8.1 Updateのスタンドアロンインストーラー保存

 上記「d:\MSU」にWindows 8.1 Updateのスタンドアロンインストーラーを保存する。Windows PE環境のアップデートに使うので、保存するファイルは、KB2919422、KB2919355、KB2932046の3つでかまわない(Windows 8.1メディア本体のアップデート時はすべて必要)。

作業環境のベースとなるのはWindows AIK。すべてではなく、Deployment ToolsとWindows プレインストール環境 (Windows PE)をインスト−ルすればOK

2. イメージ作成

 準備ができたら、作業用PCでWIMboot用のイメージを作成していく。

2.1 コマンド実行環境を起動

 アプリビューの[展開およびイメージング ツール環境]を右クリックして[管理者として実行]を選択。

2.2 install.wimファイルをコピー

 Windows 8.1 UpdateのメディアをPCにセットし、以下のコマンドを実行するか手動でsourcesフォルダのinstall.wimファイルをd:\imagesにコピーし、install_temp.wimとリネームする。

Copy E:\sources\install.wim d:\Images\install_temp.wim
※E:はメディアのドライブ

2.3 install.wimに含まれるWinREイメージを分離

 install_temp.wimにはトラブルシューティング時などに起動するためのWinREイメージが含まれているので、これを分離する。以下のコマンドで、install_temp.wimをマウントし、ファイルの属性変更(隠しファイルなので表示)してから、imagesフォルダに移動する。

【編集部より】行が長い場合に強制改行されることがあるため、Webブラウザーのウィンドウ幅を広くして見ていただけるようお願いいたします。

Dism /Mount-Image /ImageFile:"d:\Images\install_temp.wim" /Index:1 /MountDir:d:\mount\Windows

attrib -s -h d:\mount\Windows\Windows\System32\Recovery\winre.wim

move d:\mount\Windows\Windows\System32\Recovery\winre.wim d:\images\winre.wim

2.4 WIMboot用にイメージ最適化

 以下のコマンドを実行して、メディアから抽出したイメージをWIMboot用に最適化する。この作業によって、余計なファイルが削除され、WIMBootに必要なファイルのみに最適化される。

Dism /Optimize-Image /Image:d:\mount\Windows /WIMBoot

2.5 マウント解除

 マウントを解除してinstall_temp.wimの内容を確定する。

Dism /Unmount-Image /MountDir:d:\mount\Windows /Commit

2.6 WIMイメージをエクスポート
 「/WIMboot」オプション追加して、install_temp.wimを「install_wimboot.wim」として新たにエクスポートする。

Dism /Export-Image /WIMBoot /SourceImageFile:d:\Images\install_temp.wim /SourceIndex:1 /DestinationImageFile:d:\Images\install_wimboot.wim

 これで、イメージの作成は完了だ。なお、「/WIMboot」などのWIMboot関連のオプションは、Windows 8.1 Updateのメディア、Windows ADKを使わないエラーになるので注意が必要だ。

install_temp.wimをマウント後、winre.wimを分離したり、WIMbootに最適化したりして、install_wimboot.wimとしてエクスポートする

3. Windows PE環境の用意

 WIMbootでは、通常のWindows 8.1のインストールと異なり、メディアからブートしてインストールするのではなく、Windows PE環境でPCをブートし、コマンドを利用して手動でOSを展開する。このため、ブート用のWindows PE環境をあらかじめ用意しておく必要がある。

 (15:30追記)ここで作成するメディアは、Windows 8.1 Updateのインストールメディアで代用できる。DVDから起動後、インストールのウィザード画面で「Shift+F10」でコマンドプロンプトが表示される。上記手順で作成したinstall_wimboot.wimとwinre.wimをUSBメモリーなどで別途用意しておき、起動したコマンドプロンプトから作業するといいだろう。

3.1 作業環境起動
 作業PCで、[展開およびイメージング ツール環境]を管理者として実行する。

3.2 Windows PEイメージを展開
 以下のコマンドを実行し、Windows ADKからWindows PEのイメージをコピーする。なお、「d:\WinPE_x86」は任意のフォルダ(自動作成)。

copype x86 d:\WinPE_x86

3.3 イメージをマウント
 「d:\WinPE_x86」に展開したWindows PE環境に含まれる起動用のboot.wimをマウントして展開する。

Dism /Mount-Image /ImageFile:"d:\WinPE_x86\media\sources\boot.wim" /index:1 /MountDir:"d:\WinPE_x86\mount"

3.4 展開したイメージに8.1 Updateを適用

 後述する手動インストール時にWIMboot関連のコマンドを実行するには、Windows 8.1 Updateを適用しておく必要がある。以下のコマンドで、「d:\MSU」に保存したWindows 8.1 Updateのスタンドアロンインストーラー(3つでOK)をマウントしたイメージに適用する。

 なお、KB2919355は適用に時間がかかる。一瞬、ハングアップしたかのように見えるが、時間がかかっているだけなので、気長に待つ必要がある

Dism /Add-Package /PackagePath:d:\MSU\Windows8.1-KB2919442-x86.msu /Image:d:\WinPE_x86\mount /LogPath:AddPackage.log

Dism /Add-Package /PackagePath:d:\MSU\Windows8.1-KB2919355-x86.msu /Image:d:\WinPE_x86\mount /LogPath:AddPackage.log

Dism /Add-Package /PackagePath:d:\MSU\Windows8.1-KB2932046-x86.msu /Image:d:\WinPE_x86\mount /LogPath:AddPackage.log

3.5 イメージを最適化

 Updateを適用したイメージを最適化する。

Dism /image:d:\WinPE_x86\mount /Cleanup-Image /StartComponentCleanup /ResetBase

3.6 マウント解除
 マウントを解除してブート用イメージを確定する。

Dism /Unmount-Image /MountDir:"d:\WinPE_x86\mount" /commit

3.7 WIMイメージをコピー

 前項「2. イメージ作成」で作成した「install_wimboot.wim」と「winre.wim」をWindows PE環境にコピー。「winpe_x86\media」フォルダにコピーしておくと、次の「MakeWinPEMedia」実行時に、wimファイル入りのISO/USBメモリを作成できる。

copy d:\images\install_wimboot.wim d:\winpe_x86\media

copy d:\images\winre.wim d:\winpe_x86\media

3.8 ブート用メディア作成

 Windows 8.1 Updateが適用されたWindows PE環境をメディアとして作成する。以下のコマンドを利用して、USBメモリー、もしくはISOを作成する。なお、USBメモリーは作成時にフォーマットされるので注意。

USBメモリーの場合:
MakeWinPEMedia /UFD d:\WinPE_x86 F:
  (F:はUSBメモリのドライブ)

ISOの場合:
MakeWinPEMedia /ISO d:\WinPE_x86 d:\WinPE_x86\WinPE_x86.iso

Windows PE環境にもUpdateの適用が必須。その後、USBメモリーやISOでメディア化しておく

4. WIMbootでインストール

 これで準備が整ったので、作成したUSBメモリを使って、Miix 2 8にWIMbootでWindows 8.1 Updateをインストールする。

 注意点は3つ。まずは、キーボードの接続だ。インストールはコマンドベースで実行するうえ、インストール直後の最初のブート時はタッチパネルのドライバーが認識されないので、USBハブを利用して、Miix 2 8にキーボードとマウスを接続しておこう(ブート用のUSBメモリーもUSBハブに接続)。

 続いては、接続したキーボードについて。ここではWindows PE環境に言語を追加していないため、起動したWindows PE環境は英語となる。キーボードも英語配列で認識されるので、「=(~キー)」や「\(]キー)」、「"(*キー)」などの入力方法を事前に確認しておこう。でないと、以下のコマンドをまともに入力できないことになる。

 最後は、ストレージが削除されることだ。以下のdiskpartで「clean」コマンドを実行した段階で、SSDがきれいさっぱり消去される。データをバックアップしておくことはもちろんだが、最悪、ブートすらできなくなる恐れがある。自己責任で実行してほしい。

4.1 USBメモリーでPCを起動

 USBハブに、キーボード(およびマウス)と3で作成したWindows PEのUSBメモリーを装着し、音量UPボタンを押しながら、電源ボタンを押す。ブートメニューでUSBメモリーを指定して、Miix 2 8を起動する。

4.2 diskpartを起動

 コマンドプロンプトが表示されるので、「diskpart」と起動。以後、キーボードは英語配列になるので注意。

4.3 パーティションを作成

 パーティションを作成する。ここでは、32GBの領域を以下の4つの領域に分割した。ポイントは「Image」の容量だ。ここには、install.wim(install_wimboot.wimをリネームして保存)とwinre.wimの2つのファイルを格納するので、最低でもこれらのファイルを合計した容量の容量を確保しておく必要がある。今回のケースでは4GBで十分だろう。

ESP=100MB、MSR=128MB、Windows=25GB、Image=4GB

 構成を確認したら、実際にdiskpartコマンドでパーティションを作成していく。以下のコマンドを実行していこう。

select disk 0

clean
  (ディスク初期化)

convert gpt
  (GPTパーティション変換)

create partition efi size=100

format quick fs=fat32 label="System"
  (ブート用のシステムパーティション作成)

create partition msr size=128
  (システムの予約領域を作成)

create partition primary
  (Windowsパーティションを作成)

shrink minimum=4000
  (Imageパーティション用に4GBほど容量を縮小)

format quick fs=ntfs label="Windows"

assign letter=c
  (フォーマットしてCドライブとして認識させる)

create partition primary

format quick fs=ntfs label="Images"

assign letter=m
  (縮小した4GBをImage用のmドライブに設定)

set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"

gpt attributes=0x8000000000000001
  (Imageパーティションを隠しのリカバリ領域に設定)

list volume
  (ドライブ一覧を表示ドライブレターを確認しておく)

exit
  (diskparを終了)

4.4 wimイメージをimageパーティションにコピー

 作成したWIMイメージ(install_wimboot.wim)をImageパーティション(mドライブ)の「Windows Images」フォルダーにコピーする。install_wimboot.wimはinstall.wimにリネームしておくこと。

md "M:\Windows Images\"

copy E:\install_wimboot.wim "M:\Windows Images\install.wim"
※E:\はUSBメモリーのドライブ

4.5 install.wimファイルを使ってWindowsを展開

 一時フォルダ(スクラッチフォルダー)を作成し、Mドライブにコピーしたinstall.wimファイルからWindowsのシステムをWindowsパーティション(cドライブ)に展開する。

md c:\Recycler\Scratch

DISM /Apply-Image /ImageFile:"M:\Windows Images\install.wim" /ApplyDir:C: /Index:1 /WIMBoot /ScratchDir:c:\Recycler\Scratch

4.6 ブートファイルを構成

 展開した「c:\Windows」からOSを起動できるようにブート情報を構成する。

c:\Windows\System32\bcdboot c:\Windows

4.7 winre.wimをコピー

 トラブル時のシステム起動用に使うWinRE.wimをmドライブの「Recovery\WindowsRE」フォルダーにコピーし、「Reagentc」コマンドを使ってリカバリ用として設定

md M:\Recovery\WindowsRE

xcopy E:\winre.wim M:\Recovery\WindowsRE\winre.wim /h
  (選択肢が表示されるので「F」を入力)

c:\Windows\System32\Reagentc /SetREImage /Path M:\Recovery\WindowsRE /Target c:\Windows

4.8 再起動

 Windows 8.1 UpdateをWIMbootで展開できたので、PCを再起動する。

Windows PE環境は英語キーボードになるので注意

5. 初期設定

 Miix 2 8でWindows 8.1 Updateが起動し、コンピューター名やアカウント設定などの初期設定が実行される。

 ただし、標準ではタッチパネルのドライバーがインストールされないため、画面に触れて設定することはできない。必ずUSBハブを利用して、キーボードやマウスを接続した状態で初期設定を実行しよう。

 なお、Technetのドキュメント(http://technet.microsoft.com/ja-jp/library/dn605112.aspx)では、ここで「Ctrl」+「Shift」+「F3」を押して、さらにイメージをカスタマイズする方法が記載されている。前述したようにMiix 2 8はインストール直後にタッチパネルのドライバーが適用されないので、将来的に初期化したときのことを考慮すると、ドライバーを適用し、カスタムイメージを作成しておくことが望ましいが、ここでは省略する。

 初期設定後、Windows 8.1 Updateが起動したら、lenovoのダウンロードサイト(http://support.lenovo.com/ja_JP/downloads/detail.page?DocID=DS038319)から、Miix 2 8用のドライバーをダウンロードし、インストールしよう(BluetoothとGPSは他の後にインストールのこと)。これで、タッチパネルが有効になり、タッチでの操作が可能になる。

 また、インストール時にローカルアカウントを指定した場合、ドライブの暗号化が無効になるため、エクスプローラーで「C」ドライブのアイコンに「!」が表示される。Microsoftアカウントでサインインすれば暗号化が有効になるので、「PC設定」の「アカウント」で関連付けを実行するといいだろう。

インストール直後はドライバーがインストールされていないため、タッチパネルなど、さまざまなデバイスが認識されない

システムの容量は最小で3.66GBに

 さて、このようにWIMbootでインストールした結果の容量は、以下の通りだ。出荷時設定(Windows 8.1 Update適用後)では、Cドライブの容量が20.93GBで、空き容量が6.12GBだったのに対して、WIMbootでのインストール直後ではCドライブの容量が24.99GBで、空き容量が21.3GBとなった。システムが消費している容量はわずか3.66GBとかなりスリムになった。

出荷時の空き領域(左)とWIMbootインストール直後の空き領域(右)

 もちろん、これはインストール直後の状態だ。このため、Office 2013 Professional Plusをフルインストールし、一通り、Windows Updateも実行してみたのが以下の画面だ。使用量が3.66GBから10.5GBに増加し、空き容量が14.4GBになってしまった。

Office 2013をフルインストールし、アップデートした後の空き容量

 Officeのフルインストールを避けて、必要なアプリのみに絞れば、もう少し空き容量を確保できそうだが、Windows Updateによる増加は避けられそうにない。

 冒頭で触れた通り、WIMbootでは、CドライブのシステムファイルをWIMイメージのポインターファイルにすることで容量を節約しているが、Windows Updateなどでファイルが実ファイルに置き換えられれば、その分、容量は消費されていくことになる。

 ベースとなるinstall.wimイメージに、なるべくアップデートを適用しておくとか、Officeなどのアプリも含めたイメージを作成しておけば、容量を節約できる可能性もあるので、このあたりはさらに試行錯誤する価値がありそうだ。

 とは言え、標準の6GBから考えれば、15GB近い空き容量が確保できるのは、大きなメリットと言える。手間もかかるし、リスクもあるが、興味のある人は試してみるといいだろう。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できるWindows 8」ほか多数の著書がある。自身のブログはコチラ