Surface设备完美安装Linux/Archlinux双系统教程

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模式下,正常引导双系统。

二、准备工作


外接设备

  1. 一个U盘(不低于8G)
  2. 一个外接键盘(建议有线,有的系统一开始用不了蓝牙)

需要外接键盘是因为linux安装过程中因为驱动问题,其自带键盘无法使用,需要使用外接键盘进行设置

下载镜像(iso)

本文以UBUNTUDDE REMIX 20.10为例(博主是颜控),这些系统的安装步骤大同小异

Surface设备完美安装Linux/Archlinux双系统教程_第1张图片
镜像下载大家可以去对应系统的官网下载,也可以去镜像站,这里给大家推荐清华大学镜像站
Surface设备完美安装Linux/Archlinux双系统教程_第2张图片
点击箭头所指的获取链接,即可选择对应的版本下载。

制作U盘启动盘

  1. 下载制作工具:Rufus(点我前往官网下载),下载后无需安装
  2. 打开下载Rufus,看到以下界面,插入提前准备好的U盘

Surface设备完美安装Linux/Archlinux双系统教程_第3张图片

  1. 点击选择按钮,找到提前下好的镜像,也就是iso文件,点击打开

Surface设备完美安装Linux/Archlinux双系统教程_第4张图片

  1. 完成后,保持默认选项不用更改,点击开始开始按钮,如果出现弹窗则保持默认选择,一直下一步即可,知道开始写入。

Surface设备完美安装Linux/Archlinux双系统教程_第5张图片

  1. 写入过程大概会持续几分钟,耐心等待哦~

至此,启动盘制作完成!

给 Linux/Archlinux 分配硬盘空间

这一步建议大家提前做好,避免出现各种问题~

  1. 鼠标右键开始图标(也就是底下的Windows图标),点击磁盘管理

Surface设备完美安装Linux/Archlinux双系统教程_第6张图片

  1. 可以进入以下界面

Surface设备完美安装Linux/Archlinux双系统教程_第7张图片

  1. 找到你想安装ubuntu的目标磁盘,选择后右键,选择压缩卷,输入你想分配的空间大小,建议不低于50GB

Surface设备完美安装Linux/Archlinux双系统教程_第8张图片

  1. 压缩完成后可以得到一个未分配空间,这里因为我提前分配好了,所以可以看步骤2中的图

三、安装 Linux/Archlinux


关闭Secureboot

前面提到了secureboot的作用,Fedora和Debian / Ubuntu都支持Secureboot,而Arch不支持。
但是由于后面我们需要更换linux内核,会导致无法安全启动,所以此处我们都先关闭Secureboot

  1. 选择重启电脑,等待关机后,长按音量加,也即F5
  2. 等待电脑进入UEFI,即下图界面

Surface设备完美安装Linux/Archlinux双系统教程_第9张图片

  1. 选择security,可以看到Secure boot,点击下方的change configuration,在展开项中选择none,然后OK

Surface设备完美安装Linux/Archlinux双系统教程_第10张图片

  1. 然后点击boot configuration,可以看到第一个是Windows的启动项,用手将USB configuration拖到第一项

Surface设备完美安装Linux/Archlinux双系统教程_第11张图片

  1. 完成后点击exit,点击reboot即可

Surface设备完美安装Linux/Archlinux双系统教程_第12张图片

正式安装

Surface上Linux/Archlinux的安装与其他设备并无二异,此处以ubuntu为例简要介绍,大家也可以参考其他更详细的教程,跳过本教程这一步

  1. 上一步重启后会进入以下界面,可以保持默认选项,等待进入即可

Surface设备完美安装Linux/Archlinux双系统教程_第13张图片

  1. 等待系统进行磁盘检查,完成后会进入引导界面

Surface设备完美安装Linux/Archlinux双系统教程_第14张图片

  1. 点击运行安装程序即可,按照提示

Surface设备完美安装Linux/Archlinux双系统教程_第15张图片

  1. 到了分区这一步后,如果你想安装双系统,一定要选手动分区,具体分区可以参考其他帖子,此处给出一个例子(分区参考)

Surface设备完美安装Linux/Archlinux双系统教程_第16张图片

  1. 设置完用户名和密码后,选择重启电脑,按提示拔掉U盘

至此,linux已经安装到了你的surface设备上了~

四、安装Surface驱动


ubuntu自带的驱动不能兼容Surface的硬件,所以很多硬件无法使用,比如键盘,触屏等,我们现在安装第三方内核

关于各Surface设备可用硬件详情,可以查阅此处,基本上就相机用不了

由于LinuxAchlinux存在差异,下面分别介绍不同版本上驱动的安装过程

Debian / Ubuntu驱动

  1. 首先,导入用于签名软件包的密钥
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
  1. 然后,添加存储库配置并更新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
  1. 现在,可以安装linux-surface内核及其依赖项,还可以启用iptsd服务以使用触摸屏
sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surface

sudo systemctl enable iptsd
  1. 执行完上述步骤后,可以重启系统,完成后你会发现键盘,电源,屏幕触摸等等都可以使用了

Arch驱动

  1. 首先,导入用于签名软件包的密钥
 wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \
    | sudo pacman-key --add -
  1. 然后,检查并验证密钥的指纹,然后在本地对其进行签名
 sudo pacman-key --finger 56C464BAAC421453
 sudo pacman-key --lsign-key 56C464BAAC421453
  1. 现在,可以通过在 /etc/pacman.conf末尾添加以下内容来添加存储库
[linux-surface]
Server = https://pkg.surfacelinux.com/arch/

比如可以使用gedit来修改:

gedit  /etc/pacman.conf
  1. 现在,更新存储库数据,以安装linux-surface内核及其依赖项,还可以启用iptsd服务以使用触摸屏
 sudo pacman -Sy
 sudo pacman -S linux-surface linux-surface-headers iptsd
 sudo systemctl enable iptsd
  1. 执行完上述步骤后,可以重启系统,完成后你会发现键盘,电源,屏幕触摸等等都可以使用了

五、签名内核


由于我们更换了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

成功后重启电脑

选择公钥

重启以后会进入以下界面,比较复古,回车就好

Surface设备完美安装Linux/Archlinux双系统教程_第17张图片

回车后会进入以下界面,选择第二个,应该是import mok,由于我此处导入了,是delete mok,明白即可

Surface设备完美安装Linux/Archlinux双系统教程_第18张图片

进入下一个界面后,选择continue,按照提示输入你导入公钥时设置的密码,然后回车即可

Surface设备完美安装Linux/Archlinux双系统教程_第19张图片

完成后即可进入UEFI,在secure boot中将boot configuration改为Microsoft & 3rd party CA,然后你就会发现开机时没有红色提示了,同时系统可以正常引导双系统

六、最后

至此,linux/archlinux已经完美的安装到你的Surface设备上了,后续工作,比如换源等等,可以参考其他资料,此处也不再赘述了。

码字不易,感谢大家的阅读,不当之处也欢迎大家指出,有问题欢迎留言,谢谢!

本文所用仓库地址为:源仓库地址,在此感谢

未经作者允许,禁止转载!

你可能感兴趣的:(双系统,linux,ubuntu,archlinux,系统安装,surface)