VHDマルチブートに関するメモ

こちらのページでVHDブートが紹介されていますが、仮想環境ではできない検証ができるので便利です。

**Boot from VHD 機能で Windows Insider Preview を安全に試す**
https://qiita.com/ksasaki/items/4e802da17f51d602b17d

- GPUをつかう（ゲームの開発など）
- ハードウェアに直接アクセスする（デバイスドライバの開発など）

といったシーンが主な活用法だと思います。

# 利点と欠点

VHDブートにはどのような利点と欠点があるのか調べました。以下のサイトを翻訳したものです。

**Boot from VHD Lee W, MVP CERTIFIED EXPERT Published: 2011-12-27**
https://www.experts-exchange.com/articles/8951/Boot-from-VHD.html

:::note info
# 利点
Windows 7 Ultimate と Enterprise (および 2008 R2) では、VHD からの起動という新しい機能が導入されました。 

VHDからの起動（またはMicrosoftがNative Bootと呼ぶもの）は、Virtual PC、Virtual Server、Hyper-VなどのMicrosoft Virtualizationテクノロジーで通常使用されるVHD（Virtual Hard Disk）ファイルにWindowsをインストールすることができます。 はっきり言って、VHD からの起動を使用して完全な仮想マシンを実行しているわけではなく、ハード ディスクのように見えるファイルにインストールしているだけです（ハード ディスクを仮想化しているのです）。 ある意味、これはMS-DOSの昔のDouble SpaceやStacker圧縮ユーティリティのようなものです（ただし圧縮はしていません）。

ハードディスクを仮想化するだけなので、システム上のすべてのハードウェアに直接アクセスできるという利点があります（ディスクに関係しない限り）。 つまり、ハイエンドのグラフィックカードを持っていれば、そのハイエンドのグラフィックカードやスキャナ、その他のものを使うことができるのです。

VHDへのブートには一定の利点と欠点があります。 メリットとしては、以下のようなものがあります：
- ハードディスク以外のすべてのものに直接ハードウェアでアクセスできる。
- 再パーティションせずにマルチブートを可能にします。
- ハードディスクを簡単にアップグレードできる  VHDを新しいドライブにコピーするだけで、パーミッションの問題もなく、1つの大きな（できれば連続した）ファイルとしてコピーできるため、通常は非常に迅速に行うことができます（起動能力の復元はもう少し厄介かもしれません；私はやったことがありません）。
:::

:::note warn
# 欠点
欠点のほとんどは、VHDからの起動を検討したい人にほとんど影響を与えないでしょう。 とはいえ、以下のようなものがあります：
- VHDでインストールされたバージョンのWindowsでブートすると、**ハイバネーション機能が無効**になります。
- VHDで起動すると、全体的なディスク性能が低下する（ただし、日常的な使用では、私の経験上、それほど大きくはない）。
- VHDのサイズ制限が2040MB（2TBギリギリ）であるため、**最大ディスクサイズは基本的に2TB**となります（GPTオプションはありません。 ただし、MicrosoftがVHDXで2TBを超えるようにVHD仕様を拡張しているため、Windows 8では変更される可能性があります）。

VHDへのブートが有用なシナリオはいくつかあります：
各クライアントに特化したインストールを必要とするコンサルタント
Windowsの新バージョンやサービスパックをハードウェア上で直接（大部分）ベータテストする（例：Windows 8とWindows 8サーバーをノートPCのVHDにインストールしている）。
開発者：業務上、独自のインストールが必要で、仮想マシンではうまくいかない場合がある。

