Windows 10からTiny11にアップグレードする方法
来たる2025年10月には、Windows 10のサポートが遂に終了する。
Windows 11への愚痴は以前にも散々書いたが、本当、酷いOSったらありゃしない。
Windows 10で築き上げた資産を一切切り捨て、こんなクソOSのままアップグレードを強要するなど言語道断。
だが以前も書いた通り年賀状の住所録を筆ぐるめで作ってしまったために年末には毎年Windowsが必要になるし、業務ではWindowsを使用しているので、GNU/Linux使いの筆者も結局こいつを使わざるを得ない訳だ。
んで、Windows 11を使うにあたって通常通りインストールすると、使用しない無駄なアプリやサービス群が大量にインストールされるのはWindows恒例だ。スタート画面をごちゃごちゃにするだけでなく、裏で動くバックグラウンドサービスも多くまともに使えたものではない。OSとは何か、もう一度考えなおしてくれないか…
そこで登場するのが「Tiny11」だ。これは無駄なアプリやサービス類を削ぎ落したWindows 11で、これをインストールすれば(GNU/Linuxに比べれば遥かに多いにしろ)多すぎるバックグラウンドサービスや無駄なアプリにあまり邪魔されることなくWindowsを使うことができる。勿論Edgeも粛清されて快適だ。
Windows 10から11にアップグレードするなら、どうせなら軽量なTiny11にアップグレードしたい。しかしそのままアップグレードを試みるとアップグレードが行えないのでアップグレード方法を纏める。
まずはTiny11の用意
Tiny11を作成するには、まずWindows 11のISOイメージを取得し、それにTiny11BuilderというPowerShellスクリプトを使用しTiny11のISOイメージを作成する。
https://github.com/ntdevlabs/tiny11builder
詳細は上記のリポジトリに書かれているし、この投稿のメインの内容ではないので省く。要は
- MicrosoftのサイトからISOイメージをダウンロードする
- 何かしらのツールを使用してISOイメージをマウントする
- Tiny11BuilderのPowerShellスクリプトを実行し、イメージをマウントしたドライブを選択する
- 作成するTiny11のエディション(Home、Proなど)を選択する
- 待て。
- Tiny11のISOが作成される。
の手順で作成できる。
ちなみに作成スクリプトには
- tiny11maker.ps1
- tiny11Coremaker.ps1
の2つが存在するが、後者のCoremakerの方は、さらに機能を削ぎ落し、Windows Updateのような必須のコンポーネントすら削ぎ落した云わば開発者用の最小限のTiny11を作成するスクリプトだ。
これは先述の通り普段使いを想定されていないし、できようが無い。前者のCoreではない方の作成スクリプトを使用する。
まずは普通にアップグレードしようとしてみる
Tiny11のイメージをマウントし、中に入っているsetup.exeを実行すると、普通のイメージであればアップグレードが可能なはずである。しかしTiny11の場合は異なる。
setup.exeを起動し、言語設定やライセンスへの同意を進めると…
インストール先のドライブを指定する画面が出てきてしまった。本来アップグレードならこれは出ないはずである。
とりあえず、今Windows 10がインストールされているボリュームを選択し次に進むが…
インストールに失敗してしまう。
Tiny11のイメージの最上位にあるsetup.exeでは更新が出来ないのである。
ではどう更新するか
Tiny11に直接更新するには、イメージの最上位にあるsetup.exeではなく、sourcesフォルダにあるsetupprep.exeを使用する。
setupprep.exeをそのまま開けば、通常のWindows 11と同様にアップグレードが行なえる。
ただし、setupprep.exeをそのまま開いた場合、レジストリでアップグレード要件を回避するよう設定していても、アップグレード要件に引っ掛かってしまう。
この場合、コマンドプロンプトからsetupprep.exeに以下のような引数を指定して起動する。
setupprep.exe /product server
すると、チェック要件を回避してアップグレードできる。
この引数を指定すると、各所に「Windows Server」と表示されるが、これはあくまで表示がそうなっているだけで問題なく通常のTiny11がインストールされる。
「次へ」で先に進む前に、「セットアップでの更新プログラムのダウンロードの方法の変更」を押し、「今は実行しない」を選択しておこう。折角Tiny11で行なったカスタマイズが失われる可能性がある。
後は、ライセンス条項に同意(…??)し、何を引き継ぐか選択。ここでは一番上を選択し、全て引き継ぐよう設定する。
最後に確認画面が表示されるので、問題なければ次に進む。後は放置しておけばアップグレードが完了する。
これでWindows 10からTiny11へのアップグレードがデータを損なうことなく行える。
ちなみにTiny11で不要なコンポーネントが削除されているとはいえ、10の状態でそれらがインストールされていればTiny11にも引き継がれる。
例えばEdgeやCopilotなどは、10の時にインストールされていれば11アップグレード後も残ってしまう。
またアップグレード、新規インストール共に共通の事項として、「Teams」、「Outlook」、「DevHome」などのアプリはWindows Update経由で強制的に入ってきてしまう。これらは11へのアップグレード後に手動で削除する必要がある。Teamsなんて個人で誰が使うねん…
これらはPowerShellを管理者で実行して、以下のコマンドで削除できる。が、削除しても時々復活するので根気よく粛清すること。
Get-AppxPackage -allusers "*MSTeams*" | Remove-AppxPackage
Get-AppxPackage -allusers "*OutlookForWindows*" | Remove-AppxPackage
Get-AppxPackage -allusers "*DevHome*" | Remove-AppxPackage
これで軽量なWindows 11、Tiny11へのアップグレードは完了だ。
後はそのまま使って地獄を見るなり、ExplorerPatcherを導入して快適に使うなり、そもそもさっさとWindowsに見切りを付けるなりして好きに使えばよい。
おまけ : Windows 11簡単セットアップスクリプトの紹介
Windows 11の初期設定を一括かつ簡単に実行するため、Windows 11 Easy Setup Scriptを作成した。
これは上記の不要なコンポーネントの削除に加え、EdgeのアンインストールやFirefoxのインストール、ExplorerPatcherの導入など、様々な初期設定を自動で行なえるPowerShellスクリプトだ。
機能の詳細はこちらから確認してほしい: https://github.com/TranslucentFoxHuman/System-Easy-Setup-Script
使用するにはまず、スクリプト本体をダウンロードする。そしてPowerShellを管理者で開き、以下のようなコマンドを実行すればよい。
powershell -executionpolicy bypass <ダウンロードしたスクリプトへのパス>
後は、逐次何を実行するか表示され、それを実行するか尋ねられるので、Yで実行するかNでスキップするか入力していけばよい。
何らかの事情でWindowsを使い続けざるを得ない読者にとって、少しでもこの記事とスクリプトが役に立てば幸いだ。