Windows 7/2008 R2のインストールにおけるパーティション構成とデュアル/マルチブート

●ブートパーティションとシステムパーティションの分離
Windows 7/2008 R2のインストールでは、これまでのVista/2008までのWindowsとは大きく異なる点がある。それは、Windows 7/2008 R2本体をインストールするパーティション (ブートパーティション) とは別に、bootmgrなどのブート関連ファイルをインストールするパーティション (システムパーティション) を勝手に作成する場合があることだ。システムパーティションには"bootmgr"、"BOOTSECT.BAK" の2ファイルと、"Boot"、"System Volume Information" の2フォルダが作成される。
従来のWindowsでも、新規OS本体をインストールするパーティションとは別にアクティブに設定されているパーティションがある場合は、そのパーティションをシステムパーティションとして、ブートパーティションとは分離することは行われていた。しかし、ユーザーが指定もしていないのにシステムパーティションをブートパーティションと分離して勝手に作成することはなかった。
このような仕様にしたのは、BitLocker (HDD暗号化) 機能を使うためにはブートパーティションの他にシステムパーティションを分ける必要があるという理由だ。ブートパーティションを暗号化すると、そのパーティションがシステムパーティションを兼ねている場合は起動できなくなる。起動時には暗号化されたファイルを認識できないため、少なくともboot関連ファイルは暗号化されていない状態である必要があるためだ。したがってシステムパーティションは暗号化せずにブートパーティションを暗号化するために、両者を分離するということだ。
しかし、BitLocker機能を使わない人にとっては余計なお世話だろう。少なくともBitLocker機能を使うかどうか、したがってシステムパーティションを分けるかどうかをユーザーが選択できることが望ましいだろう。Windows 7のエディションとしては、EnterpriseとUltimateのみがBitLocker機能をサポートし、Home Basic/Home PremiumやProfessionalではBitLocker機能を利用できないにも関わらず、全エディションでシステムパーティションを分離するのはまったく納得できない。

●Windows 7/2008 R2でのパーティション構成の確認
ここでは、Windows 7/2008 R2のインストールの際に、どのような条件でシステムパーティションとブートパーティションが分離されるのかを検証するために、色々なパーティション構成を構築した上でWindows 7/2008 R2をインストールしてパーティション構成がどう変わるかを調べた。なお、既存パーティションも自動的に作成されるパーティションもいずれもファイルシステムはNTFSで検証した。
なお、ブートパーティションと分離されたシステムパーティションにはドライブ名が付かないので、そのままではマイコンピュータやエクスプローラ等で見えないが、ドライブ名を付けてやれば見えるようになる。これはシステムパーティションへの無用なアクセスを避けるためだろう。ただ、デュアルブート/マルチブートでは不便なので、ドライブ名を付けてやるのがよいだろう。

1) まっさらなHDDにインストールする場合
Windows 7/2008 R2をインストールするブートパーティションの他に100MBのシステムパーティションが自動的に (勝手に) 作成される。いずれもプライマリパーティション。

2) 拡張パーティションと空き領域 (プライマリパーティションを作成可能) がある状態で、空き領域にWindows 7/2008 R2をインストールする場合
エラーコード:0x80300024のエラーが発生してインストール不可。

3) 拡張パーティションと空き領域 (プライマリパーティションを作成可能) がある状態で、拡張パーティション中の空き領域にWindows 7/2008 R2をインストールする場合
エラーコード:0x80300024のエラーが発生してインストール不可。

4) 拡張パーティション、論理パーティションと空き領域 (プライマリパーティションを作成可能) がある状態で、拡張パーティション中の論理パーティションにWindows 7/2008 R2をインストールする場合
Windows 7/2008 R2をインストールする論理パーティションとは別に、システムパーティション (プライマリパーティション) が自動的に作成される。

5) 空き領域 (プライマリパーティションを作成可能) と拡張パーティションがある状態で、空き領域にWindows 7/2008 R2をインストールする場合
Windows 7/2008 R2をインストールするブートパーティションの他にシステムパーティションが自動的に作成される。いずれもプライマリパーティション。

6) 空き領域 (プライマリパーティションを作成可能) と拡張パーティションがある状態で、拡張パーティション中の空き領域にWindows 7/2008 R2をインストールする場合
エラーコード:0x8004240Fのエラーが発生してインストール不可。

7) 空き領域 (プライマリパーティションを作成可能) と拡張パーティション、論理パーティションがある状態で、拡張パーティション中の論理パーティションにWindows 7/2008 R2をインストールする場合
Windows 7/2008 R2をインストールする論理パーティションとは別に、システムパーティション (プライマリパーティション) が自動的に作成される。

8) 既にHDDにプライマリパーティションが1または2つ作成されていて、空き領域にWindows 7/2008 R2をインストールする場合
作成済のプライマリパーティションがアクティブか非アクティブかで結果が違ってくる。
8-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
Windows 7/2008 R2をインストールするパーティションとは別に、システムパーティションが自動的に作成される。いずれもプライマリパーティション。

