本方案不需要U盘,并且在之后启动的时候可以自行选择进入的系统。

整体流程十分简单,使用的笔记本是 surfacebook2,安装的系统是ubuntu 22.01.5 桌面版 LTS

以上的系统环境都可以替换,依据以下教程即可。

前期检查

  • 检查引导模式:win + R 运行 msinfo32 ,检查BIOS模式是否为 UEFI
  • 检查磁盘分区格式:打开磁盘管理,找到要用于安装的磁盘,右键检查属性,选择 ,检查磁盘分区形式是否为 GUID分区表(GPT)

前期设置准备

  • 关闭 BitLocker:打开磁盘管理,分区信息如果有 BitLocker已加密, win + S 搜索BitLocker,找到设备加密设置关闭加密。(注意!:解密时间根据磁盘大小性能不同,请准备好充分时间和电量进行解密)
  • 关闭 独显直连
  • 关闭 Secure Boot:根据不同的机型,有不同的方式进入BIOS,找到Sceure下的Secure Boot进行关闭
  • 关闭安全启动:surface

分区准备

由于本次不需要使用u盘,因此需要在硬盘当中模拟出一块区域作为启动盘区域。

  • 在windows下打开“磁盘管理”,在想要空出来的区域选择压缩卷
  • 将多余的卷(用于安装 ubuntu 的卷)删除,变为未分配状态。
  • 新建卷,建立一个 FAT32 分区,大小约为 6-7 GB (>5 GB)
  • 剩余一个 用于安装 ubuntu 的 未分配空间( > 50 GB)

工具准备

  • EasyUEFI:主要用于管理和操作 UEFI 启动项。UEFI(Unified Extensible Firmware Interface)是 BIOS 的替代品,广泛应用于现代计算机中,尤其是 64 位系统。Easy-UEFI 提供了一个简洁易用的界面,可以帮助用户轻松管理 UEFI 启动项、修复启动问题、创建和删除启动项等。
  • ubuntu镜像:将其解压到新建的 FAT32 卷的盘中作为根目录

对于软件EasyUEFI,请自行下载。

EasyUEFI内配置

选择 Manage EFI Boot Option ,通过上面的按钮添加启动引导项,选择到刚刚分出的 FAT32 分区(你解压了ubuntu的分区)

image.png

找到 grub64.efi 添加到路径(通常在 efi/boot下)

image.png

再将之前创建的新项移动到最上层,也就是最高优先级(也可以在BIOS中调整优先级)

ubuntu安装

重启电脑后,将会进入ubuntu的引导界面,在安装ubuntu的界面中自行选择。

安装ubuntu

如果 ubuntu 的安装程序检测到windows,它可能会给予多个选项,选择其他选项自行创建分区即可。(它所谓的共存并不好用)

上面这个选项也可能不存在,如果没有就跳过即可。

我进行到这里的时候,他自动把我未分区的一块变为ex4分区了,将其删除变成未分配状态。

要进行以下四个分区:

挂载点 分区类型 用于 推荐大小 说明
/ 根分区 Ext4日志文件系统 30-50GB 系统核心文件、安装的软件(建议至少 30GB,如果安装大量软件或开发工具可适当增加)。
/home 用户数据 Ext4日志文件系统 剩余空间的 80% 用户个人文件(文档、图片、视频等),可灵活扩展。
swap 交换分区 交换空间 内存的 1-2倍(≤16GB) 休眠(Hibernate)需要等于内存大小;若内存 ≥16GB,可省略或设为 2-4GB。
/boot EFI 系统分区 Ext4日志文件系统 512MB-1GB FAT32 格式,用于 UEFI 启动(通常自动创建)。

ubuntu会自己寻找windows boot manager插入自己的uefi启动引导,在上面的windows boot manager应该显示作为UEFI。

而后就可以开始安装了。

安装完毕后,会要求重启电脑,重启后就可以看到引导启动了。

surface内核安装

由于默认的ubuntu不会支持surface的触屏功能,因此需要安装对应的内核以支持。

对于这个内容,有开源的 surface-linux社区 提供了一系列帮助。

这是官方提供的教程:内核安装

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

如果在更新或安装过程中遇到“Error 401 Unauthorized”错误,请查看这个链接

现在,可以安装 linux-surface 内核及其依赖项。

sudo apt install linux-image-surface linux-headers-surface libwacom-surface iptsd

重要: iptsd 仅支持最新的 LTS 版本(Debian 11 和 Ubuntu 22.04)。如果使用的是旧版本,并且上述命令失败,请删除 iptsd。这样,仍然可以通过内核驱动程序使用基本的单点触控,但多点触控和手写笔将无法使用。

接下来,可以安装我们的 SecureBoot 密钥。 这将把 linux-surface 内核签名的密钥导入的启动加载器,以便内核在不禁用 SecureBoot 的情况下启动。

sudo apt install linux-surface-secureboot-mok

该软件包将把说明打印到终端。 如果错过了这些说明,它会要求重启。 然后,在重启后,应该会弹出一个蓝色菜单(MokManager),询问是否要注册该密钥。需要与菜单交互并选择“Enroll”以继续。 确认选择 ok/yes,当被要求输入密码时,输入 surface。 请注意,MokManager 使用的是 QWERTY 键盘布局,可能需要相应地调整输入。

如果错过了菜单或不小心选择了错误的选项,可以完全卸载然后重新安装该软件包,再次重启以触发菜单。

请注意,前提是你的 Debian 衍生版支持 Secure Boot。如果不支持,请查阅发行版的 Wiki,并首先为该发行版/默认内核设置 Secure Boot。也可以暂时跳过安装此软件包,直到设置好 Secure Boot 后再进行安装。

linux-surface 内核将与发行版提供的默认内核一起安装。这样,如果出现问题,可以使用备用内核。 启动加载器将默认选择该内核,但应更新其配置以确保它已被识别。

sudo update-grub

最后,重启系统,会启动到 linux-surface 内核。请确保是正确的内核,通过检查 uname -a 的输出是否包含字符串 surface。如果没有,说明仍在使用默认内核,需要配置启动加载器。