Hyper-V Server 2019のGUI導入、ISO化

VirtualBox用の仮想環境が欲しかったので
# 謝辞
mohemohe氏のお陰でこの記事は始まったようなもの
https://mohemohe.dev/entry/5f91aeac1c273500011a4718
あとGitHubでOpenShellについて言及してたbp2008氏、ThunderEX氏、FaberfoX氏にも感謝
https://gist.github.com/bp2008/922b326bf30222b51da08146746c7c27
https://github.com/Open-Shell/Open-Shell-Menu/issues/44
# 必要なもの
* 母艦PC(当然)
(Windows 11 or 10推奨、今回は11 Pro)
* Hyper-V Server 2019のISO
(https://www.microsoft.com/ja-jp/evalcenter/evaluate-hyper-v-server-2019)
* Windows ADK (Win10用、バージョン1809)
(https://learn.microsoft.com/ja-jp/windows-hardware/get-started/adk-install)
* (不要かも)WinPEアドオン
Windows ADKと同じサイトで入手可能、バージョンは合わせる
* Windows Server 2019 FOD ISO
(https://www.microsoft.com/ja-jp/evalcenter/evaluate-windows-server-2019)
* 突っ込みたいソフト

* やる気

* 時間
# 準備
WADK、WinPEアドオンはインストール
展開およびイメージング ツール環境を管理者として起動
Hyper-V ServerのISOを展開し、sourcesフォルダのinstall.wimを抽出 展開先をextフォルダとして
```
mkdir ext
dism /mount-image /imagefile:install.wim /mountdir:ext /index:1
```
で適当にイメージ展開
mkdirしないとエラーが出るので注意
FODのISOを展開なりマウントなりしておく(fodフォルダとする)
# 作業
## cmd作業
展開およびイメージング ツール環境で
```
dism /add-capability /capabilityname:ServerCore.AppCompatibility~~~~0.0.1.0 /Source:fod /image:ext
DISM /image:ext -Add-Capability -CapabilityName:Browser.InternetExplorer~~~~0.0.11.0 /source:fod
DISM /image:ext -enable-feature -featurename:ServerCore-WOW64
```
cmd閉じずに開いたままにしておく

## ブラウザ突っ込む
~~mohemohe氏はChromeだが私はESR版もある火狐おすすめ~~
Chrome EnterpriseがMSI投げてるので自動インストールOK
Edge? 知らんな。
お好みでどうぞ

https://chromeenterprise.google/browser/
https://www.mozilla.org/ja/firefox/enterprise/
~~https://www.microsoft.com/ja-jp/edge/business/download~~
## その他ツール
おすすめ貼っとく
* アンインストーラ
https://www.revouninstaller.com/revo-uninstaller-free-download/
* マルチメディア系
https://www.videolan.org/vlc/index.ja.html
* フォトビューア
https://www.irfanview.com
* 解凍ソフト
https://sevenzip.osdn.jp
* Everything
https://www.voidtools.com
* Office 2010 Starter(Word,Excelが無料)
https://qiita.com/TiiiDev/items/1c05b4b32f1fd8bcf3a2
自分好みのものをどうぞ
## レジストリ編集
# シェル変更
OpenShellをダウンロード
https://github.com/Open-Shell/Open-Shell-Menu/releases/tag/v4.4.170
母艦のcmdで
`<インストーラ名> extract64`
出てきたmsiをextにコピー

regedit開いて
コンピューター\HKEY_LOCAL_MACHINEでファイル→ハイブの読み込みから
extの`Windows\System32\config\SOFTWARE`を開く
名前はご自由に(わかりやすいものを)

参考:
https://qiita.com/mima_ita/items/414451b78062151e1595#%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%8Cmsi%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%A9%E3%81%AE%E6%93%8D%E4%BD%9C%E4%BE%8B

そこから
```<読み込んだハイブ名>\Microsoft\Windows\CurrentVersion\RunOnce```
を開く
そこに新たな文字列値を追加、
`msiexec /i <msiのパス> /norestart /qn /passive`

ついでに隣のキーのRunを開き、sconfigという文字列キーを削除
sconfig起動させたければRunOnceのほうが良いかも

```<読み込んだハイブ名>\Microsoft\Windows NT\CurrentVersion\Winlogon\AlternateShells\AvailableShells```
を開く
ディレクトリ右クリックでプロパティから権限を変更し、書き込みできるようにする
30000のキーを削除
文字列値で60000という名前のキーを作成し、explorer.exeと書いて保存
# 壁紙変更
`<読み込んだハイブ名>Policies\Microsoft\Windows\Control Panel\Desktop`にある`Wallpaper`
(無ければ文字列値で作成)に適当なbmp(jpgでもいいかも)にファイル名書く
標準の壁紙は母艦のWindowsフォルダ\Web以下に色々あるのでそこから
同じレジストリキーの`WallpaperStyle`に2を入れると拡大される
参照元:http://nonsubject.arinco.org/2014/03/hide-desktop-wallpaper.htm
お好みで
# シャットダウンの理由を無効化
`<読み込んだハイブ名>\Policies\Microsoft\Windows NT\Reliability`に
`ShutdownReasonOn`というDWORD値を0x0で入れると消える
ロードしたハイブのところに戻って、ファイル→ハイブのアンロードからアンロード
## その他書き込み
ダウンロードしたものを
`<マウント先>\Users\パブリック\パブリックのデスクトップ`に移動
自分の加えたい編集をどうぞ
# イメージを閉じる
閉じずに開いたままのcmdを開いて
```
Dism /Image:ext /cleanup-image /StartComponentCleanup /ResetBase    
Dism /Unmount-Image /MountDir:ext /Commit
```
新しいWim名に完成した.wimが保存されている
軽量化するならばPowerISOか何かでESD化もあり？
# 片付け&仕上げ
USBに焼いた時にinstall.wimを入れ替えなどすると対応可
DVDに焼きたい場合、ISOが欲しい場合は
適当なディレクトリ作って「展開および...」から
```copype amd64 <適当なディレクトリ>```
してmediaフォルダの中身をすべてインストーラISOで書き換えて
`makewinpemedia /ISO <適当なディレクトリ> <ISO名>`するとISOができる
ダウンロードしたプログラムは削除
不要であればWADKをアンインストール
# 起動
作ったイメージを仮想環境なり実機なりで起動
PCを起動するとタスクバーとスタートボタンが出るが反応しないのでOpenShellをインストール
再起動orログオフで反応するはず
## こ う な っ た
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3118263/db52fef1-7272-533e-f842-8879ac63d9b9.png)
VirtualBoxのキャプチャ
画像サイズが重すぎたのか壁紙読み込めず
壁紙設定を確認できた方は出来ればお知らせいただければ幸いです
## コマンドライン設定ウインドウ再表示
`System32`にある`sconfig.cmd`を叩くと出てくる
スタートアップにされる可能性があるので、regeditで
`HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run`を監視
# その他
MSIインストーラならサイレントインストールが使えるはずなのでやってみても良いかと
私は面倒なのでやらない
インストール時の自動応答ファイルの導入もあり
# 問題点
* ウインドウの効果がない
* Win10と比較してアイコンが違う
* ストアアプリが動かない
* 電卓など一部ツールがない(サードパーティ突っ込めばいいけど電卓はいらないので)
* 音声サービスがない(Win10XPE関連入れるとOK?)
* Wifiが機能しない(ドライバ入れるとOK?)
* おま環かもしれないがショトカの新規作成ウインドウが出ない
# 感想
大変な割に味気無い感が否めないが、これでフリーソフトをテストできるので便利
OSのない適当なPCに突っ込むのもあり?
実機インストールならVMWareかVirtualBox突っ込んでWindows起動が安定だと思われる(未検証)


## 最後に
**Win10買えばよくね?**