基本的に外付けUSBからのOS起動はできませんでしたが、VHDブートを使用することによって起動できることが確認できました。
作成するには前提として、Windows7 or Windows Server 2008 R2 がインストールしてある
以下手順
- インストールDVDから起動
- 今すぐインストールを行うの次の画面、インストール先を選ぶ画面で Shift+F10
- コマンドプロンプトを呼び出し、これからWindows7をインストールするドライブにVHDを作成する(たいていDドライブ)
- フォルダを作成する
mkdir D:VHD - VHD作成
Diskpart
create vdisk file=D:VHDWin7.vhd maximum=12288 type=fixed - 作成したVHDをマウントする
attach vdisk - Diskpartを終了させ、止めていたインストール画面にALT+TABで戻る
- 最新の情報に更新を行い、マウントしたVHDが表示されているのを確認する
- VHDへのインストールを選択し、エラー表示を無視してインストールを行う
- インストール終了後デュアルブートになっているので、そのままWindowsが起動するのを待つ
- VHDから起動したWindowsのレジストリを修正する(regedit→USB関連の起動を自動にする)
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/usbehci
Startの値を0
Groupの値をSystem Bus ExtenderHKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/usbhub
Startの値を0
Groupの値をSystem Bus ExtenderHKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/usbstor
Startの値を0
Groupの値を新規作成し、値をSystem Bus Extender
TagのDWORD値を新規作成し、値を3HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/usbuhci
Startの値を0
Groupの値をSystem Bus Extender
※ControlSet001以外にControlSetがある場合は全て変更する修正後VHDブートしたWindowsはシャットダウンする
- ここからインストールした内蔵HDDのWindowsから操作を行う。インストールDVDも使用するのでDVDをドライブにいれておく。
外付けUSBを繋ぎ、コマンドプロンプトを起動
diskpart
select disk 1
Clean
create partition primary
assign letter=Z - Z:ドライブとしてマウントした外付けUSBの直下にD:ドライブにあるwin7.vhdをコピーする
- 外付けUSBディスクにブートローダーを書き込む(BootsectはインストールDVDのBootフォルダの中にある)
Bootsect /nt60 z: /force /mbr - Windows7のVHDファイルにブートローダー情報を書き込むため、VHDをR:ドライブとしてマウントする
diskpart
select vdisk file=Z:Win7.vhd
attach vdisk
assign letter=R
exit - ブート情報をマウントしたWindows7のVHDファイルに書き込む
bcdboot R:windows /s z:
Rは外付けUSBからマウントしたVHDのドライブレター
Zは外付けUSBのドライブレター - 外付けUSBに書き込んだBCDを修正する
BCDEditは管理者権限でないと変更できないので、cmdをShiftを押しながら右クリックでcmdを管理者から起動を選ぶ
BCDEdit /STORE R:BootBCD /set {default} description “USB Win7”
BCDEdit /STORE R:BootBCD /set {default} local ja-JP
BCDEdit /STORE R:BootBCD /set {default} detecthal on
BCDEdit /STORE R:BootBCD /set {Bootmgr} local ja-JP/store で外部のBCD修正、ブートファイルの書き込みを行うとデフォルトでen-USなのでja-JPへ変更
detecthal onでハードウェアの情報を検出する - マウントしたVHDをアンマウントする
diskpart
select vdisk file=Z:Win7.vhd
detach vdisk
exit - 再起動してUSBからブートできるようにBIOS設定後、USBデバイスからブートでUSBにあるVHDからWindows7が起動する
- 外付けUSBディスクのVHDからブートしたWindowsのUSB関連のレジストリが元に戻っている場合があるので、11のレジストリを再度見直しを行う
- アクセサリ>システムツール>ディスクデフラグツールより自動実行を無効にする
- システムのプロパティのシステムの保護タブの構成>システムの保護を無効にする
- 完了