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为例(博主是颜控),这些系统的安装步骤大同小异


镜像下载大家可以去对应系统的官网下载,也可以去镜像站,这里给大家推荐清华大学镜像站

点击箭头所指的获取链接,即可选择对应的版本下载。

制作U盘启动盘

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

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

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

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

至此,启动盘制作完成!

给 Linux/Archlinux 分配硬盘空间

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

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

  1. 可以进入以下界面

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

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

三、安装 Linux/Archlinux


关闭Secureboot

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

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

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

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

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

正式安装

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

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

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

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

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

  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.listsudo apt update
  1. 现在,可以安装linux-surface内核及其依赖项,还可以启用iptsd服务以使用触摸屏
sudo apt install linux-image-surface linux-headers-surface iptsd libwacom-surfacesudo 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 56C464BAAC421453sudo 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 -Sysudo pacman -S linux-surface linux-surface-headers iptsdsudo 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

成功后重启电脑

选择公钥

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

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

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

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

六、最后

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

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

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

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

Surface设备完美安装Linux/Archlinux双系统教程相关推荐

  1. win7下安装Linux实现双系统全攻略

    win7下安装Linux实现双系统全攻略 听语音 http://jingyan.baidu.com/article/c275f6bacc3326e33c756743.html 分区http://jin ...

  2. w10安装ubuntu_Windows10安装ubuntu18.04双系统教程

    写在前面:本教程为windows10安装ubuntu18.04(64位)双系统教程,是我多次安装双系统的经验总结,安装方法同样适用于ubuntu16.04(64位).为了直观和易于理解,我会尽量图文并 ...

  3. 通过EFI安装Ubantu+Win7双系统教程

    说在前面,win7系统不推荐使用UEFI安装Ubuntu双系统!!! win7一般采用legacy引导+mbr磁盘分区表,win8及以上系统才普及UEFI引导+gpt磁盘分区表!随着电脑的更新换代,现 ...

  4. linux系统怎么制作win10,win10 + linux 制作双系统教程(我本身是win10系统)

    1.制作启动U盘 准备工作: .linux镜像 .硬盘空余空间>8G,越大越好 .制作启动U盘的软件 .最好3.0U盘一个>4G 下载启动软件的工具(UItraIOS制作的U盘启动盘无法安 ...

  5. WIN 7下安装WIN 10双系统教程

    一.准备工作 a)为Win10创建一个新的安装分区 首先我们需要为接下来的Win10预览版安装准备一个纯净的磁盘分区,具体方法如下. 一.首先进入Win7计算机管理后,我们再点击"磁盘管理& ...

  6. 双系统 linux声卡驱动程序,安装linux windows双系统

    参考 1. 安装ubantu教程 https://blog.csdn.net/s717597589/article/details/79117112/ ubuntu18.04链接:http://mir ...

  7. UEFI 模式下win10安装ubuntu16.04双系统教程

    该教程主要参考http://blog.csdn.net/ysy950803/article/details/52643737这篇博文  按照他的步骤,完成了安装过程.但是,注意,在制作U盘镜像的时候, ...

  8. Windows7 U盘安装Ubuntu14.04双系统教程

    U盘安装,无需光盘:Win7为主,Ubuntu14.04为辅,可将Windows或Ubuntu设置为开机默认启动项:在Ubuntu下可查看.操作Windows系统下的文件:适用于安装和14.04版本相 ...

  9. win7映射linux硬盘_win7下安装Linux实现双系统全攻略

    四:(1)进入安装界面 按以下步骤介绍: 1.进入"安装类型"界面,如果它显示的是:"The computer currently has no deteted oper ...

  10. surface pro4 win10下安装elementray os双系统教程

    先来看看效果,很有mac的风格: 一.官网下载最新镜像(一定下官网最新!!!我用过别人百度云盘的镜像,鼠标,触摸板都用不了),通过官网给的工具制作启动优盘https://elementary.io/z ...

最新文章

  1. MySQL-MMM实现MySQL高可用
  2. git pull问题“error: Your local changes to the following files would be overwritten by merge”解决方案
  3. [PHP] 编写爬虫获取淘宝网上所有的商品分类以及关键属性 销售属性 非关键属性数据...
  4. ADOBE ILLUSTRATOR CS5中文版经典教程 pdf
  5. python速成一小时_Python学习|一小时快速入门python(一)
  6. tomcat8源码分析-Connector初始化
  7. 初识Mysql(part12)--我需要知道的3条Mysql语句之插入数据
  8. VS2010插件之NuGet
  9. 第五章数理统计--样本和抽样分布
  10. 第 8 章 TokyoCabinet/Tyrant
  11. 在Windows上编译和调试CoreCLR
  12. MySql8.0.15修改root密码
  13. 统一社会信用代码解析登记管理部门和机构类别
  14. r5 3600和i7 8700k 选哪个
  15. USACO 1.1.3 - Friday the Thirteenth(模拟)
  16. 百度地图绘制大量标注点卡顿问题完美解决
  17. java程序员拜年代码_作为一个资深的程序员我们应该这么拜年
  18. 蓝牙与UWB的技术对比
  19. 计算机网络相关论文目录怎么弄,如何给你的标书、论文编页码和目录-论文页码设置...
  20. Activity与Fragment,以及Fragment与Fragment之间的数据通讯

热门文章

  1. Docker 使用手册
  2. Spark高频面试题总结
  3. 2018 亚马逊Awsome Day 见闻
  4. 大唐移动骨干集体出走
  5. 语料库与计算机辅助翻译,漫谈机器翻译与计算机辅助翻译.doc
  6. SandStorm 出品|建设者高光时刻 9 月作品集已上线!
  7. 淘宝API接口:item_search - 按关键字搜索淘宝商品
  8. 艾永亮:优衣库,究竟是怎么卖衣服的?
  9. 小程序在政务服务平台建设中如何发挥价值
  10. 关于dijistra算法的理解