【Bash】Windows Subsystem for Linux【WSL】8

■ このスレッドは過去ログ倉庫に格納されています
2020/05/29(金) 17:58:21.78ID:N31NEDSz
ついにWSL2が登場したぜー。こりゃ完全にLinuxだ。ヒャッハー!WSL最高!開発にLinuxは使わねぇー。Windowsで開発してLinuxは動かすだけや!

WSL2アーキテクチャ
https://www.atmarkit.co.jp/ait/articles/1906/14/news019.html

WSL 2では、仮想マシン環境が起動し、bashがコマンドを受け付けるまで2秒程度という速度で起動できる。
このため、コマンドプロンプトなどからwsl.exeなどを使ってbashコマンドを処理する時間は、
現在のWSL 1とほとんど変わらない。また、本物のLinux実行環境であるため、
これまで正しく動作できなかったアプリケーション、例えばコンテナシステム(Dockerなど)や
ユーザーファイルシステム(FUSEなど)も動作させることができる。その上で、現在のWSL 1と同等の機能と使い勝手を実現するという。

WSL 2はWSL 1を置き換えずに併存する
 WSL 2が登場したからといって、WSL 1は廃止になるわけではなく、引き続き利用可能である。

ファイル共有プロトコル「9P」でWSL 1との互換性を確保
 このように、WSL 2とWin32環境の間のファイル共有は、どちらも9Pを使うことになる。
 また、WSLからWin32プログラムを起動する「Win32相互運用性」では、最初にWSL側で、
実行ファイルを判別する必要がある。具体的には、実行ファイル先頭のマジックナンバー
(Win32ではMZ)を見て、LinuxのELF64か、Win32の実行ファイルなのかを判断する。

【Bash】Windows Subsystem for Linux【WSL】7
https://mao.5ch.net/test/read.cgi/linux/1579395785/
2020/05/29(金) 18:24:48.76ID:jgC5/wCu
前スレ997です
>>998
すみません997のwsl --set-default-versionはtypoで
ちゃんとwsl --set-version 2しました
wsl -l -vでVERSIONが2って出ます
$ dpkg -l | grep linux-image しても何も出らんし(当然か)
kernelはどこあるんでしょこれ?
2020/05/29(金) 18:45:24.92
>>1
Windows10 WSL2にLinux居城を爆誕させる 5/25
https://qiita.com/v2okimochi/items/f53edcf79a4b71f519b1

今北産業向け
2020/05/29(金) 18:59:14.45ID:vxnoX4OY
前スレでWSL2の使用メモリ云々言ってる人達ってこういうの読まないんだろうな
https://docs.microsoft.com/ja-jp/windows/wsl/wsl-config#configure-global-options-with-wslconfig
2020/05/29(金) 19:55:16.31ID:N31NEDSz
> memory size Windows 上の合計メモリの80% WSL 2 VM に割り当てるメモリの量。

本当に80%だとしたら4GBだと3.2GB
32GBだったら25.6GBなのでおかしなことになる。
これは最大使用可能メモリであって、実際の使用メモリではないだろう
2020/05/29(金) 20:10:11.99
WSL2が使えるメモリ量を制限する
初期設定だと、WSL2で大量のメモリを消費した時にWindows本体がメモリ不足で詰む。

cf. WSL 2 consumes massive amounts of RAM and doesn't return it
https://github.com/microsoft/WSL/issues/4166

Windows側の ~/.wslconfigを作って、以下の設定をする。
たとえばメモリを7GBまで、スワップを8GBまでにする。

~/.wslconfig
[wsl2]
memory=7GB
swap=8GB

cf. https://github.com/microsoft/WSL/issues/4166#issuecomment-622318211

もちろん必要な時には多くのメモリを使わせたい (極端に制限すればWSL2が低スペと化す :innocent: )ので、ホストマシンが耐えられるギリギリを模索していくことになりそう。
2020/05/29(金) 20:10:31.70ID:qpKtmwjM
>>2
sshfs普通に使えたぞ?

WSL2の構成を思い出してみよう。
ディストリごとに仮想マシンがあるのではない
WSL2の仮想マシンが一つあるだけ。

UbuntuなどのディストリはWSL2の仮想マシンの中のコンテナとして動いている。
つまりはUbuntu(コンテナ)の中にfuseドライバを組み込む必要はないし組み込めない

WSL2ではすでにカーネルの中にfuseドライバは組み込まれている。
だからsshfsをすぐに使える
2020/05/29(金) 20:11:41.94ID:qpKtmwjM
>>6
> 初期設定だと、WSL2で大量のメモリを消費した時にWindows本体がメモリ不足で詰む。
スワップアウトするだけやろ?
そんなもん、あるアプリが大量のメモリを消費したのと何も変わらんよ
2020/05/29(金) 20:16:18.37ID:OAFLi8bo
「Windows 10 May 2020 Update」でブルースクリーン発生やBluetooth、IMEの不具合wwwww
https://pc.watch.impress.co.jp/docs/news/1255346.html
2020/05/29(金) 20:57:14.19ID:jgC5/wCu
>>7
そんなこと言ったって俺のDebianでは使えないんだもん
CONFIG_FUSE_FS=y
を確認して自分でビルド作り直した
でもsshfsすると同じ
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.121-microsoft-standard/modules.dep.bin'
modprobe: FATAL: Module fuse not found in directory /lib/modules/4.19.121-microsoft-standard

