2023-11-23

在 Surface Go 2 安裝 Linux

在下從同事購買一部 Surface Go 2 的觸控熒幕的手提電腦
由於同事需要還原電腦才交給在下,但一直都無法還原,因此直接交給在下處理

由於無法使用系統原本的還原方法
因此在下打算直接使用 Linux Live Boot USB,直接將 Linux 安裝到 Surface Go 2

在下 強制關機 後, 按實音量增加 後 按開關機掣 ,直至進入 UEFI模式

Security 中,將 Secure Boot 設定為 Disabled

  • 在 Boot configuration 中
    • Enable Boot from USB devices 設定為 Enabled
    • Enable Boot Configuration Lock 設定為 Disabled
    • Configure boot device order 設定 USB Storage 為第一

最後到 Exit 按 Restart Now 便會將設定值儲存並重新開機

但即使設定 USB Storage 為第一起動裝置,仍然無法載入到 Linux Live Boot USB

在下估計 Surface Go 2 的 USB Storage 起動,只接受 Windows起動裝置 ,其他 起動設備 無法在 Surface Go 2 以 USB Storage 起動
需要在 Windows 的 設定 > 更新 > 復原 中,重新開機後才能使用其他 起動設備
因此還是需要重新安裝 Windows 到 Surface Go 2

需要使用 Windows 7 或以上版本才能製作 Windows起動裝置

使用 Windows 內置的 修復磁碟機 功能製作 Windows起動裝置

由於只需要製作 Windows起動裝置 ,因此 不需要備份資料
所以不需要選取 將系統當備份到修復磁碟機。

尋找可以製作 Windows起動裝置

選擇製作 Windows起動裝置 的 USB儲存裝置
(建議 USB儲存裝置 的容量最少有 16 GB)

製作 Windows起動裝置 會將 USB儲存裝置 所有資料清除

等待 Windows起動裝置 製作完成

製作 Windows起動裝置 後,還需要 支援 Surface Go 2 的 Windows映像檔

先查看 Surface Go 2 的 序列號碼 , 序列號碼 隱藏在 Surface Go 2 的支架後的機背上
(其實在 UEFI模式 中都能夠查看,只是即使沒有記下,仍然可以在機身找到)

支援 Surface Go 2 的 Windows映像檔 到 https://support.microsoft.com/surface-recovery-image 下載
(需要以 Microsoft 帳戶登入才能選取及下載 Surface Go 2 的 Windows映像檔)

登入後,選擇合適的版本,例如在下使用 Surface Go 2
然後輸入裝置的序列號碼

便可以選取下載的版本

由於 檔案容量大約 9 GB ,因此下載時間需要一段時間
而且還要將檔案解壓縮,需要的時間比較長

檔案解壓縮後,將 所有檔案複製到 Windows起動裝置 的 根目錄 位置
如果 有檔案重覆需要合併或取代,選 確定 即可
(同樣需要較長時間的操作)

複製完成後,便可以將 Windows起動裝置 接駁到 Surface Go 2 便可以 載入到修復模式

選擇需要的語言

選擇需要的鍵盤佈局,在下建議使用 英文US

選擇 從磁碟機復原

如果資料不需要保留,選擇 完全清除磁碟機

復原 確定執行 復原程序

然後就是等待 Windows起動裝置 將資料複製到 Surface Go 2 ,完成後會自動重新開機
(時間大約 30分鐘)

由於 UEFI模式 仍然設定為以 USB Storage 起動,因此重新開始後會再次載入到 修復模式
關閉您的電腦 關機,然後 拔除USB 再開機,才能載入已修復的 Windows

雖然已經修復 Windows ,但仍然需要設定 Windows ,因此又是漫長的等待

載入完成後,便需要設定系統
基本的設定,在下不一一說明,只需要 選擇閣下合適的項目 即可

要新增第二種鍵盤配置嗎? 設定,在下建議 跳過 不需要新增第二種鍵盤配置

讓我們將您連線到線路 不需要連接網絡,選擇右下角的 我沒有網際網路

您在連線至網際網路後還能探索更多項目 ,選擇右下角的 繼續進行有限的安裝

又是等待

