前回までで、応答ファイルを仕込んだ Windows イメージをカスタマイズ、作成しました。今回は、このカスタマイズしたイメージで、参照マシンに Windows を展開し、参照マシンを作成していきます。

 

 

さて、参照マシンの作成です。

今回は、第一回 でも書いたように、ストレージを CドライブDドライブ の2つのパーティション1 に分け、CドライブにカスタマイズしたWindows イメージ(前回で作成済み)を展開します。

ただ、パーティショニングを手動で行うのは面倒です。

以前作成した、USB-B にはパーティショニングからイメージの展開を一括で行うためのバッチファイル群がありますので、そのファイル群を一部修正する作業を行います。

 

USB-B: DISKPART スクリプトの修正

準備編で作成していた、USB-B を作業用PCに接続して、中のスクリプトの一部を修正します。

ファイルは、USB-B\Deployment\CreatePartisions-UEFI-FFU.txt になります。このファイルは後に実行する、ApplyImage.bat 実行時に呼び出されるスクリプトになります。

何も変更を加えていない状態のスクリプトは次のとおりです。

rem == CreatePartitions-UEFI-FFU.txt ==
rem == These commands are used with DiskPart to
rem    create four 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. 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 == 2. Microsoft Reserved (MSR) partition =======
create partition msr size=16
rem == 3. Windows partition ========================
rem ==    a. Create the Windows partition ==========
create partition primary 
rem ==    c. Prepare the Windows partition ========= 
format quick fs=ntfs label="Windows"
assign letter="W"
list volume
exit

 

上ののバッチファイルは読みにくいので、余計なコメント文を省いてみると次のようになります。

select disk 0
clean
convert gpt
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"
create partition msr size=16
create partition primary
format quick fs=ntfs label="Windows"
assign letter="W"
list volume
exit

 

内容を見てみると、だいたいどんなことをしようとしているのかわかると思いますが、ざっくりというと、、

物理ディスク0 のパーティションを、

  1. Systemパーティション: 100MB
  2. 予約(MSR)パーティション: 16MB
  3. Windows パーティション: 残りすべて

のように区画を分割するスクリプトになっています。

これを、以下のように変更します。

select disk 0
clean
convert gpt
create partition efi size=100
format quick fs=fat32 label="System"
assign letter="S"
create partition msr size=16
create partition primary size=204800
format quick fs=ntfs label="Windows"
assign letter="W"
create partition primary
format quick fs=ntfs label="DATA"
assign letter="H"
list volume
exit

 

変更になっているのは、後半の部分ですね。

箇条書きにすると次のようになります。

  1. Systemパーティション: 100MB
  2. 予約(MSR)パーティション: 16MB
  3. Windows パーティション: 200GB
  4. DATA パーティション: 残りすべて

つまり、Windows パーティションの容量を 200GB と指定して作成し、

create partition primary size=204800
format quick fs=ntfs label="Windows"
assign letter="W"

 

その上で、新たに Data パーティションを作成し、残りすべての容量を割り当てます。

create partition primary
format quick fs=ntfs label="DATA"
assign letter="H"

 

ここで、assign letter として "W" や "H" などを割り当てていますが、このドライブレターは、あくまでも仮なので 何でもいい です、というか、 Windows PE で使用するドライブレター( "C" や "X" など) と衝突しない限り、特に制限はありません。

DISKPART コマンドでこのスクリプトを実行させると、次の図のようにストレージがパーティショニングされます。

DISKPART: 物理ディスク0 のパーティション(回復パーティションなし)

DISKPART: 物理ディスク0 のパーティション(回復パーティションなし)

 

実際のパーティショニングは、参照マシンに Windows を展開する直前に実行されるので、ここでは一旦ファイルを保存しておきます。

 

回復パーティションを作成する場合

今回のこのシリーズの記事では、Windows RE (Windows回復環境) に関しては設定しないことを書いていますが、念の為に回復パーティションを用意する場合のスクリプトも掲載しておきます。

ファイルは、CreateRecoveryPartitions-UEFI.txt で回復パーティションを作成し、HideRecoveryPartitions-UEFI.txt でパーティションの属性を変更するようになっています。

CreateRecoveryPartitions-UEFI.txt

以下は、修正後のスクリプトになります。

実際には、物理ディスク0 の 4番目のパーティションサイズを縮小させて、末尾に新たに回復パーティションを作成するだけです。

DATA パーティションがあるかないかで、選択するパーティション番号が違ってくる ことに気をつけてください。