modules.dep.binって何やろ?
2020/05/29(金) 21:37:51.50ID:jgC5/wCu
>>7
ubuntuには/lib/modulesあります?
2020/05/29(金) 21:43:51.48ID:qi6wZkpr
>>11
すぐ入るんだから入れてみたら?
2020/05/29(金) 21:54:27.69ID:qpKtmwjM
>>11
Ubuntuのカーネルは使わないので、そんなのみても意味がありません。
WSLからカーネルにドライバは追加できません
2020/05/29(金) 21:56:29.06ID:qpKtmwjM
> WSLからカーネルにドライバは追加できません

訂正。Ubuntu(コンテナ)からWSL2のカーネルにドライバは追加できません
2020/05/29(金) 22:02:36.07ID:M27p/Am8
WSL2でカーネルモジュールのロードは出来るけどね
zfs.koをビルドしてロードさせた事がある

Debianだと何か違うんかな?と思ってストアから入れてみたけど、Ubuntuと変わらんね、sshfsでマウント出来た
環境差異かsshfsのオプションで特別な事してるとか?
2020/05/29(金) 22:11:14.35ID:qpKtmwjM
https://xdigit.hatena
blog.com/entry/2019/07/04/215858
WSL2でほとんどのシステムコールが使えるようになったことがわかる。使えないのは共有ライブラリロード(uselib),
カーネルモジュール操作(XXX_module), futex, TLS操作, NUMA操作, kexec, userfaultfdあたり。
2020/05/29(金) 22:26:58.76ID:jgC5/wCu
>>15
>環境差異かsshfsのオプションで特別な事してるとか?
シェルスクリプトで実行していたんだけどmodprobeしてました
$ cat mount_hoge
#/bin/sh
sudo modprobe fuse
sudo sshfs

modprobe外したらいけました
みなさん有難う
2020/05/30(土) 01:45:38.07ID:otlQPtYP
EncFSも動いたな
VeraCryptも動くかな?
2020/05/30(土) 09:11:20.55ID:jQnC6d6Q
wsl2のホームディレクトリをwindowsからsambaでアクセスできる人いますか?
やってみたら、¥¥ip でのアクセスはできるのですが、¥¥hostnameでのアクセスができません。
2020/05/30(土) 09:15:22.66ID:Fe0fUdrT
¥¥hostnameでアクセスできるわけねーだろ
そんなことされたら迷惑だ
WSL2がホスト名を乗っ取るような迷惑なことはしない
2020/05/30(土) 09:49:48.63ID:CPBkVPFd
じゃあwsl2のhostnameを変更すれば、アクセスできますかね?
2020/05/30(土) 10:47:49.51ID:jQnC6d6Q
hostnameは変更してもできませんでしたが、smb.confでnetbios nameを設定したら、変更した名前でアクセスできるようになりました。
これでwindowsからネットワークドライブ(z:等)でwsl2にsambaアクセスができて快適になりました。
9p経由だとエクスプローラー上で右クリックしたときに固まってしまうので。
2020/05/30(土) 15:40:02.44ID:e0v8k6v4
netsh.exe interface portproxy add v4tov6 listenport=22 connectaddress=::1 connectport=22
#ipv4/port 22で待ち受けてipv6のlocalhostに転送

これやると外部からsshに繋げるようになるが
apache2/port 80だと繋げない。
何でだろ?
2020/05/30(土) 15:53:53.57ID:pfZ4Mvy/
自機がHyper-Vに対応していないことを知ってガッカリするためのスレはここですか。
2020/05/30(土) 16:16:32.23ID:kyXSMZZW
>>24
Windows 10が動いてHyper-Vに対応しないものなんてあるの?
何使ってるか教えてよ
2020/05/30(土) 18:33:51.94ID:WAkNf4HE
>>25
Core 2
2020/05/30(土) 20:53:37.72ID:8FPGI0t9
>>26
ドイツ軍が暗号に使ってたやつ?
2020/05/30(土) 21:15:58.25ID:pfZ4Mvy/
>>25
Core2 Quadです。
OS は、Vista Ultimate 32bit → 8/8.1 32bit → 10Pro 32bit → 10Pro 64bit と入れ替えつつ今も使ってます。
2020/05/30(土) 21:24:55.05ID:pfZ4Mvy/
なお、Hyper-V対応してないとAndroid Emulatorも動かないので我がCore2 Quadもそろそろ引退時期なのかな、とは思ってます。
2020/05/30(土) 22:15:09.11ID:732pIZri
初心者みたいな質問で悪いけど
WSLを有効にするとホストのWindowsカーネルも仮想化されるの?
2020/05/30(土) 22:33:35.83ID:kyXSMZZW
>>26 >>28
Coreシリーズは全てHyperVに対応しています。
2020/05/30(土) 22:46:53.16ID:pfZ4Mvy/
>>31
なるほど、そうなんですか。
BIOSにHyper-Vの設定がないから原因はマザーボードですかね。
2020/05/30(土) 22:59:39.40ID:3wp1ELmc
CPUがSLAT対応していないと今のHYPER-Vはダメポ

