Category Archives: WSL

An In Depth Tutorial on Linux Development on Windows with WSL and Visual Studio Code 

Memo.

In an earlier blog post, Take your Linux development experience in Windows to the next level with the Windows Subsystem for Linux (WSL) and Visual Studio Code Remote, we introduced an overview of the VS Code Remote – WSL extension, which simplifies Linux development on Windows Subsystem on Linux (WSL).

情報源: An In Depth Tutorial on Linux Development on Windows with WSL and Visual Studio Code | Windows Command Line Tools For Developers

WSL 2登場

We’re excited to announce starting today you can try WSL 2 by installing Windows build 18917 in the Insider Fast ring! In this blog post we’ll cover how to get started, the new wsl.exe commands, and some important tips. Full documentation about WSL 2 is available on our docs page.

情報源: WSL 2 is now available in Windows Insiders | Windows Command Line Tools For Developers

本日登場したWindows 10 20H1 Insider Preview Build 18917よりいよいよWSL2が登場しました。という事で、WSL2を一刻でも早く使ってみたい方は、Insider Previewへの参加が必要となります。

ちなみに、WSL2は薄いHyper-V上で動作するので、VMware Workstation/PlayerやVirtualBoxとは共存できなくなりましたので、そのあたりはご理解頂きたくと言ったところ。つまり、これまでのWSLはあくまでも、「Windowsのサブシステム」でしたがWSL2は「起動が速い仮想マシン」なので、そこら辺の違いもご理解頂きたい。基本的に何でも出来るようになりましたが、今まで通りではないよと。だからちゃんとVHDファイルもあります。メモリの使われ方も違います。

UXの違いに関しては以下のドキュメントなど参照ください。

https://devblogs.microsoft.com/commandline/wsl-2-is-now-available-in-windows-insiders/

追記:21:27

VMwarePlayer上の20H1 18917でWSL2が動きました。

A Deep Dive Into How WSL Allows Windows to Access Linux Files 

Three months ago, we announced that the Windows Subsystem for Linux will be able to access Linux files from Windows in the blog post: What’s new for WSL in Windows 10 version 1903, and in today’s post we will be showing you how we made these changes possible.

情報源: A Deep Dive Into How WSL Allows Windows to Access Linux Files | Windows Command Line Tools For Developers

Memo.

WSLにopenSUSE-Leap-15-1 

A Linux (WSL) distribution for developers and system administrators who don’t have time to fuss about.- Use on machines where corporate IT overlords mandate Windows.- Easier to install, use, and maintain than CygWin.- Native command-line UNIX tools: rsync, tar, vim, grep, sed, awk, and so much more.- Developers can mirror Linux server environments without the overhead of a virtual machine.- Learn Linux without the additional complexity of setting up a dual-boot system or virtual machine.- Free (as in speech) and free (as in beer).

情報源: openSUSE-Leap-15-1 を入手 – Microsoft Store ja-JP

ストアより入手できます。

WSL 2 Build後のFAQ 

After announcing WSL 2 last week, we have had an amazing response from the community and received many great questions about the details surrounding this new architecture. We love answering your questions and want to make sure these answers reach as many WSL users as possible.

情報源: WSL 2 Post BUILD FAQ | Windows Command Line Tools For Developers

以下のテキトー訳は自分用のメモ書き。

WSLはHyper-Vを使いますか?それはWindows 10 Homeでも使用できますか?

WSLはHyper-Vの技術を使うけれども、WindowsのすべてのSKUで使用できます。WSL 2のリリースが近づけばこのコンポーネントの詳細が発表されるはずです。

WSL 1はどうなりますか?

WSL 1を廃棄する予定はありません。WSL 1はWSL 2が登場後も継続され、Linuxディストリビューションもそれぞれ向けが用意されます。

WSL 2はVMwareやVirtual Boxのようなサードパーティの仮想化ツールと共存できますか?

Hyper-Vの技術を使うので共存できません。ただ、Hyper Visor Platform APIが用意されるのでGoogle Android Emulatorなどで、Hyper-Vを使った仮想化が利用可能です。

WSL 2でGPUにアクセスできますか?ハードウェアサポートを増やす予定がありますか?

WSL 2の初期リリースではハードウェアサポートは制限される予定です。たとえば、GPU、シリアルポート、USBデバイスなどにはアクセスできません。ただし、より良いハードウェアサポートを提供することは我々のバックログの中でも優先度は高くなっています。当面の間はシリアルポートと、USBアクセスを備えたWSL 1を使用することができます。Insider Buildでの最新の機能追加については、BlogやチームメンバーのTwitterに注目していてください。

