異なる WSL2 インスタンス間でファイルを移動しますか? [closed] 質問する

異なる WSL2 インスタンス間でファイルを移動しますか? [closed] 質問する

可能であれば、ある 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 を起動するとき。

おすすめ記事