再インストール後に起動しなくなったWSLのUbuntuを修復する

WSL (Windows Subsystem for Linux) のUbuntuを再インストールすると、次のようなエラーが表示されて起動しなくなってしまうことがあります。

ディスク 'C:\Users\ahaya\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx'を WSL2 に接続できませんでした: 指定されたファイルが見つかりません。
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_FILE_NOT_FOUND
ディスク 'C:\Users\ahaya\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx'を WSL2 に接続できませんでした: 指定されたファイルが見つかりません。
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_FILE_NOT_FOUND
ディスク 'C:\Users\ahaya\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc\LocalState\ext4.vhdx'を WSL2 に接続できませんでした: 指定されたファイルが見つかりません。
Error code: Wsl/Service/CreateInstance/MountVhd/ERROR_FILE_NOT_FOUND
Press any key to continue...
目次

修正方法

WSL上のUbuntuが初回起動時に行っている、初期化処理を行うことで修正できます。Ubuntuを再インストールしてもシステム内の登録情報が残っていて、初期化処理が実行されません。

次のように操作します。

STEP
Ubutnuの起動エラーが表示されている場合は、何かキーを押して、終了します。
STEP
Windows PowerShellを起動します。
STEP
PowerShellで「wsl -l」を使って登録されているディストリビューションを取得します。
PS C:\Users\Name> wsl -l
Linux 用 Windows サブシステム ディストリビューション:
docker-desktop-data (既定)
docker-desktop
Ubuntu

この例では3つのディストリビューションが登録されています。

STEP
Ubuntuの登録を解除します。

PowerShellでwsl --unregister Ubuntuを使ってUbuntuの登録を解除します。

PS C:\Users\User> wsl --unregister Ubuntu
登録解除。
この操作を正しく終了しました。
STEP
Ubuntuを起動して初期化処理を行う。

登録解除後にUbuntuを起動すると、初期化処理が開始されます。次のようにUbuntuのアカウントを作成できるようになります。

Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username:

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Akira Hayashiのアバター Akira Hayashi 代表・ソフトウェアエンジニア

アプリ開発が好きなアプリ開発者。このブログは学習メモを記事にしたテックブログです。仕事ではアプリ開発をメインに、技術書の執筆やセミナーの講師などもしています。業務や著書のサイトはこちらです→ アールケー開発

目次