在開始使用從Win10訪問Linux子系統中的文件這一功能之前,請確下面的功能或者設置都能夠滿足:
Windows 10 系統須為19H1或更高版本;
Linux子系統已經安裝并啟用。
現在想Windows 10中啟用Linux子系統,請先確認你的計算機所使用的處理器支持虛擬化技術,且該項功能已經開啟;
然后,我們需要在“控制面板”-“程序”-“啟用或關閉Windows功能”中勾選“適用于Linux的Windows子系統”,接著重新啟動Windows 10;
最后,我們需要在微軟商店(過去叫Windows商店)中下載、安裝并簡單設置Linux子系統。
此時,我們若在Linux的命令行中執行下面這行命令:
explorer.exe .
那么Windows文件資源管理器將會訪問Linux子系統中/home下的文件和文件夾。
同樣地,我們可以通過這一原理訪問Linux子系統中幾乎所有的文件。
三、在PowerShell中訪問文件
有些時候,我們需要在PowerShell中訪問Linux子系統里的文件,這并非是件難事。
Linux子系統的文件目錄在Windows文件資源管理器中的路徑為:
//wsl$/正在運行的Linux發行版的名稱/
例如:
//wsl$/Ubuntu
熟悉CMD或者PowerShell命令的同學可能已經猜到應該怎樣做了。是的,用dir命令即可。
例如,如果我們想要使用PowerShell來訪問Ubuntu子系統中的文件,那么我們一共需要執行兩條命令,第一條命令是:
cd //wsl$/Ubuntu
這條命令的作用是切換到Linux子系統根目錄中的文件所在的路徑;
第二條命令是:
dir
這條命令是獲取當前文件路徑下的文件(包括文件夾)列表。
四、已知問題
通過文件資源管理器來訪問Linux子系統中的文件是Windows 10上的一個新功能(目前處于預覽階段),它可能并不完美,以下是微軟在其官方博客中提到的一些已知問題:
1、就目前來說,只有當某一Linux子系統運行時,我們才可以從Windows文件資源管理器訪問它里面的文件,據小編了解,微軟將會在未來的Windows更新中提供文件資源管理器對處于非運行狀態的Linux子系統中的文件的訪問支持。
2、如果你想在命令提示符(CMD)中操作Linux子系統里的文件,那么請注意,由于CMD不支持將UNC路徑作為當前目錄,所以類似于:
cd //wsl$/Ubuntu/home
這樣的命令是無法執行的。
不過,類似于下面這樣的命令執行起來則沒有問題:
copy //wsl$/Ubuntu/home/threeseven/MyFile/test.txt C:/LinuxFiles/
這行命令的作用是將Ubuntu系統/home/threeseven(用戶文件夾)/MiFiles/test.txt復制到Windows系統C盤的LinuxFiles文件夾內。
3、不要通過AppData文件夾訪問你的Linux子系統中的文件,因為這很有可能會導致Linux系統中的文件損壞。
五、導出Linux分區至Windows 10
如果當前Windows 10中有Linux子系統正在運行,那么在將Linux分區導出至Windows 10之前,請先結束目標Linux子系統的運行。方法如下:
首先,我們需要知道當前有哪些Linux發行版正在運行。為此,我們可以在Windows 10的命令提示符或者PowerShell中輸入并運行這行命令:
wsl.exe --list --running
以Ubuntu為例,若要結束它的運行,那么我們需要執行的命令為:
wsl.exe --terminate Ubuntu
如果你嫌上面那行命令太長,那么運行這行命令也可以:
wsl -terminate Ubuntu
現在,我們已經結束了Linux子系統的運行。如果你忘了執行這一步也沒關系,因為當我們開始把Linux分區導出至Windows 10時,Linux的運行將被強行終止。
要將Linux分區導出至Windows 10,我們需要打開命令提示符或者Powershell,然后執行這個命令:
wsl.exe --export Linux發行版的名稱 要導出到的位置/導出的壓縮文件的文件名
例如,我們想把Linux分區導出至桌面,那么以小編的電腦為例,我們應該在命令提示符或者PowerShell里面執行的命令為:
wsl --export Ubuntu C:/Users/ThreeSeven/Desktop/Ubuntu.tar
在導出文件時,請耐心等待,因為導出的過程需要一些時間。
導出完成后,我們可以在目標位置看到一個.tar格式的壓縮文件,這個壓縮文件里面的內容就是Linux分區中的全部文件。
六、將導出的Linux歸檔文件導入到一個新的Linux子系統
在上一小節,我們已經將Linux分區中的全部文件導出到Windows 10的桌面的一個歸檔文件里,現在,我們再嘗試著把這些文件導入到一個新的Linux子系統當中。這一操作可以用于克隆Linux子系統。
要執行這一導入操作,我們可以在命令提示符或者PowerShell中執行這條命令:
wsl.exe --import 新的Linux子系統的名稱 新的Linux子系統的目標位置 TAR歸檔文件的路徑
例如:
wsl.exe --import Ubuntu_New C:/Ubuntu_New C:/Users/ThreeSeven/Desktop/Ubuntu.tar
在導入文件時,請耐心等待,因為導入的過程需要一些時間。
導入成功后,我們可以在新的Linux子系統的目標位置看到這樣兩個文件夾:
要運行新的Linux子系統,我們需要在命令提示符或者PowerShell中執行以下命令:
wsl --distribution 新的Linux子系統的名稱
例如:
wsl --distribution Ubuntu_New
若要刪除我們通過導入Linux歸檔文件而得到的這個新的Linux子系統,我們可以在命令提示符或者PowerShell中執行這條命令:
wsl.exe --unregister 目標Linux子系統的名稱
例如:
wsl.exe --unregister Ubuntu_New
總結:
以上就是全部內容啦!更多資訊,敬請關注武林網之家!