Windows 10 內(nèi)置 Linux 子系統(tǒng)初體驗

WSL

前言


前段時間月帝,機子上的 win10 又偷偷摸摸升級到了一周年正式版顶瞒,比較無奈柴底。不過之前聽聞這個版本已經(jīng)支持內(nèi)置的 Linux 子系統(tǒng)捏顺,于是就懷著好奇心試玩了一把点把。雖然期間遇到了很多問題钞楼,但總體來說這個子系統(tǒng)體驗還不錯鸿竖,在這里就分享一些關(guān)鍵步驟和遇到的問題煮盼,剩下的大家自己折騰吧凄吏。远舅。

啟用 Linux 子系統(tǒng)


設(shè)置(16215版之后不再需要開發(fā)人員模式)
Windows功能
安裝ing...
  1. 系統(tǒng)升級到一周年正式版及以上(1607)

  2. 依次在 設(shè)置 - 更新與安全 - 針對開發(fā)人員 選項中,啟用"開發(fā)人員模式"

  3. 在資源管理器中打開 控制面板\所有控制面板項\程序和功能 , 打開 啟用或關(guān)閉 Windows功能 , 勾選 適用于Linux的Windows子系統(tǒng)(Beta)

  4. 重啟電腦

  5. 命令行運行 lxrun /install /y 開始安裝
    安裝速度取決于網(wǎng)絡(luò)情況痕钢,下載的文件在 %localappdata%\lxss 目錄下 lxss.tar.gz (181M)图柏,解壓后大概500M, rootfs 目錄即為子系統(tǒng)根目錄。

  6. 命令行運行 bash 進入Ubuntu
    默認使用的 root 帳號登錄任连,通過指令 passwd 設(shè)置密碼蚤吹。

  • 注:本文腳本均在root帳號下操作,因此建議使用root帳號
  1. 畢竟愛折騰,難免會把子系統(tǒng)環(huán)境(lxss目錄)玩壞掉裁着,因此干正事前最好先備份下以便快速還原繁涂。注意,不要直接右鍵復(fù)制或者打包二驰,可能會導(dǎo)致文件權(quán)限丟失的扔罪。
    xcopy %localappdata%\lxss %localappdata%\lxss.bak /E
  2. 當然,如果你比較任性也可以不執(zhí)行上一步的備份操作诸蚕,通過命令行運行 lxrun /uninstall /full 輕松卸載子系統(tǒng)步势,重復(fù)上面的步驟即可重裝,不過要注意下載速度時好時壞哦背犯。

通過上面的步驟坏瘩,已經(jīng)啟用了 win10 自帶的 Linux 子系統(tǒng) ( WSL ),感覺逼格提升了不少漠魏。當然倔矾,怎么能滿足于此呢,接下來就要做一些環(huán)境的配置和進一步的挖掘柱锹。

更換數(shù)據(jù)源 ( 參考 )


Ubuntu 下我們可以通過 apt-get 命令 很方便的安裝/卸載軟件哪自,由于默認的軟件包倉庫是位于國外的,安裝軟件的時候就可能遇到各種網(wǎng)絡(luò)問題或者下載到的一些資源不完整禁熏,因此就需要切換數(shù)據(jù)源為國內(nèi)的鏡像站點來改善壤巷。

# 1.備份原來的數(shù)據(jù)源配置文件
cp /etc/apt/sources.list /etc/apt/sources.list_backup
# 2.編輯數(shù)據(jù)源配置文件
vi /etc/apt/sources.list

在這里我使用的是阿里云的數(shù)據(jù)源:

deb http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main restricted universe multiverse
# 3.更新配置
apt-get update

注:14986版之后更新了內(nèi)核,第三方的鏡像站可能找不到軟件包資源瞧毙,需要切換回官方的源胧华。經(jīng)測試 中科大的源 可用

dist=`lsb_release -cs`
cat > /etc/apt/sources.list <<EOF
deb https://mirrors.ustc.edu.cn/ubuntu/ ${dist} main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ ${dist}-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ ${dist}-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ ${dist}-security main restricted universe multiverse
EOF

與 Windows 通訊


目前 子系統(tǒng)Windows 之間通過以下兩種方式進行通訊

  1. 通過 tcp 協(xié)議進行通訊(簡單點說就是用網(wǎng)絡(luò),端口都是通的)
  1. 通過 /mnt/【盤符】/目錄 的方式訪問Windows目錄
    試過在Windows的資源管理器中直接對子系統(tǒng)環(huán)境目錄下的文件所做的修改不能被子系統(tǒng)所識別宙彪,因此需要在bash下進行操作矩动。

