web-dev-qa-db-ja.com

WSL(Windows上のBash)ルートファイルシステムを別のハードドライブに移動しますか?

ラップトップの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#449WSL RootFSのハードリンクの移動と作成はWindows 10 Build 14388より前にのみ機能し、Windows 10 Build 14393 RTMでは機能しないようです唯一の方法は、%LocalAppData%全体を外付けハードドライブに移動することですが、ラップトップユーザーであり、外付けハードドライブをどこにでも持ち込むことができないので、それを行うことはできません。

システムパーティションからWSLを移動する他の方法はありますか?それができない場合は、他の場所に追加のVoIFS作業ディレクトリを作成し、自分のものをコンパイルできますか?

よろしくお願いします、ジャクソン

15
Jackson Ming Hu

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
22
Jaime

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/

3
Rich Turner

https://github.com/DDoSolitary/LxRunOffline をご覧ください

choco install lxrunoffline
  • インストール時にインターネットアクセスは必要ありません。
  • Linuxディストリビューションをディスク上の任意の場所にインストールします。
  • 既存のインストールを他の場所に移動する
  • 既存のインストールの複製。 (バックアップを作成します。)
  • 既存のインストールディレクトリを登録します。 (ポータブル使用の場合。)
1
gavenkoa