rufusがやっていること
インストール用USB作成ツールrufusがやっていることのまとめです. 間違いがあるかもしれません.
基本的には以下の4点です
NTFSブートローダ
sources/boot.wimへのレジストリ追加
Windowsの環境チェックプログラムの回避
初期設定unattend.xml
①NTFSブートローダ
UEFIの場合, fat32でEFI/Boot/bootx64.efiから起動するようになっている. fat32で収まり切れない場合, NTFSから起動するため. 1MBのfat32のパーティションが作られ, そこから起動, NTFSへジャンプする.
②sources/boot.wimへのレジストリ追加
boot.wimはwinPEと同じ, RAMだけで動作するMini OS. インストール作業で必要な(非サポートPCのための)レジストリを設定する. 実際に書き換えるスクリプトは以下の通り.
attrib -r boot.wim
mkdir MD
dism /mount-image /imagefile:boot.wim /index:2 /mountdir:MD
reg load HKLM\zSYSTEM "MD\Windows\System32\config\SYSTEM"
Reg add "HKLM\zSYSTEM\Setup\LabConfig" /v "BypassCPUCheck" /t REG_DWORD /d "1" /f
Reg add "HKLM\zSYSTEM\Setup\LabConfig" /v "BypassRAMCheck" /t REG_DWORD /d "1" /f
Reg add "HKLM\zSYSTEM\Setup\LabConfig" /v "BypassSecureBootCheck" /t REG_DWORD /d "1" /f
Reg add "HKLM\zSYSTEM\Setup\LabConfig" /v "BypassStorageCheck" /t REG_DWORD /d "1" /f
Reg add "HKLM\zSYSTEM\Setup\LabConfig" /v "BypassTPMCheck" /t REG_DWORD /d "1" /f
Reg add "HKLM\zSYSTEM\Setup\MoSetup" /v "AllowUpgradesWithUnsupportedTPMOrCPU" /t REG_DWORD /d "1" /f
reg unload HKLM\zSYSTEM
dism /unmount-image /mountdir:MD /commit
rd MD③Windowsの環境チェックプログラムの回避
boot.wimからsetup.exeが起動される. その際, インストールPCの環境をsetup.exeが調べ, サポートPCかどうか調べる.
windows11 23h2以前は sources/appraiserres.dllを0バイトにすればインストール条件を回避できた. windows11 24h2では条件がsources/setupcompat.dllできつくなったので
独自のsetup.exeを作成: 回避条件を設定したのちsetup.dllを呼び出す
オリジナルのsetup.exeをsetpup.dllに変更する
のようになっている. 面倒なことをやっているように見えるが, ISOイメージだけでメディアを作成できることを目指したためと考えられる. setupcompat.dllを23H2以前のものに変えれば, インストール条件は23H2と同じとなる.
④初期設定unattend.xml
インストール直後の起動時に実行する環境設定ファイル. windows11 24h2 でのbitlocker回避などを含めることができる.
sources/$OEM$/$$/Panther/unattend.xml
に置かれる. rufusで作成したものから抜き出してください.
手動でインストールした場合 Windows\System32\Sysprep に置けば同じことが行われる


コメント