在任何情況下,請勿使用Windows應(yīng)用程序释漆,工具悲没,腳本,控制臺等創(chuàng)建或修改Linux文件

安裝 zsh


目前常用的 Linux 系統(tǒng)和 OS X 系統(tǒng)的默認 Shell 都是 bash男图,但是真正強大的 Shell 是深藏不露的 zsh示姿, 這貨絕對是馬車中的跑車,跑車中的飛行車逊笆,史稱『終極 Shell』峻凫,但是由于配置過于復(fù)雜,所以初期無人問津览露,很多人跑過來看看 zsh 的配置指南荧琼,什么都不說轉(zhuǎn)身就走了。直到有一天,國外有個窮極無聊的程序員開發(fā)出了一個能夠讓你快速上手的zsh項目命锄,叫做「oh my zsh」堰乔,Github 網(wǎng)址是:https://github.com/robbyrussell/oh-my-zsh。這玩意就像「X天叫你學(xué)會 C++」系列脐恩,可以讓你神功速成镐侯,而且是真的。

zsh 就是一款強大的虛擬終端驶冒,網(wǎng)上也都推薦使用 oh my zsh 來管理配置 , 不過對我來說還是不夠傻瓜苟翻。于是,參考一篇 文章 使用 zsh包管理器 antigen 來管理所有功能骗污,文章中還給了現(xiàn)成的配置崇猫。

  • 安裝 zsh
