ラップトップのWindows 10をRedstone 1にアップグレードしました。そこで、Linuxサブシステム(Windows上のWSL、LXSSまたはBash)のテストを行いました。基本的にはすべて問題ありませんが、WSLのRootFSが%LocalAppData%
パス(たとえば、C:\Users\xyz\AppData\Local
)にあるという問題があります。ラップトップのSSDハードドライブ領域を大量に消費するため、外付けハードドライブに移動できることを願っています。
別の問題があります。他のハードドライブパーティションはDriveFSとしてマウントされるため、chmod
などの一部のLinuxファイルシステム機能をサポートせず、Linuxプロジェクトビルドスクリプトの一部は/
および/home
。
そこで、WSL RootFS全体を別のハードドライブに移動しようとしました。まず、C:\Users\xyz\AppData\Local\lxss
のNTFSジャンクション(ハードリンク)を作成しようとしました。 WSLを完全にアンインストールし、RootFSのmklink
を別のハードドライブに実行しました。WSLを再インストールすると、新しいユーザーを作成できませんでした。コード0x80070003でエラーを報告します。
それから私はあちこち検索しました、そして、私はこれを得ました: moving Linux filesystem-issue#449 。 WSL RootFSのハードリンクの移動と作成はWindows 10 Build 14388より前にのみ機能し、Windows 10 Build 14393 RTMでは機能しないようです唯一の方法は、%LocalAppData%
全体を外付けハードドライブに移動することですが、ラップトップユーザーであり、外付けハードドライブをどこにでも持ち込むことができないので、それを行うことはできません。
システムパーティションからWSLを移動する他の方法はありますか?それができない場合は、他の場所に追加のVoIFS作業ディレクトリを作成し、自分のものをコンパイルできますか?
よろしくお願いします、ジャクソン
lxRunOffline を使用して、ディストリビューションを別のドライブに移動できます。
1。ターゲットフォルダーにアクセス許可を設定します。最初に、ディストリビューションを移動するフォルダーにいくつかのアクセス許可を設定する必要があると思います。 icacls <dir> /grant "<user>:(OI)(CI)(F)"
を使用して適切な権限を設定できます。
C:\> whoami
test\jaime
C:\> icacls D:\wsl /grant "jaime:(OI)(CI)(F)"
注:上記の権限に加えて、 Windowsの長いパス名 を有効にしました。
2。ディストリビューションを移動します。lxrunoffline move
を使用します。
C:\wsl> lxrunoffline move -n Ubuntu-18.04 -d d:\wsl\installed\Ubuntu-18.04
次を使用してインストールフォルダを確認できます
C:\wsl> lxrunoffline get-dir -n Ubuntu-18.04
d:\wsl\installed\Ubuntu-18.04
3。配布を実行します。配布を移動した後、wsl
または同じlxrunoffline
を使用して配布を実行できます。
C:\wsl> lxrunoffline run -n Ubuntu-18.04 -w
user@test:~$ exit
logout
C:\wsl> wsl
user@test:/mnt/c/wsl$ exit
logout
WSLは(現在)非システムドライブへのディストリビューションの移動またはインストールをサポートしていません。ただし、これは将来のWindowsリリースで検討しているシナリオです。
Fall Creators Update(FCU)の時点で、ディストリビューションはWindowsストア経由でインストールされ、さまざまなフォルダー(つまり、%localappdata%\ lxssの下ではない)にダウンロードおよび展開されることに注意してください。
注:将来のWindowsリリースでこのシナリオを改善するために取り組んでいますが、DO NOT WindowsまたはWindowsアプリからディストリビューションフォルダーに飛び込んでください: https://blogs.msdn。 Microsoft.com/commandline/2016/11/17/do-not-change-linux-files-using-windows-apps-and-tools/
https://github.com/DDoSolitary/LxRunOffline をご覧ください
choco install lxrunoffline