Windows10側からWSLファイルシステム内へアクセスしてみるテスト

ビルド18342から、WSL側のファイルシステムへのアクセスが可能になったようです。

で、試してみたのですが、一瞬躓いたので、メモしておきます。

条件

  • WSLは予め起動しておくこと
  • 仮想ネットワークホスト『wsl$』だけではアクセスができない
    ディストリビューション名まで指定する必要あり

実行結果

C:\>wslconfig /list
Windows Subsystem for Linux ディストリビューション:
Legacy (既定)
WLinux
Ubuntu-18.04

C:\>dir \\wsl$
ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。

C:\>dir \\wsl$\Legacy
 ドライブ \\wsl$\Legacy のボリューム ラベルがありません。
 ボリューム シリアル番号は 0000-0000 です

 \\wsl$\Legacy のディレクトリ

2018/02/23  14:13    <DIR>          .
2018/02/23  14:13    <DIR>          ..
2018/05/14  11:16    <DIR>          bin
2017/03/30  18:59    <DIR>          boot
1970/01/01  09:00    <DIR>          cache
1970/01/01  09:00    <DIR>          data
2019/05/30  09:02    <DIR>          dev
2019/05/30  09:02    <DIR>          etc
2018/02/23  14:21    <DIR>          home
1970/01/01  09:00           591,344 init
2018/02/23  14:35    <DIR>          lib
2018/02/23  14:32    <DIR>          lib64
2017/03/30  18:55    <DIR>          media
2018/02/23  14:13    <DIR>          mnt
2017/03/30  18:55    <DIR>          opt
2019/05/30  09:02    <DIR>          proc
2018/05/14  11:30    <DIR>          root
2019/05/30  09:02    <DIR>          run
2019/05/29  07:57    <DIR>          sbin
2017/02/24  22:24    <DIR>          snap
2017/03/30  18:55    <DIR>          srv
2019/05/30  09:02    <DIR>          sys
2018/05/14  11:19    <DIR>          tmp
2017/03/30  18:55    <DIR>          usr
2017/03/30  18:58    <DIR>          var
               1 個のファイル             591,344 バイト
              24 個のディレクトリ  41,269,194,752 バイトの空き領域

C:\>
エクスプローラーのURL欄にwsl$と入力したところ
エクスプローラーのURL欄にwsl$と入力したところ
そこからUbuntu-18.04を選んだところ
そこからUbuntu-18.04を選んだところ

ネットワークドライブに再接続できませんでした

Windows 10 May 2019 Update 1903 (19H1)にしたところ、net use /persistent:yes で行っているネットワークドライブへの接続が出来なくなってしまいました。

但し、全数起こるわけではなく、現象が出る個体と出ない個体があるようです。

ネットワークドライブに再接続できませんでした
ネットワークドライブに再接続できませんでした

近日中にパッチが出るかも知れませんが、2019/05/22更新のマイクロソフトのページを参考に、対応しました。

Web 共有にマップされているネットワーク ドライブにアクセスしようとするときに”ユーザーが認証されていないというエラー
“User has not been authenticated”error when you try to access a network drive that’s mapped to a web share

処置

次のように設定されているものとします。

net use x: \\CIFS_Server\path password /user:username /persistent:yes
  1. レジストリエディタを起動します
  2. 次のサブキーに移動します
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
    値を追加するレジストリの位置
    値を追加するレジストリの位置
  3. Parametersを右クリックした状態で、新規→複数行文字列値、と進みます
    複数行文字列値を挿入
    複数行文字列値を挿入
  4. 『新しい値 #1』という項目が出来るので、『AuthForwardServerList』という名前に変更します
  5. 『AuthForwardServerList』をダブルクリックします
  6. 値のデータとして、『https://CIFS_Server』を入力します
    値を挿入
    値を挿入
  7. OKボタンを押下します
  8. レジストリエディタを終了します
  9. ネットワークドライブを再接続します
    net use x: /delete
    net use x: \\CIFS_Server\path password /user:username /persistent:yes
  10. OSを再起動して動作を確認します