sudo apt-get -y install zsh
  • 設(shè)置終端的 shell 環(huán)境默認為 zsh,輸入以下命令( 需要 重啟
# 加 sudo 是修改 root 帳號的默認 shell
chsh -s `which zsh`
  • 如果上面命令無效需忿,修改 ~/.bashrc 文件, 在開頭添加:
if [ -t 1 ]; then
    exec zsh
fi
  • 安裝 antigen
# 修改配置 ~/.zshrc(如果切換帳號后無法使用 zsh 則把該用戶的配置文件再配一遍)
curl -L https://raw.githubusercontent.com/skywind3000/vim/30b702725847bac4708de34664bb68454b54e0c0/etc/zshrc.zsh > ~/.zshrc

# 修改主題, 參考:https://github.com/robbyrussell/oh-my-zsh/wiki/themes
# 如果需要主題一直生效需要添加到 ~/.zshrc 中
antigen theme ys

# 配置修改完重新執(zhí)行 zsh
  • 如果出現(xiàn)警告:zsh compinit: insecure directories, run compaudit for list.
chmod -R 755 ~/.antigen
# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line
bindkey "\e[5~" beginning-of-history
bindkey "\e[6~" end-of-history

# for rxvt
bindkey "\e[8~" end-of-line
bindkey "\e[7~" beginning-of-line
# for non RH/Debian xterm, can't hurt for RH/DEbian xterm
bindkey "\eOH" beginning-of-line
bindkey "\eOF" end-of-line
# for freebsd console
bindkey "\e[H" beginning-of-line
bindkey "\e[F" end-of-line
# completion in the middle of a line
bindkey '^i' expand-or-complete-prefix

# Fix numeric keypad  
# 0 . Enter  
bindkey -s "^[Op" "0"
bindkey -s "^[On" "."
bindkey -s "^[OM" "^M"
# 1 2 3  
bindkey -s "^[Oq" "1"
bindkey -s "^[Or" "2"
bindkey -s "^[Os" "3"
# 4 5 6  
bindkey -s "^[Ot" "4"
bindkey -s "^[Ou" "5"
bindkey -s "^[Ov" "6"
# 7 8 9  
bindkey -s "^[Ow" "7"
bindkey -s "^[Ox" "8"
bindkey -s "^[Oy" "9"
# + - * /  
bindkey -s "^[Ol" "+"
bindkey -s "^[Om" "-"
bindkey -s "^[Oj" "*"
bindkey -s "^[Oo" "/"

安裝 autojump ( 用法參考 )


autojump 是一個命令行工具诅炉,它允許你可以直接跳轉(zhuǎn)到你喜愛的目錄,而不受當前所在目錄的限制屋厘。意思就是可以讓你更快地切換目錄涕烧,而不用頻繁地使用 cd/tab 等命令。

  • 安裝
sudo apt-get install autojump
  • zsh 下運行報錯:
$ autojump
Please source the correct autojump file in your shell's
startup file. For more information, please reinstall autojump
and read the post installation instructions.

參照文章 Mac終端增強技能終極 Shell 找到解決辦法:

~/.zshrc 中安裝插件 brew install autojump 再重新進入 zsh

由于本文使用 antigen 作為 zsh 的包管理器汗洒,所以實際操作是在 ~/.zshrc 中添加 antigen bundle autojump

使用 bash 客戶端軟件 cmder ( 參考 )


Windows 自帶的 命令提示符 cmd 并不是很好用( 文本選中议纯、復(fù)制粘貼等等操作 ),在這里使用 cmder 作為替代品溢谤,體驗效果很好瞻凤。去 cmder 官網(wǎng) 下載 mini版( 完整版附帶了模擬的 bash 環(huán)境,由于已經(jīng)安裝 Linux 子系統(tǒng)溯香,就不再需要了)解壓即可使用。

  • 設(shè)置啟動 cmder 時直接運行 bash:
1. 進入 "Settings > Startup",
2. 選擇 "Startup options > Command line"浓恶,輸入 "bash -cur_console:p"
啟動直接運行bash
  • 通過軟件底部的加號按鈕新開標簽頁并進入 bash
1. 進入 "Settings > Startup > Tasks",
2. 選擇 "bash::bash"玫坛,將指令修改為 'cmd /c "bash" -cur_console:p -new_console:d:%USERPROFILE%'

文中給的 cmder 是 1.3.2 版本的,最新的 1.3.6 版本已經(jīng)默認集成了 WSL 的 Task包晰,就不用這一步的配置了

新標簽頁
  • 設(shè)置配色主題
1. 進入 "Settings > Features > Colors",
2. "Schemes" 項下拉選擇 "<ubuntu>"

小貼士:將 cmder 目錄添加到環(huán)境變量 path 中或者復(fù)制快捷方式到 "C:\Windows\System32" 目錄下湿镀,就可通過 win + R 快捷鍵快速打開了

運行圖形界面程序 ( 參考 )


什么!Linux 不是就這么個黑白界面的窗口嗎伐憾?是的勉痴,你沒看錯,就是圖形界面树肃,這里用到的是 Xserver 這個東東蒸矛,至于原理什么的各位自行度娘吧。

Xming
  1. 安裝Xming 下載地址

  2. 安裝完直接打開 Xming 即可

  3. 安裝一個 firefox 測試
    apt-get install firefox

  4. 運行(在程序指令前加上"DISPLAY=:0 ")
    DISPLAY=:0 firefox

  5. 簡化配置
    每次運行程序都要輸入 DISPLAY=:0 挺累的,執(zhí)行下列指令后重啟bash即可省去這個步驟
    echo "export DISPLAY=:0.0" >> ~/.bashrc

PS:很多小伙伴反映說打開Xming沒反應(yīng)雏掠,這是正痴都溃現(xiàn)象 ( 詳見評論區(qū)33樓 )。Xming是一個在后臺運行的服務(wù)乡话,在任務(wù)欄顯示一個 X 的小圖標即表示啟動成功摧玫,無需其他操作了。要想看到畫面绑青,需要在wsl或其他遠程Linux機器上使用 DISPLAY=:0 命令啟動帶圖形界面的程序诬像。在這里簡單分析下我理解的原理:1. Xming 啟動 Xserver服務(wù)用于監(jiān)聽;2. wsl啟動程序后把界面數(shù)據(jù)發(fā)送給 Xserver闸婴;3. Xserver 接收到數(shù)據(jù)進行繪制坏挠,于是在win下就看到了圖形界面。還有困惑的話請移步至下方的 vnc 版塊掠拳,比Xming效果要好癞揉,類似與 win 下 遠程桌面連接 的效果。

Sublime Text 3 安裝


既然都可以運行圖形界面了溺欧,編輯器也要換成可視化的喊熟,畢竟 vim 還是不太適合我。

cd /
# 下載
wget https://download.sublimetext.com/sublime-text_build-3126_amd64.deb
# 安裝
dpkg -i sublime-text_build-3126_amd64.deb
# 運行
subl
什么鬼姐刁,報錯了芥牌!

應(yīng)該是少了什么依賴包,嗯聂使,安裝下搞定壁拉。

apt-get -y install libgtk2.0-0

啟動 xfce 桌面環(huán)境 ( 參考 )


圖形界面程序都能運行了,不試試 ubuntu 的桌面環(huán)境怎么能甘心柏靶,于是又是噼里啪啦一頓搜索弃理。一開始參照這篇 國外的教程 折騰了許久,每次運行總是報一個 composite 的插件沒加載進來屎蜓,各種軟件包安裝一通還是不行痘昌,后來實在失去耐心就放棄了這條路。后來看到好像有人成功運行了 xfce , 但沒有具體步驟炬转,只能自己一頓摸索辆苔,結(jié)果還真誤打誤撞成功了。

# 1.安裝xfce4
apt-get install -y xfce4
# 2.安裝xubuntu桌面及附帶應(yīng)用
apt-get install -y xubuntu-desktop
# 3.啟動
xfce4-session
啟動報錯了

解決辦法: ( 參考 )

sed -i 's$<listen>.*</listen>$<listen>tcp:host=localhost,port=0</listen>$' /etc/dbus-1/session.conf

再次嘗試打開扼劈,現(xiàn)在可以看到 Xming 打開了三個窗口驻啤,分別是桌面、任務(wù)欄荐吵、菜單欄骑冗。逼格是提升了不少赊瞬,不過確實很卡。

xfce4

使用 VNC 進行遠程桌面控制 ( 安裝方法 )


感謝 @lizr_4bf0 的提示沐旨,使用 VNC 來代替 Xming 以解決 Xming 下很卡的問題森逮。

apt-get install -y vnc4server
  • wsl 下啟動 vncserver ( 安裝后首次啟動需要設(shè)置訪問密碼 )
vncserver
  • win10VNC Viewer 中訪問 127.0.0.1:1
    注意:如果連接 VNC Viewer 時報錯請 參考

  • VNC Viewer 中只顯示一個終端窗口的問題

# 修改xstartup, 將 x-window-manager 替換為剛才安裝的 xfce4-session
sed -i 's$x-window-manager$xfce4-session$' ~/.vnc/xstartup
# 重啟 vncserver
vncserver -kill :1
vncserver :1

注意: 如果沒安裝 xfce4,那么至少安裝一個終端 ( 比如: apt install -y gnome-terminal ) 用于啟動, 不然 vnc 就是空白的, 什么都干不了

# 先關(guān)閉
vncserver -kill :1
# 再啟動并設(shè)置分辨率(注意是小寫的x)
vncserver -geometry 1366x768 :1

在子系統(tǒng)上運行nginx


因工作項目中用到了 ssi 技術(shù)磁携,而已經(jīng) Windows 上已經(jīng)編譯好的 nginx 是不支持相對路徑引用的( 需要修改源碼重新編譯 )褒侧,只能委屈求全用著 Apache 。不過既然現(xiàn)在都能跑 Linux 了谊迄,那就試試在 Linux 上運行 nginx闷供,然后在 Windows 上進行調(diào)用。

1. 通過 apt-get 方式安裝
sudo apt-get install nginx
# 啟動報錯了:
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
# 80端口實際沒被占用统诺,那應(yīng)該就是ipv6的問題歪脏,將其禁用: 
vim /etc/nginx/sites-available/default
# 找到default_server ipv6only=on;注釋掉
# 再次啟動沒報錯,不過瀏覽器無法訪問粮呢,80端口也沒被使用婿失,查看error.log
cat /var/log/nginx/error.log
# 看到錯誤信息:
ioctl(FIOASYNC) failed while spawning "worker process" (22: Invalid argument)
# 解決方法:禁用master進程模式
sed -i '1 a\master_process off;' /etc/nginx/nginx.conf

再次啟動,終于沒報錯了啄寡,在 Windows 中打開瀏覽器訪問 127.0.0.1豪硅,還真的試驗成功了,不過 nginx 版本 ( 1.4.6 ) 有點老挺物。

2. 通過編譯源碼的方式安裝
# 1.安裝依賴包
apt-get -y install build-essential autoconf libtool libxml2-dev openssl libcurl4-openssl-dev libbz2-dev libjpeg-dev libpng12-dev libfreetype6-dev libldap2-dev libmcrypt-dev libmysqlclient-dev libxslt1-dev libxt-dev libpcre3-dev libreadline-dev
# 2.下載源碼
wget http://tengine.taobao.org/download/tengine-2.1.1.tar.gz
# 3.解壓
tar -zxvf tengine-2.1.1.tar.gz
# 4.進入目錄
cd tengine-2.1.1
# 修改源碼...
# 5.配置
./configure --prefix=/usr/anyesu/nginx
# 6.編譯&安裝
make && make install
# 7.修改配置文件
sed -i '1 a\master_process off;' /usr/anyesu/nginx/conf/nginx.conf
# 8.啟動
/usr/anyesu/sbin/nginx

上面的步驟懒浮,我試了兩臺電腦,其中一臺報錯:

nginx: [emerg] invalid port in resolver "fec0:0:0:ffff::1" in /usr/anyesu/nginx/conf/nginx.conf:123

/etc/resolv.conf

出現(xiàn)的 fec0:0:0:ffff::1 是個什么鬼识藤,度娘了一番砚著,貌似是 dns,打開 dns 配置文件 /etc/resolv.conf 果然發(fā)現(xiàn)了這東西痴昧,應(yīng)該是 Windows 下只分配了 1dns稽穆,所以 Linux 就給了這么兩個默認值的吧。將它們注釋掉赶撰,重新啟動 nginx舌镶,成功運行 Tengine/2.1.1

注意扣囊,每次重啟 bash 都會重置 dns 配置的

啟用 ssh ( 參考 )


本地可以通過命令行打開 bash乎折,如果要遠程訪問( 如同訪問線上服務(wù)器一樣 )绒疗,那么就需要啟用 ssh 侵歇。

# 1.安裝ssh(一般不需要這步)
apt-get install openssh-server
# 2.修改配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
vim /etc/ssh/sshd_config
#=======(修改以下選項內(nèi)容)=========#
# Port 23(22端口已被占用)        #
# (取消注釋)ListenAddress 0.0.0.0 #
# UsePrivilegeSeparation no      #
# PermitRootLogin yes            #
# (注釋)StrictModes yes         #
# PasswordAuthentication yes     #
#================================#
# 3.啟動ssh
service ssh start
# 4.如果提示“sshd error: could not load host key”,則用下面的命令重新生成
rm /etc/ssh/ssh*key
dpkg-reconfigure openssh-server

使用終端工具訪問吓蘑,這里我用的是 WinSCP + PuTTY

WinSCP
PuTTY

WSL 開機啟動


任務(wù)管理器

打開任務(wù)管理器我們可以發(fā)現(xiàn)惕虑,在運行子系統(tǒng)的時候坟冲,后臺其實有一個名為 bash 的進程在運行,我們每開一個命令行窗口就會多一個 bash.exe溃蔫,如果我們把所有的 bash.exe 都關(guān)閉, 則這個 bash 進程就跟著關(guān)閉了(相當于是子系統(tǒng)關(guān)機了)健提,跟著之前在子系統(tǒng)中打開的程序如 nginxsshd 等也隨之關(guān)閉了伟叛。為了讓 Linux 程序能夠在后臺繼續(xù)運行私痹,這里通過 vbs 腳本在后臺打開一個 bash.exe 來保證 bash 進程一直開著。當然统刮,還可以通過 Windows 的計劃任務(wù)實現(xiàn)開機啟動 WSL 并打開其中的程序紊遵。
注:目前1803版本中關(guān)閉 bash.exe 不會再關(guān)閉打開的 Linux 進程了,也就是說不需要再在后臺維持一個 bash.exe

# 1.新建開機啟動腳本
vim /usr/anyesu/boot.sh
# 2.編輯
#================================================================
# #!/bin/sh
# /usr/anyesu/nginx/sbin/nginx
# service ssh start
# $SHELL  #這句很重要侥蒙,掛起當前腳本進程,進而維持base.exe一直打開
#================================================================
# 3.設(shè)置權(quán)限
chmod 777 /usr/anyesu/boot.sh
# 4.創(chuàng)建vbs腳本(D:\linux\wsl.vbs)
#==========================================
# Set ws = CreateObject("Wscript.Shell") 
# ws.run "bash /usr/anyesu/boot.sh",vbhide
#==========================================
# 5.創(chuàng)建計劃任務(wù)
計劃任務(wù)
創(chuàng)建基本任務(wù)
設(shè)置任務(wù)名稱
設(shè)置任務(wù)觸發(fā)條件——用戶登錄
設(shè)置任務(wù)操作——啟動
設(shè)置任務(wù)操作——運行vbs腳本
運行計劃任務(wù)

使 WSL 支持 32位程序


  • 參考 issue#2468 ( 中文 )
    注: 依賴包可能無法自動安裝, 自己手動安裝下

使用 Docker


由于篇幅較多暗膜,單獨寫了一篇文章 —— WSL 中 Docker 使用總結(jié)

關(guān)于 Linux 發(fā)行版本


# 打開cmd鞭衩,進入bash
bash
cd /
# 下載openSUSE
wget -O openSUSE-42.2.tar.xz https://github.com/openSUSE/docker-containers-build/blob/openSUSE-42.2/docker/openSUSE-42.2.tar.xz?raw=true
# 解壓
xz -d /openSUSE-42.2.tar.xz
mkdir rootfs
tar -C rootfs -xvf openSUSE-42.2.tar
# 退出bash,返回cmd
exit
# 進入子系統(tǒng)所在路徑
cd %localappdata%\lxss
# 備份ubuntu用戶空間(看下任務(wù)管理器中bash是不是徹底關(guān)閉了)
rename rootfs rootfs.ubuntu
# 使用openSUSE用戶空間替換默認用戶空間
move rootfs.ubuntu\rootfs rootfs
# 設(shè)置默認登錄用戶
lxrun /setdefaultuser root
# 重新進入bash
bash
#查看發(fā)行版本
cat /etc/issue

官方資料


2017-11-21追加


最近系統(tǒng)又被強更到了 1709 版本 ( 16299.64 )学搜,發(fā)現(xiàn)幾點變化做個記錄:

  1. ping 命令已經(jīng)可以正常使用了

  2. nginxmaster 模式也能正常使用不會報錯了

  3. 發(fā)現(xiàn) nginxssh 之類的论衍,能正常啟動不報錯但怎么也無法綁定端口瑞佩。后來查了 github上的 issues 發(fā)現(xiàn)是wegame ( 原 tgp ) 的鍋,原因是使用了一個 win10 上已失效的特性饲齐,wegame 的開發(fā)表示會盡快修復(fù)钉凌。臨時解決辦法:刪除文件 %systemroot%\system32\drivers\QMTgpNetflow764.sys 后重啟 bash,如無法刪除先關(guān)閉應(yīng)用或卸載再重裝 wegame ( 最好重啟電腦 )捂人,重裝 后先 刪除 QMTgpNetflow764.sys 再運行 wegame御雕。

  4. 內(nèi)核升級為 4.4.0-43-Microsoft 了, 帶上了微軟的標記,推測是這個原因?qū)е潞芏嘬浖鼰o法正常安裝了滥搭。后來發(fā)現(xiàn)應(yīng)該是阿里云的數(shù)據(jù)源未同步的原因酸纲,加上 Ubuntu 自帶的源 ( 即文中最初備份的內(nèi)容 ) 即可解決。

  5. Windows 10 Fall Creators Update (1709) 中 WSL 的新功能 ( 官方博客 )

