Microsoft Surface Pro 3
| 硬件 | PCI/USB ID | 是否工作? |
|---|---|---|
| GPU | 8086:0a16 |
是 |
| Wi-Fi | 11ab:2b38 |
是 |
| 蓝牙 | 1286:204b |
是 |
| 摄像头(前置) | 045e:07be |
是 |
| 摄像头(后置) | 045e:07bf |
是 |
本文档旨在记录在 Microsoft Surface Pro 3 平板电脑上运行 Arch Linux 的所有相关信息。
启动进入安装程序
要从 USB 启动,您需要指示平板电脑从 USB 或 SD 卡启动。此外,您可能希望避免禁用 安全启动,因为这会导致每次启动时显示一个难看的亮红色背景,有意地与“Surface”启动徽标冲突。
Surface Pro 3 有三种启动类型,此处 进行了说明。
- 正常模式
- 只需让电脑继续。您可以在 UEFI 设置中将其从“Alternate Boot order”(备用启动顺序)更改。
- 进入 UEFI 设置
- 设备已关机(或正在重启,但最好安全起见)
- 按住音量增大按钮
- 按电源按钮
- 等待 Surface 徽标出现
- 松开音量增大按钮
- 您将看到 UEFI 设置菜单
- 从 USB/SD 卡启动
- 关闭设备电源
- 按住音量减小按钮
- 按电源按钮
- 等待 Surface 徽标出现
- 松开音量减小按钮
禁用安全启动
进入 UEFI 设置,然后选择 *Secure Boot Control > Disable*。现在继续安装。有关更多信息,请参阅 Microsoft 的步骤。
启用安全启动进行引导
请参阅 Secure Boot。
安装
我使用 systemd 的 bootctl Systemd-boot(旧称 Gummiboot)完成了安装。完成 安装指南 后,您需要再做两件事。安全启动引导将无法用于新安装,因为 vmlinuz 未在加载器中注册。
最简单的设置方法如下,就在重启之前:
- 退出 chroot,但不要卸载任何东西
- 将 /mnt/boot/EFI/boot/bootx64.efi 移动到 /mnt/boot/EFI/boot/loader.efi
- 将 /boot/EFI/boot/bootx64.efi 和 HashTool.efi 复制到 /mnt/boot/EFI/boot/
(如果您在 /boot 中找不到 HashTool,请尝试在 /usr/run 中查找)
在此,我们启用了 Preloader 来引导我们的 gummiboot 加载器,如果它检测到有东西未签名,它将引导 HashTool.efi 来签名 vmlinuz-image 二进制文件。
我们的想法是,我们采用 systemd 的 引导加载程序,并使其成为 PreLoader 引导的那个(在其同一文件夹中,名为 loader.efi)。然后,我们同时复制 PreLoader(即 archiso 的 bootx64.efi)和 HashTool(已经命名为该名称)。
这样,在启用安全启动的情况下,您可以随时引导您的内核,无论是否签名,下次启动时重复哈希存储过程。
额外步骤
启用触摸板
参考:GitHub 要启用触摸板的全部功能(例如,双指滚动、右键单击),您需要 安装 xf86-input-synaptics 包,应用内核补丁,以及将以下内容添加到 /etc/X11/xorg.conf.d/10-multitouch.conf。
Section "InputClass" Identifier "Default clickpad buttons" MatchDriver "synaptics" Option "ClickPad" "true" Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0" Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%" EndSection
调整触控笔
触控笔按钮可能无法立即工作。 安装 xf86-input-wacom 包,并注释掉 /usr/share/X11/xorg.conf.d/10-evdev.conf 中的 MatchIsTablet 部分。此外,在 /usr/share/X11/xorg.conf.d/50-wacom.conf 的 N-Trig 的 MatchProduct 行中添加 1B96:1B05 Pen。请注意,紫色蓝牙按钮被识别,但可以绑定到操作。参考:Reddit。
虚拟键盘
取决于您使用的桌面环境,您可能希望使用不同的虚拟键盘。 onboard 提供可靠且舒适的体验。此处提供了一个关于视觉调整的指南 here。如果您使用 GNOME,这两个扩展 (1, 2) 提供了更好的集成。
启用安全启动进行引导
在 UEFI 安全启动启用时,推荐的 引导加载程序是 systemd-boot。
要启用安全启动进行引导,您需要以下软件包:efibootmgr 和 efitools。
有关更多信息,请参阅 Surface Pro 3 和安全启动安装后。
- 将
/boot/EFI/systemd/systemd-bootx64.efi复制到/boot/EFI/systemd/loader.EFI。 - 将
/usr/lib/prebootloader/HashTool.efi和/usr/lib/prebootloader/PreLoader.efi复制到/boot/EFI/systemd/。 - 为 PreLoader.efi 创建一个 NVRAM 条目
efibootmgr -d /dev/sdX -p Y -c -L Preloader -l /EFI/systemd/PreLoader.efi
- 验证条目已创建并且它在启动顺序中是第一个
efibootmgr
- 将您的内核注册到引导加载程序:Secure Boot。
- 注册
HashTool.efi和vmlinuz-linux,然后重启进入系统。
您现在应该能够启用安全启动进行引导。
- 由于根据 efibootmgr,PreLoader.efi 是默认的引导选项,如果您更改了内核,将出现 PreLoader 以再次使用 HashTool 注册新内核。
- 请确保您在
/boot/loader/entries/中添加了条目,以便显示使用新内核进行引导的选项。
启用 Wi-Fi 和蓝牙
自 linux-firmware 20220119 更新以来,Wi-Fi 和蓝牙需要 linux-firmware-marvell 包。
辅助功能
BIOS 的外观非常简单,颜色也不多,因此可能与 OCR 软件配合得很好。
BIOS 可以通过键盘、鼠标或触摸屏进行配置。
故障排除
检测到无效签名,请检查设置中的安全启动策略
删除安全启动数据库并用 Microsoft & CAs 初始化后,我遇到了这个问题。我还需要恢复 BitLocker 分区,但我会遵循以下步骤:
- 重置后,关闭电源并尝试从 SD/USB 启动。如果您不成功并多次收到该消息:
- 保持所有 TPM & Secure Boot 启用和 SSD Only 备用系统顺序
- 再次执行数据库重置
- 重新注册 Microsoft 和 CAs
- 使用音量减小按钮重启到 SD/USB
- 现在应该可以工作了
- 遵循安全启动安装中的步骤
- 在 Arch Linux 完全安装并成功运行后,执行 BitLocker 恢复。
如果执行这些步骤后仍然无法工作。请再次刷新 Archiso 镜像并重试。
键盘盖无法工作
有时在重启时可能会发生这种情况。解决方法是关闭电源然后重启(而不是重新启动)。
Xournal 中的触控笔/触摸屏问题
在使用 xf86-input-wacom 包时,xournalAUR (0.48.2) 的最后一个官方版本中存在一个错误,它会错误地将 Surface Pen 检测为触摸屏设备。然而,根据这个 bug,它已经在最新的 Xournal 源代码中得到修复。安装 AUR 包 xournal-gitAUR 会构建包含此修复的最新源代码。请注意,您需要选择 'NTRG0001:01 1B96:1B05' 作为触摸屏设备(Options > Pen and Touch)。