Windows
 Computer >> コンピューター >  >> システム >> Windows

【解決方法】Ubuntu起動時にWslRegisterDistributionがエラー0xc03a001aで失敗する問題の対処法

必要なシステム要件をすべて満たしていても、Windows Subsystem for Linux(WSL)のインストール時に問題が発生することがあります。たとえば、Microsoft StoreからUbuntuを起動しようとした際に、「WslRegisterDistribution failed with error: 0xc03a001a」というエラーメッセージが表示されるケースがあります。

このエラーはUbuntuの起動時に発生し、「仮想ディスクシステムの制限により操作を完了できませんでした」という内容とともに、仮想ディスクファイルの圧縮と暗号化を解除するよう促すメッセージが表示されます。

WslRegisterDistribution failed with error: 0xc03a001a
Error: 0xc03a001a
The requested operation could not be completed due to a virtual disk system limitation.
Virtual hard disk files must be uncompressed and unencrypted and must not be sparse.

エラー0xc03a001aの原因とは?

エラー0xc03a001aには通常、「仮想ディスクシステムの制限により、要求された操作を完了できませんでした。仮想ハードディスクファイルは圧縮されておらず、暗号化もされておらず、スパースファイルであってはなりません」というメッセージが続きます。

つまり、このエラーはWSLが使用する仮想ハードディスク(VHD)ファイルが、Windowsによって圧縮または暗号化されていることが原因で発生します。Windows Updateの適用などにより、フォルダーの圧縮設定が意図せず有効になることがあるのです。

公式GitHubフォーラムでは、この問題を解決するための2つの方法が提案されています。1つ目は暗号化を無効にする方法、2つ目は圧縮の問題を解消する方法です。

  • FSUTILコマンドを実行する
  • Ubuntuディレクトリの「内容を圧縮」のチェックを外す

fsutilツールは、FATおよびNTFSファイルシステムの操作(ボリュームの管理、準備、マウント解除など)に関連するコマンドラインユーティリティです。

方法1:FSUTILコマンドを実行する

まず、「ファイル名を指定して実行」(Win + Rキー)を開き、「cmd」と入力して、Shift + Enterキーを押します。これにより、管理者権限でコマンドプロンプトが起動します。

次に、以下のコマンドを入力して実行してください。

fsutil behavior set disableencryption 1
fsutil behavior set disablecompression 1

コマンドの実行後、パソコンを一度再起動し、Ubuntuまたはその他のLinuxディストリビューションを起動してみてください。

方法2:Ubuntuディレクトリの圧縮設定を解除する

Ubuntuのディレクトリは以下のパスに格納されています。

%localappdata%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc

Windows Updateによって、このフォルダーに対して圧縮や暗号化が有効になっている可能性があります。その場合は、以下の手順で無効化する必要があります。

  1. エクスプローラーで%localappdata%\Packages\に移動します。
  2. CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgscフォルダーを右クリックし、「プロパティ」を選択します。
  3. 「全般」タブにある「詳細設定」ボタンをクリックします。
  4. 「内容を圧縮してディスク領域を節約する」のチェックを外します。
  5. 「内容を暗号化してデータを保護する」のチェックも外します。
  6. 「OK」をクリックして変更を保存します。

処理には、フォルダーやファイルのサイズによってある程度時間がかかる場合があります。

変更を「このフォルダーのみ」に適用するか、「すべてのサブフォルダーとファイル」に適用するかを尋ねられた場合は、圧縮フラグを解除するだけなので、「このフォルダーのみ」を選択してください。

手順の詳細な流れ

より具体的には、以下の手順に従ってください。

  1. USERPROFILE内のCanonicalGroupLimited.Ubuntuパスへ移動します。
  2. 使用しているLinuxディストリビューションのプロファイルフォルダーを開きます。
  3. LocalStateフォルダーを開きます。
  4. このフォルダーを右クリックして「プロパティ」を選択します。
  5. 「詳細設定」ボタンをクリックします。
  6. 「内容を圧縮してディスク領域を節約する」のチェックを解除します。
  7. 「内容を暗号化してデータを保護する」のチェックも解除します。
  8. 「このフォルダーのみ」オプションを選択します。

修正後の確認

上記の対処を行った後は、wsl --set-versionコマンドが正常に動作するようになり、ほとんどのコマンドラインツール、ユーティリティ、アプリケーションを含むLinux環境を実行できるようになります。

Microsoftによると、これ以降は問題が解決され、WSLエラー0xc03a001aが再び表示されることはないとのことです。

この記事がお役に立てば幸いです!

類似のWslRegisterDistributionエラー:0x80041002 | 0x800700b7 または 0x80080005 | 0x80070422 | 0x80370114 | 0x80370102 | 0x80070003 | 0x80070032 | 0x8007023e | 0x800701bc | 0x8000000d

  1. 【解決】「サービスプロセスとの通信に失敗しました」エラーの原因と対処法

    「サービスプロセスとの通信に失敗しました」というエラーは、インテル製アプリケーション「Intel Driver & Support Assistant(IDSA)」に関連して表示されるメッセージです。このエラーが表示されてもパソコンの機能そのものが失われることはありませんが、一部のドライバーモジュールに問題を抱えている可能性があります。 近年、インテルは従来の個別モジュールを統合し、この新しいアプリケーションへと移行しました。Intel Driver & Support Assistant を使えば、パソコンをスキャンしてインテル製の最新ドライバーを自動的に検出・更新できるた

  2. Windowsバックアップエラー0x807800C5を解決する5つの対処法

    「バックアップセット内のボリュームの1つについて、バックアップイメージの準備中にエラーが発生しました。(0x807800C5)」というエラーメッセージが表示される場合、バックアップ処理が何らかのサードパーティ製プログラムによってブロックされている可能性があります。また、古いバックアップデータが破損していたり陳腐化していることが原因の場合もあり、その場合は該当データを削除することで問題が解決することもあります。 システムのバックアップは非常に重要です。ハードウェアやソフトウェアは使用年数とともに効率が低下し、不具合が発生するとWindows自体が破損し、保存していたすべてのデータを失う恐れがあ