系統設定完成後,會設定使用者資料

選擇右下角 接受

設定 使用者名稱密碼安全問題 等 資料,然後等待設定完成

使用您的臉部可加快登入速度並提升安全性 ,選擇右下角 暫時跳過

選擇裝置的隱私設定 ,在下建議 全部設定都選擇 否

等待完成隱私設定

完成後會載入到 Windows 10 桌面

將 Linux Live Boot USB 連接到 Surface Go 2 ,到 設定 > 復原 ,按 立即重新啟動

重新開機後載入到 原生系統修復模式
選擇選項 ,選擇 使用裝置

使用裝置 ,選擇 Linpus Lite

有時在 原生系統修復模式 無法辨認 Linux Live Boot USB 而無法顯示 Linupus Lite
需要 重新載入到 Windows ,重覆載入到 原生系統修復模式

顯示 GRUB2起動畫面 ,表示能夠以 Linux Live Boot USB 起動

安裝流程大約一般情況相同
唯一不同的是,由於 Surface Go 2 需要使用 UEFI 起動,在下 不建議使用 Something else 安裝

如果閣下打算讓 Windows 與 Linux 同時在 Surface Go 2 運作
可以選擇 Install Linux Mint alongside Windows Boot Manager

再根據需要調整 Windows 及 Linux Mint 的分割區空間

如果不打算使用 Windows ,亦可以使用 Erase disk and install Linux Mint
清除整個硬碟的資料,並讓 Linux Mint 佔據整個空間

兩種安裝操作,安裝時都會 自動建立 UEFI起動分區

測試觸控熒幕

將 Linux 安裝到 Surface Go 2 後,便可以試用 Linux 對 觸控熒幕 及 繪圖筆 的使用情況

支援繪圖筆壓力感應

支援網頁瀏覽手勢

支援文字選取
(繪圖筆選取 再以 手勢操作)

支援熒幕虛擬鍵盤

支援滑鼠虛擬右鍵

支援圖像縮放及旋轉手勢

補充資料

使用虛擬機製作 Windows起動裝置

但如果沒有 Windows ,應該如何製作 Windows起動裝置 ?

還是使用 Windows ,只是不一定要是安裝原生的 Windows
亦不需要以非法途徑獲取的 Windows ,而是使用能在虛擬機運作的 Windows

從 Microsoft 的官方網頁 https://developer.microsoft.com/windows/downloads/virtual-machines/ 下載 評估版的Windows
評估版Windows 的壓縮檔案大約 9 GB ,解壓縮後大約 23 GB ,並將檔案匯入到虛擬機,虛擬機大約 30 GB
每個步驟都需要花費大量空間及時間,總使用空間大約 70 GB ,總使用時間大約 1小時
雖然 Windows評估版 的功能並不完整,但已具備 修復磁碟能 功能

由於需要製作實際的 Windows起動裝置 ,即是要讓由 虛擬機 能夠存取真實的 USB裝置
由於在下使用 VirtualBox ,而基於安全原因 , 在 Linux 使用 VirtualBox 運行的 虛擬機 不能隨意存取 USB
需要 root 或 super user 或 使用者帳戶 屬於 vboxusers 群組才能使用 USB

由於使用 root 或 super user 有機會由於 虛擬機 的系統,影響宿主系統,因此在下建議將帳戶 加入到 vboxusers 群組
到 系統 > 使用者設定值 修改即可,亦可以在 Terminal 輸入:

sudo usermod -a -G "vboxusers" "${USER}"

另外,要讓 Windows評估版 在 VirtualBox 支援真實的 USB裝置,還需要安裝 VirtualBox擴充套件
在 Terminal 輸入:

sudo apt install virtualbox-ext-pack
按此下載及安裝VirtualBox擴充套件

完成所有設定後,到 VirtualBox 的 評估版的Windows項目 的 設定 > USB 中
點選 啟用 USB 控制器 及 選擇 USB 2.0 (OHCI + EHCI) 控制器
在加入清單中 從裝置加入篩選器

選擇需要使用的 USB裝置

設定 USB 後,便可以執行 Windows評估版 重複 修復磁碟機 的操作
便能夠選擇 真實的USB裝置 製作 Windows起動裝置 ,只是運作速度比較慢