Coreiシリーズの世代なら多分大丈夫だべ
チェックツールがあるからそれで確認推奨
3424
垢版 |
2020/05/31(日) 00:41:13.01ID:2GJjYeWO
私の自機でBIOS設定できるのは「Vanderpool Technology」という古いものらしく正式な「Virtualization Technology」とは別物のようです。
「Windowsの機能」ダイアログで「Hyper-V」にすべてチェックが入っているにもかかわらず、
標準の systeminfo コマンドでは「第 2 レベルのアドレス変換: いいえ」が出力されてしまいます。
やはりマザーボードが原因でWSL2が動かないようです。
2020/05/31(日) 01:01:01.68ID:zUo1LuE9
>>34
第二レベルってのがSLATなので
CPUの問題
2020/05/31(日) 01:08:15.91ID:QmSLtnOZ
Second Level Address Translation
3724
垢版 |
2020/05/31(日) 01:08:25.44ID:2GJjYeWO
なるほど。Core2 QuadにもHyper-Vに対応していないものがあるってことですね。
2020/05/31(日) 01:10:53.87ID:zUo1LuE9
https://archive.codeplex.com/?p=slatstatuscheck
2020/05/31(日) 01:42:25.32ID:ZoAltNMO
WSL2カーネルの.msiって定期的に更新されてるのか
今アップデートしたら4.19.84から.104になった
2020/05/31(日) 09:48:37.74ID:1KfMJUiL
日本を貶めるのが目的の反日パヨクが、韓国ヨイショしたりインチキ情報流しまくったり
メディアの9割が日本を貶める側の中ほんと安倍総理はよくやったわ
日本がニューヨークにならなくて残念だったね
韓国産検査キットも輸入できなくて残念だったね
自国の悪口デマを世界に吹き込むのも大好きな世界の左翼と比べても異常な日本のパヨク

日本を貶める反日パヨクがいなかったら、日本はどれだけスムーズにできてんだろうな
2020/05/31(日) 09:51:09.52ID:jWx5Zyhd
>>40
自民党支持のネトウヨだけど韓日友好や天皇陛下に敵対するのは非国民です。

http://karutosouka2.tripod.com/yasukuni-tripod-kakudai.jpg
2020/05/31(日) 12:04:15.63ID:/wTUInZj
>>39
もともとはWindowsのOSイメージにWSL2カーネルが含まれるという話だったが
それだとOSの大型アップデートのタイミングでしかカーネルが入れ替えられなくなるので
含めるのを辞めた。代わりにWindows Update経由に変更された。
これによりもっと細かい単位で更新可能になった。msiも定期的に更新されるのだろう

WSL 2のLinuxカーネル更新、Windows Update経由に変更
https://japan.zdnet.com/article/35150847/
4324
垢版 |
2020/05/31(日) 12:11:21.57ID:2GJjYeWO
あまり詰め込むと、インストール用isoをDVDに焼く時に片面2層のDVDが必要とかどうとか微妙な問題が。
2020/05/31(日) 12:49:22.37ID:/wTUInZj
Linuxカーネルの話なら数十MB程度だよ
2020/05/31(日) 16:24:38.21ID:7Wo9tVgl
>>31
Core2世代はSLAT(EPT)に対応してないから動かないよ
2020/05/31(日) 19:30:51.96ID:QmSLtnOZ
VTとかSLATはここに詳しい。つか、ググレよ。

https://ja.wikipedia.org/wiki/X86%E4%BB%AE%E6%83%B3%E5%8C%96
2020/05/31(日) 22:02:08.06ID:ZHhFbRBz
カーネルってWindows Updateで自動更新されへんの?
2020/05/31(日) 22:04:10.54ID:ZHhFbRBz
>>42に自動更新とあるね
2020/06/01(月) 13:41:12.79ID:rpDJpzoy
WSL2からの通信って全部WindowsFWのPublicを通さないとダメなの何でなんだろう?
FWが悪さしてるのはなんとなく分かってたけど盛大に嵌りました。
2020/06/01(月) 14:07:51.16ID:zV1ZQHnl
ファイアウォールの許可設定が必要なのはWSL1でも同じでは?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況