USB メモリから起動できる Windows 8 を 作成する ( Windows To Go)

Windows 8 では企業向けの機能として USB メモリからの起動がサポートされており、PCの環境を丸ごと持ち運びができるようになっています。


Windows To Go」という名前で呼ばれています。


Windows 8 Consumer Preview でも Windows To Go な USBメモリを作成することができるので実際に作ってみました。


それで実際に使ってみたのですが、まず最初の感想としては、「とても遅い・・・。」以前、Hyper-V 版の USB メモリを作りましたが、そちらはある程度動くのですが Windows To Go はそれと比較するとかなり遅いです。まあHyper-Vは、GUIの無いServerCoreなので軽くて当たり前ですが。


ということで、実際に利用するには性能の良いUSBメモリが必要です。USB SSDなどを使うと 快適に動作するので Windows To Go を試したい方は少しお金がかかりますが余っているUSB メモリではなく性能の良いUSB製品を用意しましょう。


Windows To Go は、Windows 8 の環境を持ち運んで、好きな場所でデモが出来るのが利点です。逆に単純に自宅で少し試したいというニーズであれば、VHDブートによる方法の方が適しています。以下の記事を参考にしてください。


Windows 8 を試してみよう。気軽に試せる VHD ブートによる インストール。
http://d.hatena.ne.jp/tekk/20120522/1337702441


というわけで、Windows To Go な USB メモリの作成方法を紹介したいと思います。


必要な材料


作業環境

  • Windows 7 (私は、Windows 7 Ultimate 32bit で実施しました)
  • ダウンロードしたWindows Automated Installation Kit for Windows 7Windows 8 Consumer PreviewはISOファイルなのでドライブにマウントできるソフトをあらかじめインストールしておいてください。(Virtual Clone Drive など)
  • 作業には、2つのドライブレターを使います。E:\(Hyper-v 2008 R2 SP1 のISOマウント用)H:\(Hyper-v編集用)
  • インストール時に Windows 8 のプロダクトキーの入力が必要なので、事前にメモやプリントアウトをしておいてください。


まず、最初にWindows Automated Installation Kit for Windows 7 をインストールします。



お膳立ては整ったので、実際の作業手順です。マシンやディスクの性能によりますが、作業時間はだいたい1時間程度です。

  • Step1 仮想ディスクの作成

まずは Windows8 をインストールするための仮想ディスクを作ります。今回作成するのは容量可変タイプで最大32GByte。容量可変タイプは実際に使用した量だけファイルサイズが大きくなるタイプです。Windows 8 に Office や Visual Studio 11 などをインストールして本格的に使いたい人、もともとのディスクの空き容量がたくさんある人は大きめのサイズを指定しましょう。容量可変タイプなので、例え1TByteを指定してもインストールだけならファイルサイズは9GByte程度にしかなりません。


diskpart
create vdisk file="C:\windows8.vhd" maximum=28288 type=expandable
select vdisk file="C:\windows8.vhd"
attach vdisk
create partition primary
assign letter=H
format quick fs=ntfs label=hyperV
exit

  • Step2 OSイメージの展開

Windows 8 の OS イメージを VHD ファイルに展開します。20分ほどかかります。


"C:\Program Files\Windows AIK\Tools\x86\imagex.exe" /apply "E:\sources\install.wim" 1 H:\

  • Step3 言語とキーボード設定

Windows 8 の言語とキーボードの設定です。


dism.exe /image:H: /Set-AllIntl:ja-JP
dism.exe /image:H: /Set-LayeredDriver:6

  • Step4 仮想ディスクのデタッチ

仮想ディスクに対する操作は済んだのでデタッチします。


diskpart
select vdisk file="C:\windows8.vhd"
detach vdisk
exit

  • Step5 ファイルのコピー

USBメモリへのVHDファイルの転送


robocopy.exe "C:\" F:\ "windows8.vhd"

  • Step6 ブート設定

USBメモリにブートマネージャを書き込み


"C:\Program Files\Windows AIK\Tools\PETools\x86\bootsect.exe" /nt60 F: /force /mbr

  • Step7 仮想ディスクのアタッチ

再び仮想ディスクにアタッチします


diskpart
select vdisk file="F:\windows8.vhd"
attach vdisk
exit

  • Step8 ブート環境作成

ブートに必要なファイルを書き込みます


"C:\Program Files\Windows AIK\Tools\x86\bcdboot.exe" H:\windows /s F:

  • Step9 ブート環境作成

スワップの防止(USBメモリへの書き込み回数低減のため)


reg.exe load HKLM\HyperVTemp H:\windows\system32\config\system
reg.exe add "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "" /f
reg.exe delete "HKLM\HyperVTemp\ControlSet001\Control\Session Manager\Memory Management" /v ExistingPageFiles /f
reg.exe unload HKLM\HyperVTemp

  • Step10 仮想ディスクのデタッチ

仮想ディスクに対する操作は済んだのでデタッチします。


diskpart
select vdisk file="F:\windows8.vhd"
detach vdisk
exit