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?