rem == CreateRecoveryPartitions-UEFI.txt ==
select disk 0
select partition 4
assign letter="H"
rem == extend the Windows partition ==
shrink minimum=500
extend
rem ==    b. Create space for the recovery tools  
shrink minimum=500
rem       ** NOTE: Update this size to match the
rem                size of the recovery tools 
rem                (winre.wim)                 **
rem === Create Recovery partition ======================
create partition primary
format quick fs=ntfs label="Recovery"
assign letter="R"
set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
gpt attributes=0x8000000000000001
list volume
exit

 

また、次のスクリプトは、回復パーティションを隠すためのスクリプトです。

こちらも、選択するパーティションの番号に気をつけてください。

rem === HideRecoveryPartitions-UEFI.txt ===
select disk 0
select partition 5
set id=de94bba4-06d1-4d40-a16a-bfd50179d6ac
gpt attributes=0x8000000000000001
remove
list volume
exit

 

ここまでの Windows RE を作成する DISKPART のスクリプトを実行したあとのパーティションは、次の図のようになります。

DISKPART: 物理ディスク0 のパーティション(回復パーティションあり)

DISKPART: 物理ディスク0 のパーティション(回復パーティションあり)

 

参照マシンに Windows を展開する

参照マシンをセットアップするために、USB-B に展開用イメージをコピーし、参照マシンを WinPE で起動して、Windows イメージを展開します。

 

USB-B に展開イメージをコピー

まず、作業用ディレクトリに作成した展開イメージ(Images\install.wim) を、現在、挿入している USB-B (USB-B\Images) にコピーします。

ここまでの作業が終わったら、USB-B を取り外して、参照マシンの準備を始めましょう。

 

参照マシンのストレージ

ここまで、あまり参照マシンのことに付いて詳細に触れていませんでしたが、簡単に以下のことを確認しておきたいと思います。

ここでモデルとなる参照マシンは以下の通りになります。

  • Windows 10 Pro プリインストールマシン
  • 搭載しているストレージは、500GB の SSD

Windows10 Pro プリインストールマシンというのは、今回は Windows の「再イメージング権」を使って、ボリュームライセンス版のWindowsを展開 するので、これは必須になります。

また、SSD のサイズですが、先程の DISKPART によるパーティショニングスクリプトについては、搭載している SSD のサイズによって、作成するパーティションのサイズを考慮する必要があるかもしれません。例えば、例示したスクリプトでは、Cドライブ (Windows) に200GB 割り当てていますが、容量の大きなSSD の場合は、400GB などと、もう少しサイズを増やしてもよいかもしれません。

あと、ストレージは HDD ではなく SSD がマストだと思ってください。

SATA でも M.2 NVMe でもどちらでも構わないので2、HDD ではなく、SSD にインストールするようにすべきです。

 

参照マシンを USB から起動できるように構成

次に、参照マシンを USB メモリから起動できるように構成します。

こちらは、参照マシンに搭載されているマザーボードメーカーによっても変わってきますので、ここでは簡単に概要について書いておくのにとどめます。

一番手っ取り早いのは、UEFI の設定画面とは別に、Boot メニューを利用して起動する方法です。

Bootメニューを使うと、通常起動するドライブではなくて、一時的に別の(起動可能な)ドライブから起動させることができるので、いちいち起動設定を変更する必要がありません。

マザーボードによっては、UEFI メニューから直接的に起動させることができるものもあります。

こういった簡単起動ができない場合は、UEFI メニューから Boot シーケンスを変更する 必要があります。その場合は、後々の面倒を避けるためにインストール後、再度 Boot シーケンスをもとに戻しておく必要があるかもしれません3

いずれにしても、上記の設定をするときには、WinPE と USB-B の入ったUSBメモリを予め PC に挿しておいてください。でないと、起動可能なドライブの一覧に USBメモリが表示されません。

 

参照マシンに Windows を展開

上記のように、参照マシンに USBメモリを挿してPCの起動構成を変更したら、PCを再起動させます。

USB-B から Windows PE が起動して、次のようなプロンプトを表示して、ユーザーからの入力を待ち受ける状態になります。

Windows PE 起動直後

 

起動したら、まず最初に DISKPART を起動して、認識されているディスクとボリュームの確認 をします。

DISKPART が起動したら、list disk で、接続されている物理ディスクの一覧と、list vol で、ボリュームの一覧を表示させます。

Windows PE: DISKPART

 

上の画像からわかるように、物理ディスクとして、

  • ディスク0 として、512GB のSSD
  • ディスク1 として、USBメモリ

がそれぞれ認識されています。

ここで肝心になってくるのは、SSD のディスク番号が何番で認識されているかです。この文書では、PCの本体の内蔵ストレージとしてSSDが一台搭載されていることを前提としているので、自ずとディスク番号は #0 として認識されていますが、複数の物理ストレージが搭載されていると、#0 以外で認識される場合があります。

この時に、前項で修正しているDISKPART スクリプトは、ターゲットドライブとして ディスク#0 に対して操作を実行するので、気をつけて実行してください。

