2016.12.10: 参考リンクにMBRの情報が混じっていたので補足。
2015.09.03: 初出
UEFI/GTP形式で「自分で予約領域や回復領域のサイズを変更して」Windowsをインストールする方法の紹介です。
- 「GPT形式のHDD/SSDにインストールできない」
- 「予約領域や回復領域が足りなくなるのが心配」
- 「自分の好きな大きさで予約領域を確保したい」
という方のために、パーティションを切りつつGPT形式でインストールする方法を紹介しています。
(UEFI/GPT 形式で普通にインストールしたい場合は前回更新を参照のこと)
成功例
▲クリックで拡大
・システムドライブの先頭に「REの回復領域」
・次に「EFIシステム領域」、「MSR領域」
・その後に「WindowsのCドライブ」
・最後に「Windowsシステムの回復領域」
という構成でパーティションを切ってみました。
これらパーティションのサイズは、ユーザーが任意で指定する事ができます。
補足注意
図中の約15GBの「Windowsシステムの回復領域」は、Windows 7 や Windows 10 では作成不要です。Windows 8.1 の「PCのリフレッシュ」や「PCのリセット」で必要になる領域です。(Windows 10 の「このPCを初期状態に戻す」では不要)
このページの元ネタ
- サンプル: Windows PE と DiskPart を使って UEFI/GPT ベースのハード ドライブ パーティションを構成する - Microsoft
- (※手元のPC環境では上手く実行できなかった) サンプル: 展開スクリプトを使用して Windows パーティション、システムパーティション、回復パーティションを適用する - Microsoft
上記のMicrosoft資料ページが理解できる人は、以下の情報を読む必要はありません。同じ内容です。このページでは汎用性を犠牲にして、具体的な例としてPC中級者でも作業可能な手順として公開しています。
以下、注意事項と具体的な手順の紹介です。
注意: やっちゃダメなこと
- 別のWindows上でパーティションを切ってはダメです。
- Windows上でGPTパーティションを切ってみた例
▲クリックで拡大
※Windows上では確認できませんが、MSR領域も作成しています。
GPTディスクのお作法に則って作成したつもりでいます。 - 上記で作成したSSDにWindowsをインストールしてみた例
▲クリックで拡大
このページで紹介する手順は (Windows PEではなく) Windows上で行うと、上図のようにMSRが2個できてしまいます。
(もしくは、EFIシステムより前に1個だけMSRが出来ます) - このようなDiskでも、場合によってはWindowsがインストール出来たりしますが、後で不具合の原因となります。こういうディスクにWindowsをインストールしないようにしましょう。
- Windows上でGPTパーティションを切ってみた例
- 従来BIOS、MBR形式でパーティションを切ってはダメです
- UEFI形式でOSをインストールしたい場合は、システムディスクはGPT形式でフォーマットする必要があります。
- MBR形式でフォーマットしたHDD/SSDは、GPT形式でフォーマットしなおさないとWindowsのインストールはできません。
用意するもの
- Windowsのインストール DVDまたは USBメディア
- UEFI 対応の PC
- FAT32 でフォーマットされた USBメモリ (重要)
※インストールに使用するドライブは、一度完全に初期化します。
必要なデータの入ったドライブは使わないようにしましょう。
※UEFIでUSBメモリのデータをネイティブに読み込むためには、FAT32形式でフォーマットしておく必要があります。
設定ファイルとbatファイルの準備
上で紹介したMicrosoftのサイトに記載されている
・設定ファイル(CreatePartitions.txt)
・バッチファイル (ApplyImage.bat )
(※今回の検証ではApplyImage.bat は正常作動せず。)
を作成します。
この二つのファイルを作成したら、それをUSBメモリに保存しておきます。
- CreatePartitions.txt (以下スクリプトはリンク先の長い方)
※テキストの保存ファイル名は、適当な名前でOKです。
※15GBの回復ドライブを作成しない場合は、リンク先の「短いtxtの方」でOKです。
※予約領域や回復領域を変更したい場合は、赤字部分を任意の数値に変更します。
※赤字部分の各数値はMicrosoftの推奨値です。
rem == CreatePartitions-UEFI.txt == rem == These commands are used with DiskPart to rem create five partitions rem for a UEFI/GPT-based PC. rem Adjust the partition sizes to fill the drive rem as necessary. == select disk 0 clean convert gpt rem == 1. Windows RE tools partition =============== create partition primary size=300 format quick fs=ntfs label="Windows RE tools" assign letter="T" set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" gpt attributes=0x8000000000000001 rem == 2. System partition ========================= create partition efi size=100 rem ** NOTE: For Advanced Format 4Kn drives, rem change this value to size = 260 ** format quick fs=fat32 label="System" assign letter="S" rem == 3. Microsoft Reserved (MSR) partition ======= create partition msr size=128 rem == 4. Windows partition ======================== rem == a. Create the Windows partition ========== create partition primary rem == b. Create space for the recovery image === shrink minimum=15000 rem ** NOTE: Update this size to match the size rem of the recovery image ** rem == c. Prepare the Windows partition ========= format quick fs=ntfs label="Windows" assign letter="W" rem === 5. Recovery image partition ================ create partition primary format quick fs=ntfs label="Recovery image" assign letter="R" set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" gpt attributes=0x8000000000000001 list volume exit
- 注意
当サイトはブログCMSやHTMLエディタの影響により、時々意図しない改行や半角スペースの抜けが発生します。
上記サンプルスクリプトは、念のためMicrosoftのページで取得しましょう。 - ApplyImage.bat
手元の環境では上手く実行できなかった。なので転載もなし。
- Windows8と10ではファイル構造が違うのか?リンク先がコンシューマー向けの情報じゃなかったのか?ファイル名を適時自分の環境に合わせて変更する必要があるのか?リンク先は説明不足。
- 時間切れ。次にトライ出来るのは早くて来年3月以降。
- Windows8と10ではファイル構造が違うのか?リンク先がコンシューマー向けの情報じゃなかったのか?ファイル名を適時自分の環境に合わせて変更する必要があるのか?リンク先は説明不足。
実際の作業手順
- 「上記の設定ファイルを保存したUSBメモリ」と
「インストールDVD(またはUSBメモリ)」を
PCにセットし、Windowsのインストールを開始します。 - 途中まで普通にインストールを進めていきます。
- 言語、キーボード等の選択 > 次へ
>今すぐインストール(I) > 表示
> ライセンス条項 を表示 > 同意します(A)
> インストールの種類を選んで下さい - 上記までの手順の好きなタイミングで [Shift]+[F10]キーを押します。
- 言語、キーボード等の選択 > 次へ
- コマンドプロンプトが起動します。(ここから重要)
ここで、用意した設定ファイルとテキストを実行します。
- まず「echo list volume | diskpart」と入力します
▲クリックで拡大
この画面の場合、USBメモリはCドライブとなっている事が分かります。
※注意:インストールにつかうSSDは初期化されボリュームの無い状態のため、リストに登場していません。 - 用意した設定ファイル(CreatePartitions.txt)を実行します
▲クリックで拡大
- 今回の場合、USBドライブはCドライブとなっていたので
「diskpart /s C:\CreatePartitions.txt」と入力します。
(先に保存したファイル名を入力します。) - ストレージのフォーマットなどで多少は時間がかかりますが、バッチ実行中は見ているだけでOKです。
- 15GBの回復ドライブを作成しない場合は、終了したらコマンドプロンプトを閉じます。
- 今回の場合、USBドライブはCドライブとなっていたので
- 15GBの回復ドライブを作成する場合
(※今回、technet.microsoftの手法が上手く実行できなかった)
- 何らかの手段で、用意したドライブに回復イメージをコピーします。
- 参考に出来るリンク
Windows 8.1クロスロード:第7回 「PCのリフレッシュ」と「PCのリセット」およびカスタムイメージの作成 (2/2) - @IT
- リンク先の情報は、Windowsをインストールした後に行う手順。(インストール前に行う必要なし)
- このサイト内での解説は無し。
- その他
山市良のえぬなんとかわーるど: Windows 8 >障害ディスクの交換日記 (後編)
- ※GPTにはアクティブ・パーティションというパーティション属性はない。
リンク先はMBR形式のディスク交換と思われる。 - ただし、DISKPARTでパーティションアクティブにする方法とか、Windows PE使う時のコツが参考になった。
- ※GPTにはアクティブ・パーティションというパーティション属性はない。
- まず「echo list volume | diskpart」と入力します
- 手順終了
今回の更新は以上です。