Windows 10 1903版提供的沙箱( Sandbox )是一種安全機制,就是執行時會重新建立一個乾淨的作業系統環境,而當應用程式結束運作時,該沙箱環境內所有的資料皆被清空,不會與主系統有任何的瓜葛,筆者在之前有撰寫一篇開啟Windows 10沙箱的文章,但似乎不能調整Windows 10 Sandbox的配置,這次來介紹如何自訂啟動WINDOWS 10沙箱(Sandbox)的配置。
Windows Sandbox主要是基於Hyper-V技術,主要優勢在於內置於Windows 10中,利用了現有的操作系統,並完全不損失安全性的情況下快速啟動是一個獨立的環境,就是不會影響主機Windows 10系統上的任何資料。啟動執行沙盒(Sandbox)很容易,但陽春到沒有提供任何界面來配置一些設定,主要是 Windows 10 Sandbox 嚴格控制其中的程式所能存取的資源。
其實,有一種簡單的的XML文件配置檔,可以控制Sandbox的一些功能,如啟用/禁用虛擬化GPU、啟用/禁用IInternet、共享文件夾或啟動腳本等。Windows Sandbox的配置檔副檔名為.wsb,並以XML的格式為主,所以可以輕鬆使用內建的記事本來編輯,你不用擔心不懂XML的語法,只要依循區塊內放入項目並指定值就可以了。只要在configuration
的區段內下寫入設定項目即可,可設定的項目有虛擬GPU(VGpu)、網路功能(Networking)、資料夾映射(MappedFolders)與登入時執行(LogonCommand)。
<configuration>
項目
</configuration>
例如<VGpu>參數</VGpu>中的參數有關閉(Disable)
和 開啟(Default)
兩個,而網路功能(Networking)也是一樣,想要打開只要在Disable換成
Default即可。
<configuration>
<VGpu>Disable
</VGpu>
<Networking>Disable
</Networking>
</configuration>
筆者就使用內建的記事本來編輯,如在桌面上按下滑鼠右鍵來建立一個文件檔。
筆者想要關閉虛擬GPU與網路功能,其輸入下:
接著要改黨名與附檔名,請開啟檔案總管,將【檢視】下的「附檔名」勾選。
點選剛建立的文字檔按下F2來重新命名,記得附檔名必須為.wsb,檔案名稱易記的就可以,此時出現併更詢問視窗,按下〔是〕來確定。
一般來說直接執行會以預設的配置啟動Sandbox ,想要調整配置,必須直接由.wsb的配置檔啟動,下圖是剛剛建立並更名的.wsb檔,點選兩下來啟動,此時啟動的配置是依據你的設定的,綠色框中的網路被關閉。就是因為.wsb配置檔關閉網路功能個關係。
假如點選.wsb配置檔啟動出現下圖,說明已經很清楚,因為已經有一個Windows SandBox已在運作中。
筆者認為最重要的是資料夾映射得配置項目,雖然你可以在主系統上複製後貼上Windows Sandbox內,但總是不方便,如果希望Sandbox的虛擬系統能直接對應到主系統上的資料夾,那就更方便了。不過資料夾映射(MappedFolders)項目有<HostFolder>與<ReadOnly>兩個參數,稍微複雜些,但也不難。
HostFolder
參數:主機系統資料夾路徑,例如:C:\tools
ReadOnly
參數:對映射的資料夾是否為唯讀模式(true
或false)
例如筆者想要將主系統上的tools資料夾映射到Windows Sandbox,下圖是筆者編輯的映射的.wsb配置檔。
啟動後果然在Windows Sandbox內看到一個tools資料夾。
至於登入時執行(LogonCommand),就是Windows Sandbox後要運行的命令,其語法如<Command>執行的指令</Command>,執行的指令就是程式或某個批次檔,例如explorer.exe就是開啟檔案總管,筆者想要進入自動開啟映射的tools資料夾,在原來的.wsb檔內加入藍底白字的文字。
再次的開啟除了又對應的tools資料夾外,也會自動開啟這個資料夾。
Windows 10 沙箱預設的帳號戶為 WDAGUtilityAccount 本地帳戶,也就是所有的命令都是在這個帳號下執行,映射的共享文件夾當然是在這個帳號的桌面中,所以筆者在explorer.exe後的參數就是又啟動的資料夾路徑。
延伸閱讀: