Windows10でWSLを使うときのメモ


免責

この記事に従って発生した如何なる損害も筆者は負うことができません。ご免なさい。

はじめに

Windowsパソコンを使っているので自分用にメモします。
Windows操作に詳しくないので間違いがあると思います。
主にWSLをうまく使いたいので、そのための個人的なメモです。

自分のためのショートカットメモ

PowerShell.old
$ wslpath -w /etc/
\\wsl$\Ubuntu-20.04\etc

Windows10のビルドバージョン

アップデーターは「Windows 10 のダウンロード」というサイトから拾います。
SDカードやUSBメモリーを接続したままだとアップデートに失敗することがあります。

リリース日 リリース名 ビルドバージョン コードネーム ネットニュースで話題
MAY 27, 2019 May 2019 Update Build 18362 19H1 WSLのファイルシステムがネットワークアドレス(\\wsl$)に追加される。
NOVEMBER 12, 2019 November 2019 Update Build 18363.448 19H2 WSL関連の話題なし。「SearchUI.EXE」によりCPU使用率が異常に高くなる問題が修正される。
MAY 27, 2020 May 2020 Update Build 19041.264 20H1 Hyper-V対応のWSL2。

Windows10のビルドバージョンを知る

キーボードから操作してみます。
PowerShellのバージョン毎に、知るためのコマンドが異なるようですので、ご注意を。

PowerShell キー入力
5以前 「Win+R」「powershell」「Get-WmiObject Win32_OperatingSystem」
6 「Win+R」「pwsh」「Get-CimInstance Win32_OperatingSystem」
PowerShell.old
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.

新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6

PS C:\Users\user1> Get-WmiObject Win32_OperatingSystem


SystemDirectory : C:\WINDOWS\system32
Organization    :
BuildNumber     : 18362
RegisteredUser  :
SerialNumber    : 00325-92400-00000-AAOEM
Version         : 10.0.18362



PS C:\Users\user1>
PowerShell6
PowerShell 6.2.1
Copyright (c) Microsoft Corporation. All rights reserved.

https://aka.ms/pscore6-docs
Type 'help' to get help.

PS C:\Users\user1> Get-CimInstance Win32_OperatingSystem

SystemDirectory     Organization BuildNumber RegisteredUser SerialNumber            Version
---------------     ------------ ----------- -------------- ------------            -------
C:\WINDOWS\system32              18362                      00325-92400-00000-AAOEM 10.0.18362

PS C:\Users\user1>

PowerShell

新しいPowerShellを使ってみます。

WSLのファイルシステムにアクセス

Explorer.exeからWSLのファイルシステムにアクセスできます。
WSLのLinuxが動いている間は「\\wsl$」からアクセスできます。Linuxを止めても出ていることもあり、消えるタイミングや基準は不明。
CIFSが動いているのか、Sambaが動いているのか、9Pらしいですが、コレジャナイ感。

WSL2でブロックデバイスをマウント

iSCSIConsoleというユーザーモードiSCSIターゲットサーバを使えば、iSCSI経由でマウントできるらしいですが、やっぱりコレジャナイ感。
VirtualHereという手もあるらしいですが、iSCSIとほぼ同じアーキテクチャで、これまたコレジャナ感。
VT-dで、パススルーして欲しいんです。DMAしたいんです。

困ったときの記録

  • wsl --set-version Ubuntu-20.04 2
    • 「仮想マシンまたはコンテナーからの応答が受信されなかったため、操作がタイムアウトしました。」と言われました。
    • Windows10を再起動したあとwslを一度も動かさないようにして、wsl --set-versionしました。
  • wsl2起動時に「仮想マシンまたはコンテナーからの応答が受信されなかったため、操作がタイムアウトしました。」と言われる。
    • さらに[プロセスはコード 4294967295 で終了しました]と言われました。
    • タスクマネージャーをみたところVMmemというプロセスが物凄くCPUリソースを食べていました。
    • Windows10を再起動するまで正しく起動できませんでした。

感想

WSLでUSBメモリをマウントしたいですが、今世紀中には無理そうな気がします。
Windowsの操作や専門用語は、いつも新鮮な感じがして、ワクワクします。