ヒント、ゴッチャ、および参考情報
- ドライブがエミュレートされているため、Windows 7のエクスペリエンススコアを算出することができません。
- ハイバネーションが無効になっているので、ノートパソコンをハイバネーションすることはできません。 ただし、ある特定のインストールを定期的に使用することが予想される場合は、そのインストールをハードドライブに直接置き、それ以降の代替インストールを VHD に置くことで、ハイバネーションを実現できる場合があります。
- VHDから起動すると、**VHDが保存されているドライブが表示され、VHDの全サイズが使用されているように表示**されます。 例えば、200GBの動的に成長するVHDを作成し、そこから250GBで起動した場合、起動したOSでは物理ドライブはD:として表示され、200GBがVHDだけで使用されているように見えます。 しかし、そのドライブに直接インストールされたOSから起動すると、同じVHDが実際のサイズを示すようになります。
- **ドライブ上のファイルのサイズと**ダイナミックVHDの最大サイズの合計が、ドライブのサイズを超えない**ようにしてください。 これは、上記のように、そのOSで起動したときにダイナミックVHDが最大サイズになるように見えるため、問題が発生します。 Windowsに関しては実際にそうなっているので、他のファイルやVHDの合計が、起動するOSのVHDよりも大きくなる場合は問題です。
VHDで起動した場合、**ページファイルはVHD内に作成されず、VHDの外側の物理ドライブ**（通常はドライブD:）に作成されます。 ブートする際には、上記の点を念頭に置いてディスク容量の計算をしてください。
理想的には、**Dynamic VHDではなく、Fixed VHDを使用したい**ものです。 これは、VHDファイル自体が成長するにつれて断片化しないようにするためです。 Dynamicオプションは魅力的で、状況によっては必要になるかもしれませんが、時間が経つにつれて、より大きなパフォーマンスの低下を引き起こす可能性があることを認識しておいてください。
- VHDにあるからといって、それを仮想マシンにできるわけではありません。 仮想マシンは、ハードディスクを全く別のコンピュータに入れるようなものです。 仮想マシンは、ハードディスクを全く別のコンピュータに入れるようなものです。（起動させることができたとして）再アクティブ化する必要があるでしょうし、VMと物理ハードウェアへの起動を行ったり来たりするのは確かに嫌でしょう（同じことが、仮想マシンのVHDハードディスクを、VHDから実行する物理インストールにすることにも言えるでしょう）。
- VHDファイルをネストすることはできません。VHDの中にVHDを作成し、その中でブートすることはサポートされていません。
- **BitLocker は、起動したオペレーティングシステムと組み合わせて使用することはできません**。 VHDを保存しているドライブでbitLockerを有効にすると、ブートできなくなります。 また、VHDファイルであるオペレーティングシステム（ドライブ）自体を暗号化することはできません。
- ダイナミックディスクは、OSにマウントする際のVHDの形式としても、VHDの保存場所としても、サポートされていません。
- ネットワーク共有にVHDを保存し、そこから起動することはできません。
- この方法で古いオペレーティング・システムを起動することはできません（私が読んだ限りでは、個人的には試していません）。

www.DeepL.com/Translator（無料版）で翻訳
:::

# まとめ

注意点としては以下があるようです。
- 動的VHDXにしたときに元ディスクの容量を超えないこと。
    →　たとえば元ディスクが256GBで、512GBの動的VHDXでブートすると、いつかはブルースクリーンになります。（経験済み）
    →　これを回避するには固定VHDXが一番ですが、コピーに時間がかかります。なので動的VHDXでWindows上のディスクパーティションを最初は小さめにつくることです。あとから拡張できます。
　
- パフォーマンスについては1～3%のディスク速度低下なので問題ありません。
- ハイバーネーションも今はあまり使われなくなりましたのであまり気になる点ではないです。

- ディスクが"Microsoft Msft Virtual Disk SCSI Disk Device"という仮想ドライバになるので、もしSSDの型番をもとにソフトウェアを駆動するような特殊なソフトについては動かない可能性があります。


# 参考にさせていただいたサイト

**VHDブートの性能と検証環境への利用** 
https://jp.fujitsu.com/platform/server/primergy/software/windows/technical/tips/w2008r2/01-02.html

**OSV - パナソニック インフォメーションシステムズ**
https://is-c.panasonic.co.jp/service/product/osv/

**Windows 7のVHDブートの方法に関するメモ**
http://mag.autumn.org/Content.modf?id=20100406121926

**WindowsをVHDにインストールする 2023-03-24**
https://0sn.net/posts/20230324/windows-vhd-install/

**Boot from VHD 機能で Windows Insider Preview を安全に試す**
https://qiita.com/ksasaki/items/4e802da17f51d602b17d

**Boot from VHD Lee W, MVP CERTIFIED EXPERT Published: 2011-12-27**
https://www.experts-exchange.com/articles/8951/Boot-from-VHD.html