2017-11-30追加


應(yīng)用商店

目前 1709 版本 ( 16299.64 ) 已經(jīng)可以在商店中搜索安裝多個不同版本的子系統(tǒng)了瑟匆,根路徑為 %localappdata%\Packages\【根據(jù)子系統(tǒng)名找到對應(yīng)的應(yīng)用文件夾】\LocalState\rootfs 闽坡。同時還新增了兩個命令行工具: wsl.exewslconfig.exe

其中 wsl.exe 應(yīng)該等價于 bash.exe , 兩者之間的細微差別暫時還沒發(fā)現(xiàn)愁溜。至于 wslconfig.exe 的作用主要為 ( 參考 ):

1. 查看安裝所有已安裝的子系統(tǒng): wslconfig /l

適用于 Linux 的 Windows 子系統(tǒng):
Ubuntu (默認)
Legacy

其中 Ubuntu 是商店中下載的版本疾嗅,Legacy 是按老方法安裝的默認wsl。

2. 切換bash.exe默認使用的子系統(tǒng): wslconfig /s <DistributionName>
其中 <DistributionName> 替換為 UbuntuLegacy , 或者其他已安裝的子系統(tǒng)冕象。

3. 卸載已安裝的子系統(tǒng): wslconfig /u <DistributionName>
同上替換 <DistributionName> 代承。經(jīng)測試發(fā)現(xiàn),此 "卸載" 并不會卸載商店中安裝的 Ubuntu 應(yīng)用, 即再次執(zhí)行該應(yīng)用又會重新安裝了渐扮。