從 Windows評估版(虛擬機) 製作的 Windows起動裝置 能夠在 真實的電子裝置中使用

雖然 Microsoft 提供 Windows評估版 ,但並不是能無限制地使用

使用 GRUB2 載入其他起動裝置

由於需要依靠 Windows 以修復方式 載入 USB起動裝置,如果每次安裝 Linux 都要先載入 Windows ,便非常麻煩

大部分 Linux Live Boot 都是使用 GRUB2 ,而 GRUB2 能夠將 起動程序 交給 其他起動器
因此實際上能夠在 GRUB2 選單中以手動方式載入其他 Linux Live Boot USB

在下嘗試連接 Linux Live Boot USB 後, GRUB2 指令操作模式輸入:

# 列出所有分區,例如: (hd0) (hd0,gpt1) (hd0,gpt2) (hd0,gpt3) (hd1,gpt1) (hd1,gpt2) (hd1,gpt3)
ls
# 假設 (hd0) 是 USB裝置, (hd0,gpt1) 是 Linux Live Boot USB 的起動分區
# 設定需要載入的分區
set root=(hd0,gpt1)
# 載入 Linux Live Boot USB 的 GRUB2
configfile /boot/grub/grub.cfg
# 路徑有時是 /boot/grub2/grub.cfg

結果成功

因此在下修改 GRUB2 的設定檔,令 GRUB2 起動時可以選擇載入 Linux Live Boot USB
但 GRUB2 不建議直接修改 grub.cfg 檔案,因此需要修改 /etc/grub.d/40_custom 關於自訂 GRUB2 起動選項的設定檔
在 Terminal 輸入:

sudo nano "/etc/grub.d/40_custom"

(不一定使用 nano ,任何文字編輯器即可)

在 40_custom 最後加入以下內容:

menuentry "Chainload other GRUB2" {
	insmod chain
	set root=(hd0,gpt1)
	if [ -f /boot/grub/grub.cfg ]; then
		configfile /boot/grub/grub.cfg
	elif [ -f /boot/grub2/grub.cfg ]; then
		configfile /boot/grub2/grub.cfg
	else
		echo "Cannot chainload other GRUB2."
	fi
}

除了修改起動選單,還要修改 /etc/default/grub 的逾時設定值,否則無法停止自動載入預設起動項目
GRUB_TIMEOUT_STYLE=hidden 取消 (修改成 #GRUB_TIMEOUT_STYLE=hidden 即可)
及將 GRUB_TIMEOUT=0 修改成 GRUB_TIMEOUT=10 (10秒足夠停止自動載入,有需要可以調整數值)

儲存內容後,並執行:

sudo update-grub2

更新 grub.cfg ,當重新開機載入到 GRUB2 起動選單時,便會顯示 Chainload other GRUB2 的選項,可以載入其他 Linux Live Boot USB

總結

安裝完 Windows 後,未安裝 Linux Mint 前,在下在 Windows 平台記綠一些資料作簡單比較

Windows 安裝後已經使用了 32.6 GB ,是總使用空間的一半以上,還未安裝常用軟件
而 Linux Mint 則是 11.9 GB ,並包括常用軟件,只是 Windows 的 三分之一

在下估計因為這個專為 Surface Go 2 設計的 Windows ,因此部分空間會建立成修復分區
亦因此 Windows 系統分區空間比 Linux Mint 少
而 Linux Mint 安裝時則自動配置 2 GB 作為 交換空間 (SWAP) 提升讀寫速度

而資源用量方面, Windows 起動 1分鐘 記憶體用量已使用 62% ,即使超過 10分鐘 平均使用超過 50%
而 Linux Mint 則平均使用 10% 左右

而 CPU ,在 Windows 起動超過 10分鐘 後則顯得比較平穩,而 Linux Mint 則比較波動

雖然 Linux Mint 效能上比較好,但鏡頭暫時未能夠直接操作
需要自行安裝鏡頭驅動程式,然而在下沒有足夠時間測試
另外觸控筆的筆尾無法啟用筆刷功能

參考資料

沒有留言 :

張貼留言