Surface設備完美安裝Linux/Archlinux雙系統教程
- 一、 前言
- 注意
- 二、準備作業
- 外接設備
- 下載鏡像(iso)
- 制作U盤啟動盤
- 給 Linux/Archlinux 分配硬碟空間
- 三、安裝 Linux/Archlinux
- 關閉Secureboot
- 正式安裝
- 四、安裝Surface驅動
- Debian / Ubuntu驅動
- Arch驅動
- 五、簽名內核
- 安裝簽名工具
- 下載簽名公鑰
- 匯入公鑰
- 選擇公鑰
- 六、最后
一、 前言
博主是計院學生,因為要經常背著電腦到處跑,考慮到自己并不那么健壯,就入手了surface laptop,然后學習程序中會經常用到Linux,用虛擬機久了也不太方便,所以就嘗試裝雙系統,折騰了很久,走了不少彎路,最終也算是挺完美的弄好了,所以就記錄一下方便后來人,
注意
標題的完美安裝指的是可以在Secureboot模式下正常引導雙系統,也即對Windows不造成任何影響,此外Linux設備可以正常驅動,
Secureboot是僅允許受信任的系統在Surface上啟動,安裝非windows系統會無法直接啟動,關閉Secureboot會導致Windows hello無法使用,本文后面會講到如何在開啟Secureboot模式下,正常引導雙系統,
二、準備作業
外接設備
- 一個U盤(不低于8G)
- 一個外接鍵盤(建議有線,有的系統一開始用不了藍牙)
需要外接鍵盤是因為linux安裝程序中因為驅動問題,其自帶鍵盤無法使用,需要使用外接鍵盤進行設定
下載鏡像(iso)
本文以UBUNTUDDE REMIX 20.10為例(博主是顏控),這些系統的安裝步驟大同小異

鏡像下載大家可以去對應系統的官網下載,也可以去鏡像站,這里給大家推薦清華大學鏡像站

點擊箭頭所指的獲取鏈接,即可選擇對應的版本下載,
制作U盤啟動盤
- 下載制作工具:Rufus(點我前往官網下載),下載后無需安裝
- 打開下載Rufus,看到以下界面,插入提前準備好的U盤

- 點擊選擇按鈕,找到提前下好的鏡像,也就是iso檔案,點擊打開

- 完成后,保持默認選項不用更改,點擊開始開始按鈕,如果出現彈窗則保持默認選擇,一直下一步即可,知道開始寫入,

- 寫入程序大概會持續幾分鐘,耐心等待哦~
至此,啟動盤制作完成!
給 Linux/Archlinux 分配硬碟空間
這一步建議大家提前做好,避免出現各種問題~
- 滑鼠右鍵開始圖示(也就是底下的Windows圖示),點擊磁盤管理

- 可以進入以下界面

- 找到你想安裝ubuntu的目標磁盤,選擇后右鍵,選擇壓縮卷,輸入你想分配的空間大小,建議不低于50GB

- 壓縮完成后可以得到一個未分配空間,這里因為我提前分配好了,所以可以看步驟2中的圖
三、安裝 Linux/Archlinux
關閉Secureboot
前面提到了secureboot的作用,Fedora和Debian / Ubuntu都支持Secureboot,而Arch不支持,
但是由于后面我們需要更換linux內核,會導致無法安全啟動,所以此處我們都先關閉Secureboot,
- 選擇重啟電腦,等待關機后,長按音量加,也即F5
- 等待電腦進入UEFI,即下圖界面

- 選擇security,可以看到Secure boot,點擊下方的change configuration,在展開項中選擇none,然后OK

- 然后點擊boot configuration,可以看到第一個是Windows的啟動項,用手將USB configuration拖到第一項

- 完成后點擊exit,點擊reboot即可

正式安裝
Surface上Linux/Archlinux的安裝與其他設備并無二異,此處以ubuntu為例簡要介紹,大家也可以參考其他更詳細的教程,跳過本教程這一步
- 上一步重啟后會進入以下界面,可以保持默認選項,等待進入即可

- 等待系統進行磁盤檢查,完成后會進入引導界面

