WSLのCryptomatorボリュームでbashを実行する方法

WSLのCryptomatorボリュームでbashを実行する方法

マイコンピュータOSはWindows 10で、ホストは暗号化機E:音量が点灯しています。マウントされたボリュームのコンテンツに対してbashコマンドを実行しようとしているため、WSLを使用してそのコンテンツにアクセスしようとしています。

直接的にはできないようです:Windowsでコンテナを開き、WSLに直接ボリュームをマウントしようとしていますが、Docanyでしか動作しないので失敗します。最新バージョンのCryptomatorは現在サポートされていません。

それでCryptomator CLIを使ってみました(https://github.com/cryptomator/cli)WSLで直接、私の目標はコンテナを直接開くことです。残念ながら、ボリュームをマウントしようとすると、次の結果が表示されます。

  Password:  /sbin/mount.davfs: loading kernel module fuse
  modprobe: FATAL: Module fuse not found in directory /lib/modules/4.4.0-19041-Microsoft
  /sbin/mount.davfs: loading kernel module fuse failed  
  /sbin/mount.davfs: waiting for /dev/fuse to be created

fuseWSL 2でコンパイルする必要があります(WSLの「modprobeヒューズ」?)、しかし、そのコマンドを実行しても、mknod同じエラーが発生します。

編集する:PowerShellでWSLを最新バージョンに更新すると、上記の問題が解決します wsl --set-version Ubuntu-20.04 2

これを保存したディレクトリで次のコマンドをcryptomator-cli-0.5.1.jar実行しますjava(ここでは明らかな理由でパスワードが難読化されています)。

java -jar cryptomator-cli-0.5.1.jar --bind 127.0.0.1 --port 8080 --vault firstVault=/mnt/e/myFolder/ --password firstVault='[###]'

次の結果が表示されます。

14:54:23.878 [main] INFO  o.c.frontend.webdav.WebDavServer - Binding server socket to 127.0.0.1:8080
14:54:23.940 [main] INFO  o.e.jetty.server.AbstractConnector - Started ServerConnector@6a472554{HTTP/1.1, (http/1.1)}{127.0.0.1:8080}
14:54:23.950 [main] INFO  org.eclipse.jetty.server.Server - jetty-10.0.6; built: 2021-06-29T15:28:56.259Z; git: 37e7731b4b142a882d73974ff3bec78d621bd674; jvm 17.0.2+8-Ubuntu-120.04
14:54:24.091 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@3d0f8e03{/,null,AVAILABLE}
14:54:24.111 [main] INFO  org.eclipse.jetty.server.Server - Started Server@5a955565{STARTING}[10.0.6,sto=0] @1212ms
14:54:24.112 [main] INFO  o.c.frontend.webdav.WebDavServer - WebDavServer started.
14:54:24.112 [main] INFO  org.cryptomator.cli.frontend.WebDav - WebDAV server started: 127.0.0.1:8080
14:54:24.144 [main] INFO  org.cryptomator.cli.CryptomatorCli - Unlocking vault "firstVault" located at /mnt/e/myFolder
14:54:24.145 [main] INFO  o.c.c.p.PasswordFromPropertyStrategy - Vault 'firstVault' password from property.
14:54:25.709 [main] INFO  o.e.j.s.s.DefaultSessionIdManager - Session workerName=node0
14:54:25.731 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - authenticate-header = Basic realm="Jackrabbit Webdav Server"
14:54:25.733 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - csrf-protection = null
14:54:25.733 [main] INFO  o.a.j.w.server.AbstractWebdavServlet - createAbsoluteURI = true
14:54:25.734 [main] INFO  o.e.j.server.handler.ContextHandler - Started o.e.j.s.ServletContextHandler@f478a81{/firstVault,null,AVAILABLE}
14:54:25.738 [main] INFO  o.c.f.w.s.WebDavServletController - WebDavServlet started: /firstVault
14:54:25.739 [main] INFO  org.cryptomator.cli.CryptomatorCli - Press Ctrl+C to terminate.

Windowsに戻ってGoogle Chromeを開いてアクセスしようとしhttp://127.0.0.1:8080/firstVaultましたがERR_CONNECTION_REFUSED

WSLを使用してCryptomatorボリュームにアクセスするために何か抜けましたか?

答え1

WSLを使用してCryptomatorボリュームにアクセスする方法はありますか?

おそらく - 確かに言うことはできませんが、現在の構成ではこれを行うことはできません。使用中のカーネルは、実際に考えたWSL2ではなくWSL1にあることを示します。

  • WSL1「擬似カーネル」は次に終了します。-Microsoft
  • WSL2カーネルは次から始まります。-microsoft-standard-WSL2

WSL2を実行していないときにWSL2を実行していると思うのは珍しいことではありません。次のようになります。

  • コンピュータはWSL2をサポートしていないため、最初はWSL1のみをインストールしました(可能性なし)。
  • WSL2がリリースされる前に元のWSLをインストールした後、WSL2にアップグレードしましたが、ディストリビューションはアップグレードしませんでした。
  • デフォルトバージョンはWSL1に設定されているため、ディストリビューションはそのモードでインストールされます。
  • または、WSL2のインストールに問題がある可能性があります。

一つずつ確認してみましょう。

基本バージョン
wsl --status # Available on recent Windows/WSL releases

status基本バージョンが表示されますか2?だとしたら大丈夫です。そうでない場合は、まずデフォルト値を設定します。

wsl --set-default-version 2
wsl --status

次のようなメッセージが表示される場合:

Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install

次に、次のガイドラインに従ってください。

それ以外の場合はwsl --statusエラーが返されない場合は続行してください...

電流分布の確認
wsl -l -v

リリースリストを表示します。あなたのものはほぼ確実に表示されます1

変換分布

変換を実行する前にディストリビューションをバックアップできます。次に、PowerShellでWSLを終了します。

$imagePath = "$env:USERPROFILE\WSL\images" # Edit if you want a different location
$distroName = "Ubuntu" # Edit with your distribution name, if different

wsl --terminate $distroName

mkdir $imagePath
wsl --export $distroName $imagePath\$distroname-backup.tar

上記のタスクが正常に実行されたとし、次のコマンドを使用して変換を完了します。

wsl --set-version $distroName 2

関連情報