私は現在Windowsでwsl2を使用しており、研究のためにMS OneDriveをローカルに並列に使用しています。実際、すべてのファイルを私のOneDriveアカウントと同期します。私のOnedriveフォルダ名は次のとおりです。
Onedrive - 学校名
私のコースでは、WSL2を使用する必要があり、パスにスペースを入れずにWindowsファイルにアクセスしたいと思います。私が見つけた解決策は、mount binコマンドを使用することです。
sudo mount --bind /mnt/c/Users/MyName/OneDrive\ -\ SchoolName/Project ~/Project/
これは実際には機能しますが、WSLを起動するたびにコマンドを入力しないようにfstabを編集したいと思います。私が見つけたすべてのチュートリアルがうまくいかないので、何をすべきかわかりません。
ヒントありがとうございます!
答え1
fstab(5)
\040
スペースを変更するために使用できる文書です。ただし、最初のフィールドは2番目のフィールドにのみあります。
簡単な解決策は、ソースディレクトリのどこかにシンボリックリンクを作成してからバインドマウントすることです。
sudo ln -s /mnt/c/Users/MyName/OneDrive\ -\ SchoolName/Project /.onedrive-link
その後、マウント/.onedrive-link
を~/Project/
。
この時点で明らかな質問は、「まだマウントをバインドする必要がありますか?」です。次のことができます。
sudo rmdir ~/Project
ln -s /mnt/c/Users/MyName/OneDrive\ -\ SchoolName/Project ~/Project
一般ユーザーにも属し、スーパーユーザー権限を変更する必要がないシンボリックリンクが作成されます。
答え2
簡単な解決策があります。 lsコマンドを実行してフォルダに到達するまでTabキーを押すだけです。
たとえば、
ls /volume1/test/etc (各/後にフォルダ名をタブで入力するので、パテまたは何を使用しても必要なスペース記号が自動的に追加されます)。
マウントするフォルダに到達したら、「ls」を「mount --bind」に置き換えて、最初のパスの後にターゲットを追加します。
これにより頭痛を避けることができます!
乾杯。
答え3
この試み:
Fedora 35で私がしたことは、ディスクを開いてマウントオプションを編集することだけでした。残念ながら、wslはGUIを提供していないので、私はfstabに基づいて例を提供したいと思います。
/mnt/c/Users/MyName/OneDrive / ntfs-3g defaults,bind 0 0
このbind
オプションはトリックを実行する必要があります
答え4
ディスクにアクセスできない場合は、ターミナルファイルエディタを使用できます。nano
$ sudo nano /etc/fstab
#at the end of document
/source /destination none defaults,bind 0 0
私はデフォルトのオプションを直接使用しません。以下をお勧めします。
/mnt/c/Users/MyName/OneDrive /home/(your username)/Project nosuid,nodev,nofail,x-gvfs-show,uid=1000,gid=1000,dmask=027,fmask=137,bind 0 0
動作しているか教えてください。
編集1:
長い時間が経ったことはわかりますが、状況がこれ以上介入する必要はないと思います。これで私はWindows 11 Insider(ビルド25115)で、Hyper-Vが有効になっており、Hypervisorが無効になっています。 Explorer で Ubuntu WSL を表示でき、権限があればここに書き込むことができます。そしてドライバが自動的にインストールされます。これは私のfstabです(ほとんど空です)。
LABEL=cloudimg-rootfs / ext4 defaults 0 1
これは私の/ mntです(Ubuntu WSLでlsコマンドを使用)。
mohsentux@LovelyBloom:/mnt$ ls
c d e f wsl wslg
だから公式的には状況が解決されたとしても過言ではない。