- 點擊運行安裝程式即可,按照提示

- 到了磁區這一步后,如果你想安裝雙系統,一定要選手動磁區,具體磁區可以參考其他帖子,此處給出一個例子(磁區參考)

- 設定完用戶名和密碼后,選擇重啟電腦,按提示拔掉U盤
至此,linux已經安裝到了你的surface設備上了~
四、安裝Surface驅動
ubuntu自帶的驅動不能兼容Surface的硬體,所以很多硬體無法使用,比如鍵盤,觸屏等,我們現在安裝第三方內核
關于各Surface設備可用硬體詳情,可以查閱此處,基本上就相機用不了
由于Linux和Achlinux存在差異,下面分別介紹不同版本上驅動的安裝程序
Debian / Ubuntu驅動
- 首先,匯入用于簽名軟體包的密鑰
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
| gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg
- 然后,添加存盤庫配置并更新APT
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \
| sudo tee /etc/apt/sources.list.d/linux-surface.list
sudo apt update
- 現在,可以安裝linux-surface內核及其依賴項,還可以啟用iptsd服務以使用觸摸屏
sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surface
sudo systemctl enable iptsd
- 執行完上述步驟后,可以重啟系統,完成后你會發現鍵盤,電源,螢屏觸摸等等都可以使用了
Arch驅動
- 首先,匯入用于簽名軟體包的密鑰
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
| sudo pacman-key --add -
- 然后,檢查并驗證密鑰的指紋,然后在本地對其進行簽名
sudo pacman-key --finger 56C464BAAC421453
sudo pacman-key --lsign-key 56C464BAAC421453
- 現在,可以通過在 /etc/pacman.conf末尾添加以下內容來添加存盤庫
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/
比如可以使用gedit來修改:
gedit /etc/pacman.conf
- 現在,更新存盤庫資料,以安裝linux-surface內核及其依賴項,還可以啟用iptsd服務以使用觸摸屏
sudo pacman -Sy
sudo pacman -S linux-surface linux-surface-headers iptsd
sudo systemctl enable iptsd
- 執行完上述步驟后,可以重啟系統,完成后你會發現鍵盤,電源,螢屏觸摸等等都可以使用了
五、簽名內核
由于我們更換了Linux內核,會導致secure boot在開啟狀態下無法直接引導系統,所以我們需要將內核進行簽名,將Linux-Surface內核的密鑰匯入到引導加載程式中,以便內核可以引導而不禁用secureboot,
安裝簽名工具
Linux和Archlinux可以分別通過以下方式安裝:
Debian / Ubuntu
sudo apt install linux-surface-secureboot-mok
Arch
sudo pacman -S linux-surface-secureboot-mok
下載簽名公鑰
所用公鑰:linux-surface/linux-surface/keys/MOK.cer
匯入公鑰
在下載公鑰的檔案夾打開終端,或將終端定位到對應檔案夾
sudo mokutil --import surface.cer
此程序會讓你攝制一個密碼,務必記住,后面要用
看到以下提示即成功:
SKIP: surface.cer is already enrolled
成功后重啟電腦
選擇公鑰
重啟以后會進入以下界面,比較復古,回車就好

回車后會進入以下界面,選擇第二個,應該是import mok,由于我此處匯入了,是delete mok,明白即可

進入下一個界面后,選擇continue,按照提示輸入你匯入公鑰時設定的密碼,然后回車即可

完成后即可進入UEFI,在secure boot中將boot configuration改為Microsoft & 3rd party CA,然后你就會發現開機時沒有紅色提示了,同時系統可以正常引導雙系統
六、最后
至此,linux/archlinux已經完美的安裝到你的Surface設備上了,后續作業,比如換源等等,可以參考其他資料,此處也不再贅述了,
碼字不易,感謝大家的閱讀,不當之處也歡迎大家指出,有問題歡迎留言,謝謝!
本文所用倉庫地址為:源倉庫地址,在此感謝
未經作者允許,禁止轉載!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/251703.html
標籤:其他
上一篇:華為聚合鏈路(理論+實操命令)
