可能であれば、ある WSL インスタンスから別の WSL インスタンスにファイルを直接移動するにはどうすればよいですか? これは、Ubuntu 18.04 から 20.04 に /home をコピーするなど、新しいディストリビューションを試すときに役立ちます。
エクスプローラーでアクセスしてこれを行うのはうんざりです\\wsl$
Windowsホストですべてのファイルを確実に転送しているようには見えず、全体的に間違っているように感じます。
ベストアンサー1
異なる WSL インスタンス間でデータを共有する方法
1. WSLインスタンスに含まれない共有ディレクトリを作成する
mkdir /mnt/wsl/share
これにより、すべての WSL インスタンス間で共有されるディレクトリが作成されます/mnt/wsl/share
。この共有ディレクトリを介してデータを共有できます。
警告: 共有ディレクトリのファイルシステムはメモリ内に存在するため、wsl.exe --shutdown
存在しなくなる可能性があります。
ただし、WSL インスタンス間でデータを直接コピー/貼り付けすることは依然として不可能です。
2. WSLインスタンスに含まれる共有ディレクトリを作成する
バインド マウントを使用すると、WSL インスタンス内の既存のディレクトリを他の WSL インスタンス間で共有できます。
たとえば、WSLインスタンスが2つあるとします。Ubuntu-AそしてUbuntu-B。
1.~/.profile
開くUbuntu-A以下のコードを追加します。
# bind mount shared directory
if [ ! -d /mnt/wsl/share-a ]; then
mkdir /mnt/wsl/share-a
wsl.exe -d Ubuntu-A -u root mount --bind / /mnt/wsl/share-a/
fi
2.~/.profile
開くUbuntu-B以下のコードを追加します。
# bind mount shared directory
if [ ! -d /mnt/wsl/share-b ]; then
mkdir /mnt/wsl/share-b
wsl.exe -d Ubuntu-B -u root mount --bind / /mnt/wsl/share-b/
fi
これにより、ルートディレクトリ(/
)が自動的にマウントされます。Ubuntu-Aに/mnt/wsl/shared-a/
同じことをするUbuntu-BWSL を起動するとき。