前回は、WSLのインストールについてご紹介した。
「WindowsでLinuxを使ってみよう~WSL2とUbuntu 24.04 LTSを始める~」
ところで、この際、筆者の検証用のPCでは、「機能を有効にしています」の進捗が、37.8%のまま進まなくなった。
WSLの設定を確認しても問題が解決しない場合、WSLだけではなく、Windows側のシステムに問題が発生している可能性がある。
今回の環境構築でも、WSLの導入を進める過程でWindows UpdateなどのWindows側の状態に問題があることがわかった。
このような場合の選択肢の一つが、Windowsのインストールメディアを利用した上書きインストール(インプレースインストール)である。
上書きインストールとは
Windowsのインストールメディアには、Windowsを新規インストールするだけでなく、既存のWindowsを再インストールするための用途もある。
Windowsにログインした状態でインストールメディア内のsetup.exeを実行し、セットアップで「個人用ファイルとアプリを保持する」を選択すると、Windowsを再インストールしながら、個人ファイルやインストール済みアプリ、設定を引き継ぐことができる。
Microsoftも、この方法をインストールメディアを利用した「インプレース インストール」として案内している。
インストール メディアを使用して Windows を再インストールする(MicrosoftのWebサイト)
一方、USBメモリからPCを起動してWindowsを新規インストールする方法(クリーンインストール)は、この上書きインストールとは異なる。
クリーンインストールでは、個人ファイルやアプリなどが原則すべて削除されるため、目的を間違えないことが重要である。
今回行った方法
今回使用したのは、Windows 11のインストールメディアを作成したUSBメモリである。
別の正常に動作しているPCを使ってWindows 11のインストールメディアを作成し、問題のあるPCにUSBメモリを接続した。
ここで重要なのは、USBメモリからPCを起動しないことである。
Windowsが通常どおり起動している状態で、エクスプローラーからUSBメモリを開き、その中にあるsetup.exeを実行する。
Microsoftの手順でも、Windowsにサインインした状態でインストールメディアのsetup.exeを実行する方法が案内されている。
以下、Windows 11のインストールメディアを作成から順を追って解説しよう。
手順1 Windows 11のインストールメディアを作成する
まず、別の正常に動作しているPCなどを利用して、Windows 11のインストールメディアを作成する。作成にはMicrosoftが提供しているWindows 11のインストールメディア作成ツールを利用できる。なお、使用するインストールメディアのWindowsエディション、言語、アーキテクチャなどが現在の環境と適合していることを確認しよう。
USBメモリをインストールメディアとして使用する場合、USBメモリの内容は作成時に消去される可能性があるため、必要なデータはバックアップしてからUSBメモリを使用しよう。
手順2 問題のあるPCを通常どおりWindowsから起動する
作成したUSBメモリをPCに接続する。
ここでは、USBメモリから起動するのではなく、現在インストールされているWindowsを通常どおり起動する。
Windowsのデスクトップが表示されたら、エクスプローラーを開いてUSBメモリのドライブを確認する。
今回の環境では、USBメモリがD:ドライブとして認識されていた。
手順3 setup.exeを実行する
USBメモリのルートフォルダーにある、次のファイルを実行する。
setup.exeユーザーアカウント制御(UAC)が表示された場合は、内容を確認して許可する。
Windows 11セットアップが起動する。
手順4 Windowsセットアップを進める
セットアップ画面では、Windows 11のインストールに必要な確認が行われる。
ここで注意したいのが、「更新プログラムを取得する」処理に時間がかかる場合があることである。今回の環境でも、セットアップ開始後に「更新プログラムをチェックする」処理が長時間進まない状態になった。
そのため、今回はセットアップをいったん終了し、更新処理を無効にした状態でセットアップを再実行した。
PowerShellを管理者として起動し、次のコマンドを実行した。
Start-Process -FilePath "D:\setup.exe" -ArgumentList "/auto upgrade /DynamicUpdate Disable" -Verb RunAsD:\setup.exeの部分は、Windows 11のインストールメディアが接続されているドライブに合わせて変更してほしい。
このコマンドでは、Windows 11のセットアップを/auto upgradeで開始し、/DynamicUpdate Disableによってセットアップ中のDynamic Updateを無効にしている。
(補足)/auto upgradeは、Windowsのアップグレードを実行し、アプリとデータを保持するためのオプションである。/DynamicUpdate Disableは、セットアップ中のDynamic Updateを無効にするオプションである。
今回はこの方法でセットアップを最後まで進めることができ、インストール済のアプリや個人ファイルも保持されていた。
セットアップの動作や表示はWindowsのバージョンによって変わるため、画面の指示を確認しながら進めるようにしてほしい。
手順5 「個人用ファイルとアプリを保持する」を選択する
インプレースインストールで最も重要な部分である。
セットアップで「保持する内容を変更する」などの項目が表示されたら、
「個人用ファイルとアプリを保持する」
を選択する。
この選択によって、個人ファイルだけでなく、インストール済みのアプリやWindowsの設定も引き継ぐことができる。
反対に、
- 「個人用ファイルのみを保持する」
- 「何も保持しない」
などを選択すると、アプリが削除されたり、データや設定が失われたりするため注意が必要である。
目的が「Windowsを修復しながら現在の環境をできるだけ維持すること」であれば、「個人用ファイルとアプリを保持する」を選択しよう。
手順6 インストールを開始する
設定内容を確認し、インストールを開始する。インストール中はPCが何度か再起動する。
この間は、
- PCの電源を切らない
- USBメモリを抜かない
- 強制的に再起動しない
ことが重要である。
今回もインストール完了まで待ち、最終的にWindowsデスクトップが表示されることを確認した。
インストール後に確認する
Windowsが起動したら、まず、これまで使用していたファイルやアプリが残っていることを確認する。
今回の環境では、
- Windows 11が正常に起動した
- 個人ファイルが残っていた
- これまで使用していたアプリが起動した
- Windows Updateが正常な状態に戻っていた
ことが確認できた。
なお、Windowsのバージョンについては、winverを実行すると確認できる。
今回の環境では、上書きインストール後、次のようになっていた。
Windows 11 Home
バージョン 25H2
OSビルド 26200.9457上書きインストール後にWSLを再確認する
Windows側の修復が完了したら、WSLの状態を改めて確認する。
まず、次のように実行する。
wsl --statusさらに、次のように実行してインストールされているLinuxディストリビューションを確認する。
wsl -l -v今回の環境では、Windows側の状態を整えた後にVirtual Machine Platformを有効化し、再起動することでWSL2が正常に利用できるようになった。
最終的には、次のように表示された。
NAME STATE VERSION
* Ubuntu-24.04 Stopped 2
VERSIONが2となっているため、Ubuntu 24.04 LTSがWSL2として登録されていることを確認できる。なお、STATEがStoppedでも問題はない。Ubuntuを終了した直後などは、この状態になる。
今回のトラブルからわかったこと
今回の経験から、WSLがうまく動作しない場合でも、すぐにWSLやUbuntuを削除して再インストールする必要はないことがわかった。
まず、
- Windowsの状態を確認する
- CPUの仮想化が有効か確認する
- Virtual Machine Platformを確認する
- WSLの状態を確認する
- Linuxディストリビューションの状態を確認する
という順番で切り分けることが重要である。
それでもWindows側の問題が疑われる場合には、Windowsのインストールメディアを使ったインプレースインストールも選択肢になる。
ただし、「個人用ファイルとアプリを保持する」という選択肢を確認してから進めることが重要である。
「上書きインストール」と「クリーンインストール」を混同しない
Windowsのインストールメディアを使う場合、方法によって結果が大きく異なる。
| 方法 | 起動方法 | 個人ファイル | アプリ |
|---|---|---|---|
| インプレースインストール | Windows起動後にsetup.exeを実行 | 保持可能 | 保持可能 |
| クリーンインストール | USBなどから起動 | 原則削除 | 削除 |
今回行ったのは、上のインプレースインストールである。
Windowsを修復する目的で、現在のファイルやアプリをできるだけ維持したい場合には、この違いを理解しておくことが重要である。
ただし、どの再インストール方法であっても、重要なデータについては事前にバックアップを取っておくことを推奨する。
まとめ
WSL2のトラブルがWindows側の問題に起因している場合、WSLだけを再インストールしても解決しないことがある。(再インストールできない場合もある)
その場合には、Windowsのインストールメディアを利用したインプレースインストールが選択肢の一つとなる。
今回の環境では、多少のイレギュラーな対応が発生したが、環境を復旧する一般的な流れは以下の通りである。
Windows 11のインストールメディアをUSBメモリに作成
↓
Windowsを通常起動
↓
USB内のsetup.exeを実行
↓
「個人用ファイルとアプリを保持する」を選択
↓
Windowsを再インストール
↓
Windowsの動作を確認
↓
Virtual Machine Platformを有効化
↓
WSL2とUbuntu 24.04 LTSを確認
WSLのトラブルシューティングでは、WSL側だけを確認するのではなく、Windows側の状態も含めて一つずつ原因を切り分けることが重要である。


コメント