WSL 2はネットワーキングアプリケーションを使用できますか?

はい。一般的に、我々は完全なシステムコール互換性を持っているので、ネットワーキングアプリケーションはより速くそしてよりよく働くでしょう。ただし、新しいアーキテクチャでは仮想化ネットワークコンポーネントを使用しています。つまり、初期プレビュービルドでは、WSL 2は仮想マシンと同じように動作します。たとえば、WSL 2はホストマシンとは異なるIPアドレスを持ちます。私たちはWSL 2をWSL 1と同じように感じさせることに尽力しています、そしてそれは私たちのネットワーキング物語を改善することを含みます。localhostを使用してLinuxまたはWindowsからすべてのネットワークアプリケーションにアクセスするなど、可能な限り早急に改善を加えることを期待しています。私たちがWSL 2のリリースに近づくにつれて、私たちは私たちのネットワーキングストーリーと改善についてより多くの詳細をおしらせするつもりです。

WSLチームメンバーとTwitterアカウント:

  • Taylor Brown @Taylorb_msft
  • Yosef Durr @yosefdurr
  • Sven Groot @svengroot_ms
  • Ben Hillis @benhillis
  • Craig Loewen @craigaloewen
  • Sunil Muthuswamy @SunilMut
  • Brian Perkins
  • Palkesh Soni @sonipalkesh
  • John Starks @gigastarks
  • Craig Wilhite @CraigWilhite

Windows 10 version 1903でのWSL新機能

情報源: Windows Command Line Tools For Developers | What’s new for WSL in Windows 10 version 1903?

雑に翻訳してみました。

WindowsからLinuxファイルへのアクセス

今までは、WindowsからLinuxファイルシステムにアクセスするための正規の方法はなく、WindowsからLinuxファイルシステム上のファイルを操作するとファイルが失われたり、データが破損したりしました。このバージョンよりWindowsからLinuxディストリビューション内のすべてのファイルに簡単にアクセスできるようになりました。

ファイルエクスプローラーからLinuxファイルにアクセスする左膳の方法は、ファイルエクスプローラーからLinuxファイルを開くことです。これを行うには、普段使用しているディストリビューションの$HOMEからファイルエクスプローラを起動します。

# explorer.exe .

ファイルエクスプローラウィンドウが開き、Linuxディストリビューションのファイルシステム内にあるファイルが表示されます。

エクスプローラーが開いてしまいさえすれば今まで通りです。ファイルを選択して、コンテキストメニューからVS Codeを起動する事もできます。

Continue reading Windows 10 version 1903でのWSL新機能

WSLのI/Oが遅いことに対するMS技術者からの回答

情報源: Major performance (I/O?) issue in /mnt/* and in ~ (home) · Issue #873 · Microsoft/WSL · GitHub

WSLのI/Oが遅いというGitHub issueに対するMSの技術者の回答が、遅いと言うより早くできていない理由についてまとめられています。

以下は私の考えです。

まず、初めに理解しておかなければならないことは、WSLのファイルシステムはUnix File Systemとは縁も所縁もないNTFSファイルシステム上にPOSIX互換のUnix File System(UFS)がエミュレートされている事です。WSLは、このためにNTFSとUFSとの差を一つ一つ埋めるようにエミュレートしなければなりません。WSL上のプログラムより、File I/Oの割り込みがある度にこれらの処理を通るので当然遅くなります。この処理は当然煩雑になり、これを速くしていくことはたやすいことではないのです。また、これらのエミュレーションはFile I/Oだけでなく、同じように根本的な仕組みが違うネットワークでも同じです。

Windows Subsytem for Linux(WSL)は、あくまでもWindowsのユーザー、特にソフトウェア開発者の利便性を向上させるものです。逆に言えばそれだけのものです。したがって、もしあなたがI/Oが適切なパフォーマンスを持ったLinuxが欲しいのであれば、どうぞ、Windowsを捨てて、ベアドライブにLinuxをインストールして、Linux機としてPCをお使いください。たまにOfficeが必要になるのであれば、Windowsを仮想環境で使えば良いではないですか。Linux上の仮想環境でもWindowsはそれなりのパフォーマンスでちゃんと動きます。

参考: WSL File System Support | OPCDiary