2022年3月2日水曜日

Windows11のDISM展開インストールとOOBEスキップを自動化したかった

 ん?あ、どうもこんぬずわ(?)5年ぶりの投稿(爆

わざわざヤフブロから移行までしてたった数本で死んでたブログに久々に新投こ(ウボァー


ほんずづ(?)のテーマはタイトルのとおりですハナホジーブフッ∵(´ε(○=(゚∀゚ )

ま、結論から言うと3時間ほど粘っていろいろしたんですが結局失敗してます(草藁大草原

備忘録的な感じで書き留めますw


MicorosoftによるWindows11のインストールシステム要件

CPU:1GHz以上の64bit互換プロセッサまたはSoC

メモリ:4GB以上

ストレージ:64GB以上

UEFI・セキュアブート対応のシステムファームウェア

トラステッドプラットフォームモジュールVer2.0(TPM2.0)

となっております。

このうちの"64bit互換プロセッサ"の部分

Windows10まではぶっちゃけ初代CoreiシリーズのCPUでも難なくインストールできてたわけですが、Windows11からは対応するCPUがめっちゃ限定されました。

Intelなら第8世代以上のCoreiシリーズです(ザックリ→コチラ

AMDはー・・・→コチラ


まぁ、TPM2.0を回避したりだとかいろいろネット上には情報あるわけですが

今回は第4世代Corei(Haswell)のSurfacePro3にインストールしたいと。

対応していないプロセッサへのインストールは、インストーラーで弾かれるので、だったらインストール用のデータを手動で展開すれば回避できるのでは?っていうことですね。

DISM展開について詳しくはコチラのブログで詳しく説明されていたのでコチラを御覧ください

(は?マルナゲスンナカケヨゴラァ)

一つ追記すると、2022/03/02時点でのWin11ISOイメージ\sources\install.esd内のインデックスは↓のようになっています



ついでに、Windows11ではMSアカウントが必須になっているがそれを無視してローカルだけで行きたいっていう作業、つまり初期設定(OOBE)スキップも同時にできたらなぁ!っていうのもやっていきます。

この作業を行う前に、Windows11インストールUSBメモリを作成しておきましょう。
また他力本願だよこいつ・・・( ;´-ω-)ハァ-3

・DiskPartスクリプトの記述

まず最初に、Surface内蔵SSDを綺麗サッパリ初期化してパーティション分けを行うためのDiskpartスクリプトを書きます。

[ディスクの初期化、パーティション分け]にはdiskpartコマンドを使いますが
diskpartの自動化には作業するコマンドを記述したテキストファイルを作り、diskpartに/sのオプションを付けてそのテキストファイルを指定することで1行ずつ実行されます。

内蔵SSDがディスク0に認識されてる(はず)として作業を行います(ダイジョウブカー

このように記述しました↓

コメントアウトするすべがないので括弧でコメント書きましたが使う場合は括弧ごとコメントを消してください。

これを、まぁとりあえずわかりやすくpart.txtとして、インスコUSBメモリ直下に保存しておきます。


・各コマンドを自動実行するためのバッチファイルの記述
 
↑で書いたスクリプト、DISM展開、OOBEスキップ用レジストリの追加用のバッチファイル1つと、再起動後のユーザー追加やレジストリ編集まで自動で行うためのバッチファイルの合計2つ書いていきます。

まず1つ目。Diskpartスクリプト実行→2個目のバッチファイルのコピー→DISM展開→レジストリ追加→再起動 のコマンドを書きます。このバッチファイルでは、インストール用USBメモリがDドライブとして認識されている前提のファイルです。


コメントアウトするすべがないので括弧でコメント書きましたが使う場合は括弧ごとコメントを消してください。
↑を、setup.cmdとしてUSBメモリ直下に保存します。

下から3行目、CmdLineのキーを編集していますが、本来ここには[oobe\windeploy.exe]を記述されていて、再起動後にこのファイルが実行されると

"デバイスを準備しています”

みたいなアレが始まるのですが、この作業終わったあとにレジストリなどをいじらないとOOBEをスキップ出来ないので、ここに2つ目のバッチファイルのパスを記述してその作業を自動化していま・・す。ハイ。(できなかった

インストールするエディションを変えたいときは、/index:?の部分を変えてください。

・Twoつ目のBATCHファイルをWriting!(は?

2つ目。windeploy.exeを走らせる→ユーザーを追加する→レジストリを編集してOOBEを終わらせたことにする を行うためのコマンドを記述します。。

このバッチファイルが走ったあとに手動でPCを強制再起動させると、そのまま使えるはずだったんですが、なぜか走り終わったあとに勝手に再起動がかかり、そのまま失敗になってしまうっていう状態を解消できないところで終わってます。

とりあえず内容はこんな感じ↓

コメントアウトするすべがないので括弧でコメント書きましたが使う場合は括弧ごとコメントを消してください。

このバッチファイルを、oobe.cmdとしてUSBメモリ直下に保存。


・実行すればすべて自動で行くはず・・ダッタ
あとは、USBメモリから起動させ
コンピュータの修復→トラブルシューティング→コマンドプロンプト で、コマンドプロンプトを立ち上げ、D:\setup.cmdとタイプすれば全部終わるはずだったんですが、SurfacePro3では途中で再起動がかかりうまくいかず・・w

同じデータを利用してVMWare Workstation Player 15で試したところ成功したので、環境によるんですかね、、、誰か試してみてクレソ(((

あと、USBメモリブート後に直接setup.cmdの起動できないかなと思って、startnet.cmdに書いてみたんですが、インストール用環境では無事無視されました★
よくわかりませんね(((






0 件のコメント:

コメントを投稿