うまく行くといいですね…。


2019.06.05追記
この処置を行ってうまく行った数日後、再度『ネットワークドライブに~』が出たときは、エクスプローラから×印が付いたネットワークドライブに(切断や再マウント処理をせずに)アクセスしてみてください。そのまま繋がると思います。

2019.06.12追記
2019年6月パッチのKB4503293で改善されるかと思ったのですが、やはり『ネットワークドライブに~』が出てしまい、コマンドプロンプト側からのアクセスが出来ない状態です(エクスプローラ側から一旦アクセスすれば、使えるようですが)。

Windows10でVirtualBox上の仮想マシンが動かなくなってしまった時

VirtualBox上の仮想マシンが起動後数秒でハングアップするようになってしまいました(正確にはVirtualBox InterfaceがBusyに)。

私の環境だけかも知れませんが、解決方法が見付かりましたので残しておきます。

Hyper-V Virtual Ethernet Adapterが残っていませんか?

当該PCは(開発機と事務用PCを共用しているため)Docker(Hyper-V下)とVirtualBox間を行ったり来たりで使っています。

OS起動時にタスクマネージャのパフォーマンスタブを開いていたところ、イーサネットアダプタが数秒おきに増えたり減ったりしているのに気付きました。

Hyper-Vは停めている(外している)筈なのに、何故かHyper-V Virtual Ethernet Adapterが存在しています。

処置

Hyper-Vが無効化状態で、Hyper-V Virtual Ethernet Adapterが残っている場合は、次の手順で試してみてください。

  1. Vagrant等が入っていたらアンインストールしてOSを再起動
  2. VirtualBoxが入っていたらアンインストールしてOSを再起動
  3. デバイスマネージャーのネットワークアダプターからHyper-V Virtual Ethernet Adapterを削除
  4. OSを再起動
  5. 念のため、管理者権限のコマンドプロンプトから
    bcdedit /set hypervisorlaunchtype off
  6. OSを再起動
  7. VirtualBoxをインストール
  8. 念のためOSを再起動
  9. Alpineなどの軽い物で、VMを起動できるか確認

19H1後の現象

Windows 10 May 2019 Update 後に、次のようなエラーでVMが起動しなくなりました。

VMSetError: Call to WHvSetupPartition failed: ERROR_SUCCESS (Last=0xc000000d/87)
VERR_NEM_VM_CREATE_FAILED

こちらについても上記処置で対応できました。

Windows10とWSLでのDockerの相性について

Windows10(1803)+WSL(18.04LTS)+Docker Desktop(2.0.0.3)ではそこそこご機嫌に動いているのですが、一部Volumesの動きが怪しい部分があったりするため、Desktop無しでWSLのみでうまく動かないかと調べてみました。

結果、私が試してみた範囲では、1803/1903とdocker-ce(18.03.*または2019/05末現在のベータバージョン)とWSL(18.04LTS)の組み合わせでは(PCを再起動しても、Ubuntuを管理者権限で起動しても)駄目でした。
ネット上では、この組み合わせでも出来るという方と出来ないという方が混在してるのですよね…。

Ubuntuを16.04にするか、docker-ceのバージョンを落とせば動くらしいのですが、もうすぐシステムコール100%互換を達成したWSL2が出るらしいので、それまで待とうと思います…。

ダニ防止のお話

ここしばらく、乾燥してはいますが、気温は高いですよね。

これで湿度が上がって来たら、ダニがいっぱい増えると思います。

去年買って、効果があった気がする物のご紹介です。
畳にそのまま寝ても、刺されることがなくなった気がします。
そろそろ頼まないと…。

枚数が多いので、畳の下やベッドの中など、心おきなくポンポン投げ込んで使って下さい。