8-2) 作成済のプライマリパーティションのどちらかがアクティブの場合
別のシステムパーティションは作成されず、アクティブなパーティションがシステムパーティションになる。ブートパーティションはプライマリパーティションとして作成される。

9) 既にHDDに3つのプライマリパーティションが作成されていて、空き領域にWindows 7/2008 R2をインストールする場合
9-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
別のシステムパーティションは作成されず、先頭のパーティションがシステムパーティションになる。ブートパーティションはプライマリパーティションとして作成される。

9-2) 作成済みのパーティションの内、どれかのパーティションがアクティブの場合
別のシステムパーティションは作成されず、アクティブなパーティションがシステムパーティションになる。ブートパーティションはプライマリパーティションとして作成される。

10) 既にHDDに1〜4つのプライマリパーティションが作成されていて、どれかのパーティションにWindows 7/2008 R2をインストールする場合
10-1) 作成済のプライマリパーティションがすべて非アクティブ、またはWindows 7/2008 R2をインストールするパーティションがアクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがシステムパーティションかつブートパーティションになる。

10-2) 作成済みのパーティションの内、Windows 7/2008 R2をインストールするパーティション以外がアクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、アクティブなパーティションがシステムパーティションになる。

11) 既にHDDの先頭に1または2つのプライマリパーティションと1つの拡張パーティションがあり、その後ろに空き領域がある状態で、拡張パーティション中の空き領域にWindows 7/2008 R2をインストールする場合
11-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
エラーコード:0x80300024のエラーが発生してインストール不可。

11-2) 作成済みのプライマリパーティションのどれかがアクティブの場合
別のシステムパーティションは作成されず、アクティブなパーティションがシステムパーティションになる。Windows 7/2008 R2をインストールするパーティションがブートパーティション (論理パーティション) になる。

12) 既にHDDの先頭に1または2つのプライマリパーティションと1つの拡張パーティションと論理パーティションがあり、その後ろに空き領域がある状態で、拡張パーティション中の論理パーティションにWindows 7/2008 R2をインストールする場合
12-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
別のシステムパーティションは作成されず、先頭のパーティショがシステムパーティションになる。Windows 7/2008 R2をインストールするパーティションがブートパーティション (論理パーティション) になる。

12-2) 作成済みのプライマリパーティションのどれかがアクティブの場合
別のシステムパーティションは作成されず、アクティブなパーティションがシステムパーティションになる。、Windows 7/2008 R2をインストールするパーティションがブートパーティション (論理パーティション) になる。

13) 既にHDDの先頭に1または2つのプライマリパーティションがあり、その後に空き領域 (システムパーティションを作成可能) があり、さらにその後に拡張パーティションがある状態で、拡張パーティション中の空き領域にWindows 7/2008 R2をインストールする場合
13-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
エラーコード:0x8004240Fのエラーが発生してインストール不可。

13-2) 作成済のプライマリパーティションのどれかがアクティブの場合
エラーコード:0x8004240Fのエラーが発生してインストール不可。

14) 既にHDDの先頭に1または2つのプライマリパーティションがあり、その後に空き領域 (システムパーティションを作成可能) があり、さらにその後に拡張パーティションおよび論理パーティションがある状態で、論理パーティションにWindows 7/2008 R2をインストールする場合
14-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、先頭のパーティションがシステムパーティションになる。

14-2) 作成済のプライマリパーティションのどれかがアクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、アクティブなパーティションがシステムパーティションになる。

15) すでに拡張パーティションと1つのプライマリパーティションが作成されていて、その後に空き領域がある状態で、空き領域にWindows 7/2008 R2をインストールする場合
15-1) 作成済のプライマリパーティションが非アクティブの場合
Windows 7/2008 R2をインストールするパーティションとは別に、システムパーティションが自動的に作成される。いずれもプライマリパーティション。

15-2) 作成済のプライマリパーティションがアクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、アクティブなパーティションがシステムパーティションになる。

16) すでに拡張パーティションと2つのプライマリパーティションが作成されていて、その後に空き領域がある状態で、空き領域にWindows 7/2008 R2をインストールする場合
16-1) 作成済のプライマリパーティションがいずれも非アクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、先頭のパーティションがシステムパーティションになる。

16-2) 作成済のプライマリパーティションのどれかがアクティブの場合
別のシステムパーティションは作成されず、Windows 7/2008 R2をインストールするパーティションがブートパーティションで、アクティブなパーティションがシステムパーティションになる。

●法則性はあるか
以上から法則性を抽出することは、例外がいくつもあるので難しいが、あえて抽出すれば次のようになる。

