時間2020/1/6,簡單體驗下WSL2
安裝方法:
- 進入Windows預覽體驗計划(我個人加入的預覽體驗計划是“慢”,不清楚目前的發布預覽是否支持wsl2),重啟。
- 更新系統到最新,重啟。
- 啟用或關閉Windows功能里打開“虛擬機平台”。(當然適用於Linux的Windows子系統也要打開)
- Powershell中使用命令
wsl -l -v
可以看你現在已經安裝的發行版,以及它們使用的wsl版本。 - Powershell中使用命令
wsl --set-default-version 2
可以將后續新裝(從商店裝)的其他發行版設置成使用wsl2。 - Powershell中使用命令
wsl --set-version Ubuntu 2
可以將先有已安裝的發行版換成wsl2的,Ubuntu換成你的發行版名字。
wsl2安裝完成。親測打開“虛擬機平台”后和以前打開Hyper-v沒有區別,會影響vmware和vbox6的運行,這個問題非常大,也是令我比較痛的問題,畢竟wsl外的Hyper-v的Linux虛擬機遠遠稱不上好用,相對vbox易用性差很多。wsl2相對於wsl1有幾個主要不同:
- docker可以用了。
- 不再內網互通,使用NAT來與主機交互,會在系統里建虛擬網卡,且只支持動態ip,每次重啟ip改變,
暫無官方ip fix或者host方案目前版本(19041)已經可以在Windows下用localhost訪問wsl2內的服務了,注意只能用localhost,用127.0.0.1不行,對我而言這樣就夠用了,畢竟訪問Windows可以用主機的內網ip,但是互通多半后面也會做。 - 親測幾個之前wsl1表現有問題的地方,比如redis-benchmark遠程等等,都可用了,這可能是wsl2最大的價值——不需要再為了不可知的wsl問題來付出時間,相對於完整的linux虛擬機只是少了systemd。
wsl2和普通虛擬機的區別主要是:
- 掛載了Windows的文件系統,使用體驗這方面和wsl1一致,但是直接操作Windows下文件時效率不如wsl1,原因是wsl2是運行在一個exFAT的VHD中。
- 和wsl1一樣,仍然不支持systemctl, systemd。
- 想要進行ip fix需要較復雜的方法添加到系統計划任務里,我自己還沒測試,主要是覺得現有的一些方法emmmm,還是等官方。
(裝docker方式可見本博客里常規Linux方式,一致)
以上。