4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

VHDXファイルからWindowsを起動させてみる

Posted at

#はじめに
VHDXブートとはWindows 7/Server 2008 R2以降で提供されている機能で、VHDX(仮想HDD)から
サーバを起動することができる

#背景
最近は仮想化が進んでいる
  →物理でも共通のイメージが使えたら良いいかもね!
  →Windowsだし、VHDXブートで良いよね!

#メリット
・仮想環境と共通イメージを利用できる
・VHDX以外は物理デバイスを直接利用
   →各種HW管理ツールが利用可能
・P2P、V2Pが自由自在に
・仮想化と比べ、リソースに無駄がなくオーバーヘッドも低い
・バックアップが簡単
・マルチブートが可能

#デメリット
・構成が複雑になる
・複数OSの同時起動はできない(仮想化ではないので)
・物理構成に比べ、ディスク利用効率及びIOが悪くなる
・ドライバ回りに配慮が必要
・トラブル時の対応は……
・制限事項
 https://docs.microsoft.com/ja-jp/windows-hardware/manufacture/desktop/deploy-windows-on-a-vhd--native-boot

#前提
起動したいOSが入ったVHDXを作成済み

物理ハードディスクの容量が起動したいVHDX以上であること

#OSインストール
まずはWindowsを普通にHDDにインストール *インストール方法は割愛

ディスク状況は下記な感じでな

1.png

考慮事項
・VHDXブート後、元々のCドライブは不要となるため、最小でよい
・未割当領域をVHDX格納場所として利用するため、OS分と仮想メモリ分以上の容量を確保する

未割当領域にY等のドライブレターを割り当て、起動したいOSが入ったVHDXを入れる

2.png

#BootManagerの編集

コマンドプロンプト上で下記実行

bcdedit /copy {current} /d "メニュー表記"
bcdedit /set device vhd=[ドライブレター:]<ディレクトリ><VHDファイル名>
bcdedit /set osdevice vhd=[ドライブレター:]<ディレクトリ><VHDファイル名>
bcdedit /set detecthal on

Microsoft Windows [Version 10.0.14393]
(c) 2016 Microsoft Corporation. All rights reserved.

C:\Windows\system32>bcdedit /copy {current} /d "VHD boot"
エントリは {33e534c9-d027-11e8-8371-fe67fa56f32b} に正常にコピーされました。

C:\Windows\system32>bcdedit /set {33e534c9-d027-11e8-8371-fe67fa56f32b} device vhd=[Y:]\検証.vhdx
この操作を正しく終了しました。

C:\Windows\system32>bcdedit /set {33e534c9-d027-11e8-8371-fe67fa56f32b} osdevice vhd=[Y:]\検証.vhdx
この操作を正しく終了しました。

C:\Windows\system32>bcdedit /set {33e534c9-d027-11e8-8371-fe67fa56f32b} detecthal on
この操作を正しく終了しました。

C:\Windows\system32>

システムのプロパティ→起動と回復→規定のオペレーションシステム
 VHD bootへと変更
 OSの一覧を表示~のチェックを外し、再起動

3.png

#VHDXブート後の確認
VHDXがディスク1として認識され、VHDX内のCドライブから起動している事が分かる

4.png

#事後作業
VHDX置き場(今回はF)をYへと変更
仮想メモリのドライブをCからYへと変更(VHDX上では仮想メモリを取れない為)
元々のCドライブ(今回はE)をフォーマット、必要であればその他ドライブとして利用する
   →不要であれば、すべてYドライブへと拡張してみても
VHDX上のシステムで予約済み(今回はD)のドライブレターを削除

5.png

#その他
C以外のドライブを別VHDXとした場合は起動時に自動的にマウントされなかった

タスクスケジューラにて起動時に下記様を実行させ自動的にマウントさせてみる

 ★開始プログラム
 C:\Windows\System32\cmd.exe
 ★引数
 /c "(echo SELECT VDISK FILE"Y:\D-Drive.vhdx" && echo ATTACH VDISK &&
 echo SELECT VDISK FILE"Y:\E-Drive.vhdx" && echo ATTACH VDISK) | diskpart“

可変ディスクはトラブルの元 固定にするべき
VHDXドライブサイズが物理サイズを超えると起動できない

#ブート方法の違いによるディスクIO差
検証機:HP PROLIANT DL360 G7
使用ソフト:CrystalDiskMark

てきとーな検証をしたため、物理HDDより良い数値が出てしまったが、物理ブートだろうがVHDXブートだろうが
転送速度に対した差はないと考えられる

6.png

#富士通による検証
公開してありました
最大でも6%の劣化との事
https://jp.fujitsu.com/platform/server/primergy/software/windows/technical/tips/w2008r2/01-02.html

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?