admin管理员组

文章数量:1794759

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

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

二、准备工作
外接设备
  • 一个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 - raw.githubusercontent/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] pkg.surfacelinux/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 - raw.githubusercontent/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 = pkg.surfacelinux/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设备上了,后续工作,比如换源等等,可以参考其他资料,此处也不再赘述了。

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

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

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

    本文标签: 双系统完美教程设备Surface