A) 空き領域にWindows 7/2008 R2をインストールする場合は、そのパーティションはプライマリパーティションとして作成される。また既存のパーティションにWindows 7/2008 R2をインストールする場合は、そのパーティション種類 (プライマリまたは論理) が維持される。
B) 既にプライマリパーティションが存在し、既存のパーティションにWindows 7/2008 R2をインストールする場合は、新規にシステムパーティションが作成されない。
C) プライマリパーティションが存在しない状態で、論理パーティションにWindows 7/2008 R2をインストールする場合は、新規にシステムパーティションが作成される。
D) 既存のアクティブなプライマリパーティションが存在する場合は、新規にシステムパーティションが作成されない。
E) 既存のアクティブなプライマリパーティションが存在せず、Windows 7/2008 R2を既存のプライマリパーティションにインストールする場合は、そのパーティションがシステムかつブートパーティションになる。
F) 既存のアクティブなプライマリパーティションが存在せず、かつ、Windows 7/2008 R2を空き領域にインストールする場合で、Windows 7/2008 R2をインストールするパーティション (ブートパーティション) の他にプライマリパティションを作成する余裕がない場合は、新規にシステムパーティションが作成されない。
G) 既存のアクティブなプライマリパーティションが存在せず、かつ、Windows 7/2008 R2を空き領域にインストールする場合で、Windows 7/2008 R2をインストールするパーティション (ブートパーティション) の他にプライマリパティションを作成する余裕がある場合は、新規に100MBサイズのプライマリパーティションが作成されて、そのパーティションがシステムパーティションになる。Windows 7/2008 R2を空き領域の最大サイズで作成するように指定しても、システムパーティションに100MBを取られる。
H) 拡張パーティション中の空き領域にWindows 7/2008 R2をインストールしようとすると、エラーが発生してインストールに失敗する。ただし、HDDの先頭に1または2つのプライマリパーティションと1つの拡張パーティションがあり、その後ろに空き領域がある状態で、拡張パーティション中の空き領域にWindows 7/2008 R2をインストールする場合で、作成済みのプライマリパーティションのどれかがアクティブであれば、Windows 7/2008 R2の論理パーティションへのインストールは成功し、アクティブなパーティションがシステムパーティションになる。(−−なぜ例外が起きるのか?−−)
I) 拡張パーティションと空き領域 (プライマリパーティションを作成可能) がある状態で、空き領域にWindows 7/2008 R2をインストールしようとすると、エラーが発生してインストールに失敗する。(−−本来は 1) と 同じはずなのになぜ?−−)
J) 既にHDDに3つのプライマリパーティション (いずれも非アクティブ) が作成されていて、空き領域にWindows 7/2008 R2をインストールする場合は、先頭のパーティションがシステムパーティションになる。(−−なぜWindows 7/2008 R2をインストールするパーティションがシステムパーティションにならないのか?−−)

●Windows 7/2008 R2を含むデュアルブート/マルチブートの問題点
Windows 7/2008 R2はVistaベースのOSなので、デュアルブート/マルチブートに関しては基本的にはVistaと同じであるが、システムパーティションが勝手に作成される場合がある点だけが異なっている。
一般的には、既に別のWindows 7/2008 R2以外のWindowsがインストールされているHDDにWindows 7/2008 R2をデュアル/マルチブートでインストールする場合は D) の形になるので、新規にシステムパーティションが作成されることはない。これはVistaと同じなので、Windows 7/2008 R2だから違うということはない。
ただし、Windows 7をインストールした場合は、既存のWindowsパーティションのドライブ名が削除されるので、windows 7から既存のパーティションにアクセスするためには「ディスクの管理」画面でドライブ名を付けてやる必要がある。
また、先にWindows 7/2008 R2をインストールする場合は、パーティション構成によって新規にシステムパーティションが作成される場合があるので、注意が必要だ。特にマルチブートでは複数のプライマリパーティションを必要とする場合があるが、1台のHDDには最大4つのプライマリパーティションまたは3つのプライマリパーティションと1つの拡張パーティションしか作れないという制約があるので、Windows 7/2008 R2が2つのプライマリパーティションを作ってしまうと、他のOSのインストールができなくなる場合がある。Windows 7/2008 R2が勝手にシステムパーティションを作成しないようにしたい場合は、あらかじめWindows 7/2008 R2のインストール先をプライマリパーティションとして作成しておけばよい。
なお、Windows 7/2008 R2の新機能として、実パーティションではなく、仮想パーティション (仮想HDD) にWindows 7/2008 R2をインストールすることができる。この機能を使えば、実パーティション数を減らすこともできるので、マルチブートでは大いに活用したい。
また、Windows 7/2008 R2を論理パーティションにインストールする場合は、拡張パーティション中の空き領域にインストールしようとすると H) のようにインストールに失敗する場合があるが、これもあらかじめ論理パーティションを作成しておけば失敗を防ぐことができる。
I) はめったにない構成だが、もしこのような構成にしたい場合は、あらかじめWindows 7/2008 R2のインストール先パーティションを作成しておくことで失敗を防げる。