複数の物理ストレージが搭載されている状態で、以下のスクリプトを実行するのは危険です。

そのような場合は、余計なストレージを取り外すとか、ストレージが接続している SATA コネクタの順を入れ替えるなどして、展開先のストレージのディスク番号が #0 になるようにしてください。

次に、ボリュームの一覧ですが、

  • Volume 0 ~ 2: プリインストールされているWindows関連のボリューム
  • Volume 3 ~ 4: USBメモリのパーティション

と、このように5つのボリュームが存在していることがわかります。

この画像では、USBメモリ内のパーティションは、

  • D: WINPE
  • E: USB-B

と、2つのボリュームに別れているのですが、この内、USB-B ボリュームのドライブレターは覚えるなり控えるなりしておいてください4

ここで次に、USB-B の Deployment ディレクトリに移動します。移動先は、先程控えた USB-B のドライブレター(上の例では、E:)になります。

cd /d E:\Deployment

 

次に、ApplyImage.bat の引数に E:/Images/install.wim を渡して、Windows を展開します。

Applyimage.bat E:\Image\install.wim

 

バッチコマンドを実行すると、次の様に「回復ドライブの作成をするか?」と訪ねてくるので、ここでは N とします。

ここで、Y を選択すると、実行される DISKPART のスクリプトが違ってくるので、気をつけてください。

 

cd /d E:\
cd Deployment
ApplyImage.bat E:\Images\install.wim

Do you want to create a Recovery partition?
    (If you're going to be working with FFUs, and need
     to expand the Windows partition after applying the FFU, Type N).
: N

 

次に、「すべてのデータを消して続けますか?」と訪ねてくるので、ここでは Y とします。

この段階で、ディスク#0 の内容は綺麗サッパリに Clear されてしまうので、注意してください。

    :
    :
Formatting the primary disk...
  ...using UEFI (GPT) format and partitions.
CAUTION: All the data on the disk will be DELETED.
Erase all data and continue? (Y or N):Y

 

次に、「コンパクトOSとして展開するか?」と訪ねてくるので、こちらも N とします。

    :
    :
Deploy as Compact OS? (Y or N): N

 

さらに、「このイメージには拡張された属性を含んでいるか?」と尋ねてくるので N とします。

    :
    :
Does this image include Extend Attributes?
(Y or N): N

 

しばらくスクリプトが走って、Windows イメージの展開作業が始まりますので、少し待っていましょう。

しばし待った後、次のようなメッセージが出てきたら、イメージの展開は終了です。

    :
    :
Next steps:
* Add Windows Classic apps (optional):
    DISM /Apply-SiloedPackage /ImagePath:W:\
         /PackagePath:"D:\App1.spp" /PackagePath:"D:\App2.spp"  ...

* Configure the recovery partition with ApplyRecovery.bat

* Reboot:
    exit

 

この段階では、もうUSBメモリは役を果たしたので、USBメモリを抜き取り、exit コマンドで WinPE を終了します。

 

 

監査モードで Windows が起動

監査モードで起動直後のダイアログ

監査モードで起動直後のダイアログ

 

すると、PCが再起動されて、Windows が監査モードで起動すれば成功です。

これは、以前に作成した監査モード用の応答ファイルを初回起動時に参照するようにしている(前回記事参照)からですが、もしも監査モードで起動せずに、OOBE モードで立ち上がった場合、OOBE中に

CTRL + Shift + F3

で、強制的に監査モードに入ることができます。

監査モードでは、自動的に Administrator でログオンして、上のようなダイアログを表示した状態になりますので、[キャンセル]をクリックしてダイアログを閉じます。

 

監査モードでWindowsを構成する

ではここから、監査モードで Windows のプリインストールをカスタマイズしていくのですが、さすがにここまでで、文字数もかなり増えてきているので、次回に回したいと思います。

今監査モードで起動している Windows はそのままシャットダウンすることができます。再び起動すると、再度上記のようなダイアログが開いて、監査モードに入ることができるので安心してください。

 

次回に続く

というわけで、次回は監査モードで Windows を設定する場合の細々とした Tips を紹介したいと思います。

 

 


  1. 実際には2つのパーティションに加えて、EFI領域と、リザーブ領域と、必要に応じてリカバリー領域も作成されます。 

  2. SATA よりも M.2 NVMe の方がもちろん良いです。 

  3. Windows 10 をインストールすると、ブートシーケンスが自動的にSSDに切り替わっているような気がしますが・・。 

  4. 環境によっては、このドライブレターは異なることがあるので。 


 

zaturendo

中小企業社内SE。

0件のコメント

コメントを残す

アバタープレースホルダー

メールアドレスが公開されることはありません。 が付いている欄は必須項目です