Windows10 で x86/x64 インストールディスクをまとめる

dism を使って wim を操作している際に、実は x86 版と x64 版のインストールディスクも結合できるのではないかと思ったので挑戦してみました。結果は一部課題が残っていますが、悪くはないのかなと思っています。

準備

それぞれのインストールディスクから中身をコピーしておきます。
とりあえず Fドライブに 32bit のディスクが、 Gドライブに 64bit のディスクがセットされているとして、 d:\work ディレクトリ以下にコピーするコマンドは以下のようになります。

robocopy /V /E /A-:R f: d:\work\win10x86
robocopy /V /E /A-:R g: d:\work\win10x64

よく使うエディションが Professional のものなのでこれだけを取り出して使用することにします。他のエディションも使いたい場合にはそれのインデックス番号を確認して取り出してください。

dism /export-image ^
  /sourceImageFile:d:\work\win10x86\sources\install.wim ^
  /SourceIndex:4 ^
  /destinationImageFile:d:\work\x86-pro.wim ^
  /compress:max

dism /export-image ^
  /sourceImageFile:d:\work\win10x64\sources\install.wim ^
  /SourceIndex:4 ^
  /destinationImageFile:d:\work\x64-pro.wim ^
  /compress:max

このようにして取り出すと、 install.wim よりはファイルサイズが若干小さくなりました。容量をケチる方法として、 export-image を使うことも出来そうな気がします。

作成

x86 版の内容に x64 版のインストール内容を含めるようにして作成を行います。
管理者権限コマンドプロンプトを開いて、以下のように wim を結合します。ここでは Professional エディションだけ処理していますが、他のエディションも含める場合には同作業を各ファイルに対して繰り返してください。

dism /export-image ^
  /sourceImageFile:d:\work\x64-pro.wim ^
  /sourceIndex:1 ^
  /destinationImageFile:d:\work\install.wim ^
  /compress:max
  
dism /export-image ^
  /sourceImageFile:d:\work\x86-pro.wim ^
  /sourceIndex:1 ^
  /destinationImageFile:d:\work\install.wim ^
  /compress:max  

おそらく結合した install.wim ファイルはサイズ 4GB を超えていると思われます。
最終的に USB メモリをインストールメディアとして作成する場合、 FAT32 ファイルシステムに収まらないので、分割が必要です。
iso ファイルを作成する場合には、分割は不要です。

分割は以下のように行います。

dism /split-image ^
  /imageFile:d:\work\install.wim ^
  /swmFile:d:\work\install.swm ^
  /fileSize:3500

分割した場合には swm ファイルらを、分割していない場合には結合した install.wim を、 x86 版のインストールメディアをコピーしたフォルダ d:\work\win10x86\sources の中にコピーします。(元々あった install.wim は取り除いてください)

iso イメージの作成

以下のコマンドを実行して、 iso イメージを作成します。

oscdimg  -u1 -bd:\work\win10x86\boot\etfsboot.com ^
  d:\work\win10x86 ^
  d:\work\win10combined.iso

USB メモリの作成

全データを FAT32 フォーマットした USB メモリにコピーします。 以降は USB メモリが H ドライブにあるとして説明をしています。
パーティションが、アクティブである必要があるので、管理者権限コマンドプロンプトで diskpart を操作します。

自分の環境では、 ディスク2が USB メモリでした。これを選択してアクティブに設定しています。

Microsoft DiskPart バージョン 10.0.15063.0
Copyright (C) Microsoft Corporation.

DISKPART> list disk

  ディスク      状態           サイズ   空き   ダイナ GPT
  ###                                          ミック
  ------------  -------------  -------  -------  ---  ---
  ディスク 0    オンライン           238 GB      0 B
  ディスク 1    オンライン          1863 GB  5120 KB        *
  ディスク 2    オンライン            14 GB      0 B

DISKPART> select disk 2
DISKPART> select part 1
DISKPART> active
DISKPART> exit

パーティションのアクティブ化が終わったら、以下のコマンドを実行してファイルをコピーします。

robocopy /V /E d:\work\win10x86 h:

最後にブートセクタ書込を行います。

cd /d h:\boot
bootsect /nt60 h: /force /mbr

確認

作成したメディアで Windows10 のインストールを行ったときには、以下のような画面で x86, x64 の選択が可能になっています。

まとめ

今回作成したものは確かに x86, x64 のバージョンをインストール時に選択が可能となりました。
しかしながら課題があります。実はレガシー BIOS でのインストールでしか使えません。近年の UEFI では、今回の方法が使用不可能です。
Microsoft の提供している Media Creation Tool では UEFI での x86/x64 を結合したものが作成できているようなのでこれをちょっと調べてみようかなと思っています。

出来るには出来たものの、正しい方法なのか確証はないため、利用される場合には各自の責任において行ってください。
Windows10 では swm ファイルはサポートしていないとありますが、一応動作はできました。他にも 4GB 制限のことを回避するうまい方法があればよいのですが。

PC環境設定日記
すらりんをフォローする
すらりん日記

コメント

タイトルとURLをコピーしました