再インストール後に起動しなくなった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を再インストールしてもシステム内の登録情報が残っていて、初期化処理が実行されません。

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の登録を解除します。

この操作を行うとUbuntu自体が削除されます。そのため、データも消えてしまうので注意してください。

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

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

登録解除後にUbuntuを起動する(WSLのシェルを起動する)と、初期化処理が開始されます。次のように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:

著書紹介

Authored Books

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

この記事を書いた人

Akira Hayashi (林 晃)のアバター Akira Hayashi (林 晃) Representative(代表), Software Engineer(ソフトウェアエンジニア)

アールケー開発代表。Appleプラットフォーム向けの開発を専門としているソフトウェアエンジニア。ソフトウェアの受託開発、技術書執筆、技術指導・セミナー講師。note, Medium, LinkedIn
-
Representative of RK Kaihatsu. Software Engineer Specializing in Development for the Apple Platform. Specializing in contract software development, technical writing, and serving as a tech workshop lecturer. note, Medium, LinkedIn

目次