2018-10-11追加


官方博客中給出了命令行方式來安裝指定版本的 WSL ( 參考 )
管理員權(quán)限 啟動 PowerShell ( 快捷鍵 WIN + X 調(diào)出 ) 執(zhí)行下面命令

  • 啟用 WSL 特性
# 會提示重啟電腦
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • 安裝 Ubuntu
# 下載安裝包
Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile ~/Ubuntu.appx -UseBasicParsing
# 安裝
Add-AppxPackage -Path ~/Ubuntu.appx
# 啟動
Ubuntu.exe
  • 安裝 SLES
# 下載安裝包
Invoke-WebRequest -Uri https://aka.ms/wsl-sles-12 -OutFile ~/SLES.appx -UseBasicParsing
# 安裝
Add-AppxPackage -Path ~/SLES.appx
# 啟動
sles-12.exe
  • 安裝 openSUSE
# 下載安裝包
Invoke-WebRequest -Uri https://aka.ms/wsl-opensuse-42 -OutFile ~/openSUSE.appx -UseBasicParsing
# 安裝
Add-AppxPackage -Path ~/openSUSE.appx
# 啟動
opensuse-42.exe

寫在最后


WSL 折騰完有一段時間了论悴,只是一直沒時間記錄下來(也許是懶吧)掖棉。在此之前,由于工作需要膀估,偶爾兼職運維的角色幔亥,折騰下服務(wù)器什么的,就很業(yè)余的學(xué)習(xí)了一些 Linux 指令察纯。以前裝過 vmware 帕棉,體驗不是很好就不想裝了,所以寫 shell 腳本饼记、編譯源碼什么的都是在公司測試服務(wù)器上練習(xí)的笤昨,現(xiàn)在有了 WSL 之后就可以在自己本地練習(xí)了 ( 肆意折騰,哈哈哈 )握恳。使用方面瞒窒,體驗和使用終端工具連接遠程服務(wù)器是差不多的;性能方面乡洼,子系統(tǒng)( bash 進程 ) 本身是不占多少內(nèi)存的崇裁,啟動程序幾乎相當于啟動 Windows 程序了,不顯示圖形界面內(nèi)存都占用比較小束昵,肯定優(yōu)于"印象中的虛擬機"拔稳。總的來說锹雏,WSL 還是比較值得推薦去折騰的巴比,也比較適合新手學(xué)習(xí) Linux,雖然我也只是個小白⊙﹏⊙


