老Surface Go这台机器,我是真没想到还能再战。2018年前后入的那批Pentium Gold 4415Y、4G内存、64G eMMC的配置,跑Windows 10的时候勉强够用,升级到Windows 11之后基本就是开机等半天、开浏览器再等半天的水平。机器本身屏幕素质不错,10英寸1800x1200的分辨率,重量也轻,扔了可惜。折腾了一圈之后,我把它刷成了Ubuntu 22.04,现在当个随身查阅资料、写点脚本、看PDF的终端机,续航能用四五个小时,手感意外地顺。这篇就把整个过程拆开讲,机型怎么确认、镜像怎么选、分区怎么规划、驱动怎么补、踩过哪些坑,都写清楚。不管你是第一次给平板装Linux,还是之前刷过别的机器,看完应该都能自己动手。
1. 为什么给老Surface Go换系统:先想清楚这几件事
1.1 老设备的真实处境和换系统的动机
Surface Go 一代用的是Intel Pentium Gold 4415Y,双核四线程,基础频率1.6GHz,没有睿频,TDP 6W。这个规格放到现在是妥妥的低功耗办公芯片,跑Windows 10属于能用,跑Windows 11就比较吃力了——系统本身臃肿,后台服务一多,4G内存分分钟吃满,硬盘是eMMC,随机读写本来就慢,再叠加上虚拟内存交换,整机响应肉眼可见地拖。我实测过,开机之后什么都不做,内存占用就已经接近2.5G,剩下的1.5G想开Chrome再挂几个标签页,基本就是在和卡顿作斗争。
换系统的核心动机其实就一句话:让硬件资源用在真正需要的地方。Windows那套后台更新、遥测、Defender实时扫描、系统还原点,在这台机器上占了大量资源,而这些功能对一个"随身查阅终端"来说并不必要。Ubuntu 22.04 的GNOME桌面加基础服务,空闲内存占用大概在800M到1.2G之间,剩下的空间就宽裕多了。开机速度也从原来的40秒左右压到20秒出头,这种提升是能直接感受到的。
另外还有一层考虑是软件生态。我平时要跑一些Python脚本、用VS Code改改配置、偶尔连个SSH,这些在Linux下是原生体验,不需要WSL或者各种模拟层。Ubuntu 22.04是LTS版本,支持到2027年,对一个"用完就放着"的老设备来说,不用频繁折腾升级,省心。
1.2 为什么是Ubuntu 22.04而不是更轻的发行版
有人会问,既然机器这么弱,为什么不直接上Lubuntu、Xubuntu或者Arch这类更轻的?我试过几个,最后选Ubuntu 22.04的原因有这么几点。
第一是硬件适配的成熟度。Surface系列有一批社区维护者在做专门的适配项目,也就是大家常说的linux-surface内核。这个项目主要针对Ubuntu和Fedora做测试,你装Ubuntu,遇到问题去社区里搜,大概率能找到现成答案;装冷门发行版,出问题基本只能自己啃。对老设备折腾来说,能不能快速查到解决方案,比系统本身轻不轻更重要。
第二是驱动和固件的覆盖度。Ubuntu 22.04自带的内核是5.15,这个版本对Intel核显、无线网卡、触摸屏控制器的支持已经比较完整了。Surface Go一代的无线网卡是Marvell的方案,早期发行版经常认不到,5.15内核里相关固件已经包含得比较全。
第三是桌面环境的分辨率适配。GNOME对高DPI屏幕的处理是几个主流桌面里最省事的,Surface Go的10英寸1800x1200属于典型的高PPI场景,GNOME可以一键设置缩放比例,KDE和XFCE虽然也能调,但细节上要手动调的地方更多。
提示:如果你只是想"能跑起来就行",Xubuntu 22.04也是不错的选择,内存占用更低,代价是触摸手势和缩放体验会差一些,看你的使用习惯取舍。
1.3 单系统还是双系统:先把这件事想明白
这是动手前必须先决定的问题,因为它直接决定后面所有操作。Surface Go一代的64G eMMC版本,说实话,空间非常紧张。我算过一笔账:Windows 11装完之后占大概28到30G,系统更新缓存和休眠文件再吃掉几G,剩下能用的本来就没多少。再切出20G给Ubuntu,两边都憋屈,Windows那边没法更新,Ubuntu这边装点软件就告急。
所以我的建议是:
| 使用场景 | 推荐方案 | 理由 |
|---|---|---|
| 就想当Linux终端用,Windows不需要 | 单系统,全盘装Ubuntu | 空间利用最充分,性能最好 |
| 偶尔还要用Windows上的专属软件 | 双系统,各占一半 | 前提是128G版本,64G不建议 |
| 只是想试试水,不确定能不能用 | 先做U盘启动试用,不装 | Ubuntu安装盘支持Try Ubuntu模式 |
我自己走的是单系统路线,因为这台机器留着Windows也没什么用。但我必须强调,如果你走单系统,一定要提前把Windows恢复镜像准备好,Surface官方提供恢复镜像下载,没有这个,装完想回滚会非常麻烦。这点后面会详细讲。
另外要提醒的是,64G eMMC版本做双系统还有个隐患:eMMC的写入寿命有限,双系统频繁读写加上Windows的更新写入,会加速磨损。这一点很多人不注意,用个一两年就发现系统越来越慢,其实就是存储老化了。
2. 动手前的准备:机型确认、镜像和启动盘
2.1 先搞清楚你手里这台是第几代
Surface Go有三代,硬件差别不小,装系统的坑也不同。一代是4415Y,二代有4425Y和Core m3-8100Y两个版本,三代是6500Y和i3-10100Y。怎么确认自己的是哪台?
最直接的办法是在Windows里按Win+R输入winver,或者打开设置看系统信息。更准确的方式是看设备型号,可以在命令行里跑:
# 在Windows的PowerShell里执行 Get-ComputerInfo | Select-Object CsModel, CsManufacturer或者在Linux环境下(比如U盘试用的Ubuntu里):
sudo dmidecode -s system-product-name这个命令会返回类似"Surface Go"或者"Surface Go 2"的字符串,有些批次会带具体型号。为什么要确认?因为不同代的无线网卡、触摸控制器、声卡方案都不一样,后面装linux-surface内核的时候,需要根据型号选择对应的包和参数。一代的触摸屏驱动相对成熟,二代的摄像头支持一直不完整,三代的电源管理还在完善中。
2.2 镜像下载与校验:别跳过校验这一步
Ubuntu 22.04的镜像有几个版本,桌面版是ubuntu-22.04.x-desktop-amd64.iso,这里有个细节:一定要下载带.x的更新版本,比如22.04.3或者22.04.4,不要用最早的22.04发布版。原因很简单,更新版本集成了后续的内核和驱动更新,Surface的新硬件支持往往在这些更新里。
下载完之后,务必做一次哈希校验,不然装到一半发现镜像损坏,白折腾。Windows下可以用CertUtil:
certutil -hashfile ubuntu-22.04.4-desktop-amd64.iso SHA256把输出的哈希值和官网公布的对比。Linux下用sha256sum。这一步很多人嫌麻烦跳过,但U盘写坏、下载不完整的情况真的不少见,尤其是网络环境不稳定的时候。
注意:下载镜像要认准官方渠道,不要在不明来源的镜像站下载,避免镜像被篡改或捆绑。
2.3 用Rufus做启动盘的参数怎么选
给Surface Go做启动盘,Rufus是最好用的工具。打开之后,设备选你的U盘,引导类型选下载好的ISO镜像,然后重点在下面几个选项:
- 分区类型:GPT。Surface是UEFI引导,必须用GPT,选MBR会引导失败。
- 目标系统类型:UEFI(非CSM)。Surface不支持传统BIOS兼容模式。
- 文件系统:FAT32或者NTFS。如果ISO里有超过4G的大文件,FAT32会写不进去,不过Ubuntu镜像一般不会超,选FAT32兼容性更好。
- 簇大小:默认即可。
点开始之后,Rufus会弹一个对话框问你是"以ISO镜像模式写入"还是"以DD镜像模式写入"。Ubuntu的ISO建议选ISO镜像模式,这样U盘还能继续当存储用,而且启动时的引导更规范。如果遇到启动失败,再改用DD模式重做一次。
U盘容量建议8G以上,速度上尽量用USB 3.0的,Surface Go只有一个USB-C口,如果你的U盘是USB-A的,需要带个转接头。这一点也要提前准备好,别到时候发现插不上。
2.4 必须提前做的三件事
第一件,备份Windows恢复镜像。去Surface的官方支持页面,根据你的机型序列号下载恢复镜像,通常是个几G的压缩包,下载后解压到U盘备用。这个镜像不光是重装Windows用,它里面还包含Surface的固件更新,某些情况下是救命稻草。我见过有人装完Linux想回滚,结果发现没有恢复镜像,只能去借别人的机器重新下载,非常被动。
第二件,关闭BitLocker。如果你的Windows开了设备加密,安装Linux的过程中分区操作可能触发恢复密钥验证,处理起来很烦。在Windows的"设置-隐私和安全性-设备加密"里关掉,等全部折腾完再考虑要不要开。关闭之后要等加密解密完成,可能耗时几十分钟,耐心等。
第三件,进UEFI做设置。Surface进UEFI的方法是:关机状态下,按住音量加键不放,再按电源键,直到出现Surface Logo松手,就进入UEFI界面了。里面需要改的地方:
- 关闭
Secure Boot(安全启动),因为linux-surface的内核模块没有官方签名,开启状态下载入会失败。装完系统如果不用特殊模块,可以再开回来。 - 开启
Boot from USB相关选项,一般是Enable Boot from USB devices。 - 确认
Boot Order里USB排在前面,或者至少在启动时能手动选择。
改完之后按Save and Exit,机器会自动重启。
3. 安装全流程:从U盘引导到第一次进桌面
3.1 进入U盘引导的正确姿势
关机,把做好的U盘插到Surface Go的USB-C口上。然后按住音量减键不放,再按电源键,等Surface Logo出现再松手。这时候机器会尝试从U盘启动,如果成功,会看到GRUB菜单,里面有"Try Ubuntu"和"Install Ubuntu"两个选项。
如果没进U盘而是直接进了系统,几个可能原因:U盘没做好、BIOS里USB引导没开、或者U盘和机器的兼容性问题。后一种情况可以换个U盘试试,Surface Go对某些杂牌U盘确实挑。还有一种情况是启动太快没来得及按,那就关机重来,按键的时机是电源键按下的瞬间就开始按音量减。
我建议第一次先选"Try Ubuntu"试用模式,进桌面看看无线网卡认不认、触摸屏灵不灵、屏幕缩放正不正常。试用模式不影响硬盘,确认没问题再重启进安装。
3.2 分区规划:64G eMMC的空间怎么分
这是最容易出问题的环节,分区没规划好,后面空间不够用会很痛苦。先说结论,我推荐的分区方案:
| 分区 | 挂载点 | 建议大小 | 文件系统 | 说明 |
|---|---|---|---|---|
| EFI系统分区 | /boot/efi | 512M | FAT32 | UEFI引导必需,保留原有 |
| 根分区 | / | 28G | ext4 | 系统和软件都装这 |
| swap | 无 | 4G | swap | 内存只有4G,留点交换空间 |
| 家目录 | /home | 剩余全部 | ext4 | 个人文件独立,重装不丢 |
几个关键决策的理由:
为什么根分区要28G?因为Ubuntu的GNOME桌面加基础软件就占了8到10G,再加上你后续装的软件、缓存、日志,20G是底线,25G左右比较从容。我一开始只分了20G,装了几个开发工具就见底了,后来不得不清理缓存过日子。
为什么单独分/home?这是为以后重装或换发行版留的后路。个人文件、配置文件都在/home里,系统坏了重装,只要不格式化/home,数据基本都在。对老设备来说,这个习惯能省很多重复配置的时间。
swap要不要留?4G内存确实偏小,跑一些编译或者开多个应用时,系统会用到交换空间。可以分一个4G的swap分区,也可以用swap文件,后者更灵活,随时能调整大小。我选了swap文件,具体做法后面讲。
64G版本的空间算例:假设eMMC可用容量约58G,EFI占0.5G,根分区28G,swap文件4G,剩下约25G给/home。这个分配对日常使用是够的,但如果你想装大型软件或者存大量视频,就得考虑扩容了——Surface Go一代没有可扩展存储,只能靠外接U盘或云盘。
3.3 安装过程中的关键选项
安装界面走到分区这一步,选择"其他选项"手动分区,把上面规划好的方案落实。几个容易忽略的细节:
- 引导器安装位置:一定要选EFI分区对应的设备,通常显示为
/dev/mmcblk0p1这种,别装错到别的分区上。 - 格式化确认:勾选要格式化的分区时看清楚,别把EFI分区也格了,那样Windows的引导会一起没掉(如果你留着Windows的话)。
- 时区设置:正常选,影响系统时间显示。
- 用户名和密码:建议勾选"登录时需要密码",老设备安全性上其实无所谓,但养成习惯。
安装过程大概15到25分钟,eMMC速度慢,别着急。装完之后会提示重启,重启时记得把U盘拔掉,不然又会从U盘启动,进入试用模式,会让你以为装失败了。
3.4 首次开机后的驱动补全:装上linux-surface内核
第一次进系统,你会发现大部分功能是正常的,但有几处缺失:触摸屏可能只能点不能滑、摄像头不工作、键盘盖的某些按键失灵、自动旋转失效。这些都是Surface特有问题,需要用linux-surface内核来补。
具体步骤,先添加社区仓库和密钥:
# 添加linux-surface的GPG密钥 curl -sSL https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \ | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/linux-surface.gpg # 添加软件源 echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \ | sudo tee /etc/apt/sources.list.d/linux-surface.list然后更新并安装核心包:
sudo apt update sudo apt install linux-image-surface linux-headers-surface libwacom-surface iptsd这几个包的分工:linux-image-surface和linux-headers-surface是专为Surface调优的内核和头文件,libwacom-surface是手写笔的支持库,iptsd是触摸屏的守护进程——没有它,触摸只能当鼠标用,多点手势和手写笔压力感应都用不了。
装完之后重启,再验证一下:
uname -r如果输出里带了surface字样,说明新内核生效了。
注意:linux-surface的仓库地址和安装方式会随项目更新而变化,动手前最好去项目主页确认一下最新的命令,不要完全照搬这里的写法。这类社区项目更新频率不低,命令过时是常有的事。
3.5 触摸屏、键盘盖和手写笔的配置
新内核装好之后,触摸屏基本能用了,但有几个微调值得做。
屏幕旋转和自动旋转:Surface Go有重力感应,可以自动转屏。需要装iio-sensor-proxy这个包,Ubuntu 22.04一般预装了,如果没有:
sudo apt install iio-sensor-proxy装完之后,GNOME的设置里会出现"自动旋转"开关。如果要手动锁定方向,可以用xrandr或者GNOME的显示设置。
键盘盖的功能键:Type Cover上的FN组合键、音量键、亮度键,在linux-surface内核下大部分能正常工作。亮度调节如果没反应,可以检查/sys/class/backlight/目录下有没有对应的设备节点,没有的话可能是驱动没加载,重启一次通常就好。
手写笔(Surface Pen):支持压力感应的应用能识别到笔,比如Krita、Xournal++这类绘图和笔记软件。需要确认libwacom-surface装好了,然后用xinput list看看有没有识别到笔设备。如果只是想要个"能写"的体验,其实触摸屏加普通输入法也够用,手写笔更多是锦上添花。
3.6 显示缩放和电源管理:两个关键调优
显示缩放。1800x1200在10英寸屏上,默认缩放一般是200%,字看着大但显示内容少。我实测下来,150%的缩放比例最舒服,图标和字体大小适中,一屏能显示的内容也比200%多。设置方法:
# 设置文本缩放因子 gsettings set org.gnome.desktop.interface text-scaling-factor 1.5 gsettings set org.gnome.desktop.interface scaling-factor 1注意GNOME的缩放逻辑有点绕,scaling-factor是整数倍缩放(1或2),text-scaling-factor是小数缩放,两者配合使用。想要150%的效果,一般设scaling-factor为1,text-scaling-factor为1.5。也可以用gnome-tweaks图形界面调,更直观。
电源管理。老设备续航是硬伤,默认的电源策略偏性能,续航大概两三个小时。装个TLP能明显改善:
sudo apt install tlp tlp-rdw sudo systemctl enable tlp sudo systemctl start tlpTLP装好之后是自动工作的,它会根据电源状态(插电/电池)自动切换CPU调频策略、关闭不用的硬件、调整硬盘和无线网卡的省电策略。我实测装完之后,纯办公使用续航能到四小时左右,比默认提升挺明显。
想进一步调优,可以编辑/etc/tlp.conf,重点看这几个参数:
CPU_SCALING_GOVERNOR_ON_BAT:电池模式下设为powersave,性能换续航。CPU_ENERGY_PERF_POLICY_ON_BAT:设为power。WIFI_PWR_ON_BAT:设为on,开启无线网卡省电。RUNTIME_PM_ON_BAT:设为auto,让不用的设备自动休眠。
改完执行sudo tlp start重新加载配置。
提示:TLP和surface内核的电源管理有些重叠,如果发现插电时性能也上不去,检查是不是两套策略打架了。一般以TLP为准,surface内核那侧的电源参数别乱改。
4. 常见问题速查与排查实录
4.1 无线网卡认不到,怎么离线救急
这是Surface装Linux最常见的坑之一。表现是进系统后右上角没有WiFi图标,ip a命令里也看不到无线设备。原因通常是固件没加载或者驱动没起来。
排查顺序:
- 先确认内核里有没有网卡驱动:
lspci -nnk | grep -i network -A3,看Kernel driver in use那一行是不是空的。 - 如果没有驱动,八成是固件缺失。Surface Go用的是Marvell方案,对应的固件放在
/lib/firmware/mrvl/目录下。可以用dmesg | grep -i firmware看加载报错。 - 离线环境怎么装固件?这就是为什么我前面强调U盘和转接头要准备好。最稳妥的办法是用USB-C转网口,临时接有线网;或者用手机USB共享网络;实在不行,把固件包用U盘拷过来,
dpkg -i安装。
我当时的做法是先用USB网卡联网,然后装linux-surface内核,重启之后无线网卡就认出来了。装了surface内核之后WiFi问题基本能解决,这也是为什么建议尽早装它。
4.2 睡眠唤醒黑屏、随机重启
老Surface装Linux之后,睡眠唤醒出问题是高频抱怨。表现是合上键盘盖或者手动挂起,再打开时屏幕黑掉,只有背光亮,或者干脆自动重启。这个问题的根源多在电源管理状态的切换上。
可以试几个方向:
- 换用surface内核。普通内核的电源管理对Surface不友好,surface内核在这方面做了专门适配,成功率明显高。
- 调整挂起方式。Ubuntu默认用
s2idle(现代待机),Surface对这种模式支持一般。可以尝试改回传统的deep挂起:
# 查看支持的挂起模式 cat /sys/power/mem_sleep # 临时切换到deep模式 echo deep | sudo tee /sys/power/mem_sleep- 更新固件。Surface的固件更新一般通过Windows推送,所以如果你是从Windows转过来的,最好先在Windows下把所有更新打全,固件版本新一些,Linux下的兼容性也更好。
如果折腾半天还是不行,可以考虑禁用自动挂起,改成手动锁屏,笔记本合盖不睡眠,牺牲一点电量换稳定。这个取舍看个人。
4.3 摄像头和麦克风为什么用不了
这是要有心理准备的:Surface Go一代的后置摄像头在Linux下基本不可用,前置摄像头在某些内核版本下能工作。原因不是配置问题,是驱动本身不完整,Surface用的是Intel的成像方案,相关驱动一直没进主线内核。
麦克风的情况好一些,多数情况下能工作。如果没声音,先检查输入设备有没有被识别:
arecord -l看录音设备列表里有没有。如果识别到了但没声音,检查alsamixer里的输入增益有没有静音。
对于视频会议这种刚需场景,我的建议是:外接USB摄像头,几十块钱的都能即插即用,比费劲折腾内置摄像头省事得多。这也是老设备装Linux要接受的现实,硬件支持总有取舍。
4.4 触摸和键盘盖突然失灵
偶尔会遇到触摸屏失效、或者键盘盖的键盘打字没反应。这时候别急着怀疑系统坏了,先做两件事:
第一,检查不是因为误触了关闭触摸的快捷键。有些键盘盖有禁用触摸的FN组合键,不小心按到就会关掉。
第二,重启iptsd服务:
sudo systemctl restart iptsd触摸失效很多时候是这个守护进程挂了,重启一下就好。如果经常挂,可以看它的日志journalctl -u iptsd,找一下崩溃原因,更新内核通常能解决。
键盘盖失灵的话,重启系统一般能恢复,频繁出现的话检查是不是接口接触不良,Surface的磁吸接口时间久了会有灰尘,用软布擦一下。
4.5 系统越用越卡、存储告急
老设备用了几个月开始变慢,先看两个地方。
一个是内存。4G内存,如果开了浏览器加几个应用,内存吃满之后开始频繁交换,卡顿就来了。可以用free -h和htop观察。缓解办法:少开标签页、用轻量的浏览器(比如Chromium比Firefox省内存)、设置swap文件大一点。
另一个是存储。64G eMMC用久了,系统和缓存会慢慢占满。重点清理对象:/var/log/里的日志、apt缓存、~/.cache/里的临时文件、还有旧的系统内核(surface内核更新后会留下旧版本,占几百M)。
# 查看磁盘占用 df -h # 清理apt缓存 sudo apt clean # 查看大文件 sudo du -sh /var/* | sort -rh | head -20 # 清理旧内核(谨慎操作,确认当前内核版本后再删) dpkg --list | grep linux-image注意:删旧内核前一定要确认当前正在用的内核版本(
uname -r),把在用的那个删了会开不了机。稳妥的做法是保留最近两个版本。
这里还有个容易被忽略的点:eMMC的写入寿命。64G eMMC的擦写次数有限,频繁的日志写入和swap交换会加速老化。所以建议把/var/log的日志级别调低,或者挂载时加noatime参数减少写入。这是个长期习惯,短期看不出效果,一两年后差别就明显了。
5. 用下来的几点真实体会
这台Surface Go现在是我随身带的一台"轻终端",主要用来查资料、写Markdown笔记、跑跑Python脚本、SSH连服务器。刷成Ubuntu 22.04之后,它从一个开机都费劲的平板,变成了能随时掏出来干活的工具,这个转变我个人是满意的。
但有几句话必须说在前面。老设备刷Linux是有取舍的,性能和兼容性不可能面面俱到。摄像头、部分传感器、某些电源管理特性,你就是要接受它的不完美。如果你的需求是视频会议、重度图像处理,这台机器加上这套系统可能不是好选择;如果你只是想有个轻便的Linux终端,那它挺合适。
还有一点体会是关于折腾的心态。刷系统这事,出问题很正常,尤其是Surface这种非标准硬件。遇到卡住的时候,别急着反复重装,先把问题定位清楚——是引导问题、驱动问题还是固件问题,不同原因的处理思路完全不同。我当时无线网卡认不到,折腾了好几个小时才反应过来是固件缺失,其实只要先联网装上surface内核就能解决。事后回头看,早一点装专用内核,能省下不少弯路。
最后分享个小习惯:动手前把所有关键镜像和固件提前下好放到U盘里,包括Ubuntu的ISO、Windows恢复镜像、linux-surface的离线包。装系统过程中很可能遇到临时没网的情况,这时候手边有离线包,从容很多。这个习惯不只对Surface有用,给任何设备折腾系统都适用。