こけめも

メモみたいなもの

Windows7での回復パーティション、システムパーティション作成方法

連日需要なさそうなネタです。




Windows7で「ディスクの管理」を見ると、パーティションは以下のように構成されています。

ボリューム レイアウト 種類 ファイルシステム 状態
- シンプル ベーシック - 回復パーティション
- シンプル ベーシック NTFS システム,アクティブ,プライマリ パーティション
C シンプル ベーシック NTFS ブート,ページ ファイル,クラッシュ ダンプ,プライマリ パーティション
D シンプル ベーシック NTFS プライマリ パーティション


Cドライブ、DドライブはWindows上から見えているパーティションです。


では回復パーティション、システムパーティションって何か?
WindowsPEを使ってディスク全体をリカバリしようとした時、どうやって作るのか?というメモです。




実際に見てみると、回復パーティションにはWindowsREのイメージと、リカバリ用のWindowsイメージが入っています。
「詳細ブートオプション」の「コンピュータの修復」を行った時は、このWindowsREが起動されます。
「回復パーティション」という特殊な種類のパーティションです。


システム領域には、bootmgrやBCDストアが格納されています。
パーティションの種類はWindowsのインストールパーティションなどと同様です。



https://cacoo.com/diagrams/x0ySlePxGpvAd2kf-4B62E.png


では手順です。
コマンド中のdisk番号やpartition番号は適宜読み替えてください。

回復パーティション作成方法

前提として、WindowsPEでブートしているものとします。

diskpart
DISKPART> select disk 0
DISKPART> create partition primary size=12288
DISKPART> format fs=ntfs quick
DISKPART> assign letter=R
DISKPART> set id=27


本当はフォーマット時にラベル付けたりしてもいいんですが、細かいことはなしで。


今回ポイントとなるのはここです。

DISKPART> set id=27


作成したパーティションに対して、27というidを付与してやります。
これはMicrosoftでも紹介されていますし、メーカーのリカバリディスクでリカバリしたパーティションを見てもわかります。

DISKPART> select disk 0
DISKPART> select partition 1
DISKPART> detail partition

パーティション 1
種類         : 27
隠し属性     : はい
アクティブ   : いいえ
オフセット (バイト): 1048576

  Volume ###  Ltr Label        Fs    Type        Size     Status     Info
  ----------  --- -----------  ----  ----------  -------  ---------  --------
  Volume 7                     NTFS  Partition     16 GB  正常       非表示


種類が「27」となっているのがわかります。

システムパーティション作成方法

パーティションは普通にプライマリパーティションを作成します。

diskpart

rem システムパーティション
DISKPART> select disk 0
DISKPART> create partition primary size=200
DISKPART> format fs=ntfs quick
DISKPART> assign letter=C
DISKPART> active

rem ブートパーティション
DISKPART> create partition primary size=204800
DISKPART> format fs=ntfs quick
DISKPART> assign letter=D
DISKPART> exit

rem ブートパーティション(Dドライブ)にWindowsインストール、もしくはイメージ展開
rem この方法は各自にお任せします。
rem 例えばimagex でwim展開するなど。

bcdboot d:\Windows /l ja-jp /s c:


今回のポイントはここ

bcdboot d:\Windows /l ja-jp /s c:


ブートパーティション(Dドライブ)のWindowsから起動するブート情報をシステムパーティション(Cドライブ)に書き込んでいます。
これ以外特別なことしなくても、Windows上ではドライブレター割り当てられないし、システムパーティションとして認識されます。