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 制限のことを回避するうまい方法があればよいのですが。