轉(zhuǎn)載請注明出處:http://www.reibang.com/p/bc38ed12da1d

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末礁遵,一起剝皮案震驚了整個濱河市轻绞,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佣耐,老刑警劉巖政勃,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異兼砖,居然都是意外死亡奸远,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門讽挟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來懒叛,“玉大人,你說我怎么就攤上這事耽梅⊙” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵褐墅,是天一觀的道長拆檬。 經(jīng)常有香客問我,道長妥凳,這世上最難降的妖魔是什么竟贯? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮逝钥,結(jié)果婚禮上屑那,老公的妹妹穿的比我還像新娘。我一直安慰自己艘款,他們只是感情好持际,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著哗咆,像睡著了一般蜘欲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上晌柬,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天姥份,我揣著相機與錄音,去河邊找鬼年碘。 笑死澈歉,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的屿衅。 我是一名探鬼主播埃难,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼涤久!你這毒婦竟也來了涡尘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤响迂,失蹤者是張志新(化名)和其女友劉穎悟衩,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栓拜,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡座泳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了幕与。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挑势。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖啦鸣,靈堂內(nèi)的尸體忽然破棺而出潮饱,到底是詐尸還是另有隱情,我是刑警寧澤诫给,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布香拉,位于F島的核電站啦扬,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏凫碌。R本人自食惡果不足惜扑毡,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望盛险。 院中可真熱鬧瞄摊,春花似錦、人聲如沸苦掘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽鹤啡。三九已至惯驼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間递瑰,已是汗流浹背跳座。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留泣矛,地道東北人疲眷。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像您朽,于是被迫代替她去往敵國和親狂丝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容