前阵子有个朋友要搭一套开发环境,专门强调:系统得是英文版Linux。问他为什么,他说之前在中文版Ubuntu里写脚本,经常被终端里那些乱码搞到头疼,日志、报错信息全都是本地化过的,去搜英文文档还得先把报错翻回英文。这其实是很多开发者和运维兄弟的共同痛点。安装英文版Linux,说白了就是把系统语言、locale、终端输出都切到英文环境,同时保留中文显示和输入能力,日常看中文文件不受影响,命令行和日志却干净不少。这篇文章我会从镜像选择、启动盘制作、安装分区、语言配置到常用环境搭建,完整走一遍英文版Linux系统安装流程,新手可以照着做,老手也能查漏补缺。
1. 安装前先想清楚:发行版与部署方式怎么选
1.1 发行版选择:Ubuntu、Debian 还是 CentOS/Rocky
大部分人对“英文版Linux”有个误解,以为要专门找一个英文语言包的特殊发行版。实际上,所有主流发行版都是多语言镜像,安装时把显示语言选成English,就是一个标准的英文版系统。我们需要纠结的不是“哪里下载英文版”,而是根据使用场景选对发行版。
现在社区里最常见的三个方向是Ubuntu、Debian和Rocky Linux(CentOS的接班者)。它们的核心区别在包管理器和版本节奏上:Ubuntu用apt,适合桌面开发、AI训练、ROS这类场景,硬件驱动和桌面生态最省心;Debian也走apt,但更偏向稳定和干净,适合服务器或内存较小的老机器;Rocky Linux用dnf/yum,主要用于企业服务器,和原来的CentOS习惯完全一致。
如果你拿不准,我建议直接选Ubuntu 22.04 LTS。理由很简单:遇到问题能搜到的资料最多,官方文档和第三方教程基本都以它为准。如果只是跑Web服务、数据库,选Debian 12也足够稳。如果公司生产环境原本就是CentOS系,那抢救资料就别换体系,Rocky 9更平滑。这个选择直接决定了后面所有命令是apt还是dnf,所以第一步别嫌麻烦。
1.2 物理机还是虚拟机:两种部署场景对比
部署方式决定你要不要在BIOS里折腾引导,也决定后面踩坑的方向。我做了一个简单的对比,方便你对号入座:
| 维度 | 物理机 | 虚拟机(VirtualBox/VMware/PVE) |
|---|---|---|
| 适合人群 | 老机器利用、长期开发主力机 | 新手学习、多系统共存、随时快照 |
| 镜像写入 | 需要U盘启动盘 | 可以直接加载ISO文件 |
| 风险 | 可能会动到原硬盘数据 | 随时可以删掉恢复,几乎无风险 |
| 性能 | 完整硬件性能 | 有虚拟化损耗,但日常够用 |
| 典型坑 | 显卡驱动、UEFI安全启动 | VT-x/AMD-V没开启、虚拟磁盘空间不足 |
我的建议很简单:如果是第一次装Linux,或者只是测试某个软件能不能跑通,一律用虚拟机。VirtualBox免费,VMware Workstation Player也免费,创建虚拟机时把ISO挂上去,半小时就能看到系统。物理机安装更适合你已经确定要长期使用Linux作为主力系统,且手里有一块单独的硬盘。
有一点提醒一下,虚拟机不是“随便填个配置就行”。CPU要开启虚拟化,内存给到2GB以上,磁盘至少给20GB,否则Ubuntu桌面版装完就卡。后续如果还要在里面跑Docker或编译大型项目,建议CPU核心数给到4核、内存8GB。等系统跑起来再分配资源是麻烦事,不如一开始给足。
1.3 镜像下载与校验:别图快从乱七八糟的网站下
下载地址我只认官方源和国内高校镜像。Ubuntu官方在ubuntu.com/download,Debian在debian.org/distrib,Rocky在rockylinux.org/download。如果官方速度慢,就用清华TUNA或者阿里云镜像站,比如阿里云的mirrors.aliyun.com,里面能找到各发行版的完整ISO。
这里要重点说一个新手不看、老手也容易忽略的步骤:校验SHA256。下载完ISO后,哈希值和官方页面对不上,说明文件不完整或被人动过手脚。Windows下用PowerShell执行Get-FileHash .\ubuntu.iso,Linux/macOS下执行sha256sum ubuntu.iso,然后和官网给出的校验值逐位对比。这是一个几十秒钟但能避免安装中途“莫名报错”的习惯。
英文版系统镜像和中文版没有任何文件区别,安装器会根据你选择的首选语言决定初始语言环境。所以下载时不用纠结标注语言,看准版本号和LTS字样就行。另外,桌面版选Desktop,服务器版选Server,别把Server版当桌面用,也别给只有2GB内存的老机器装Desktop版。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 制作启动盘与引导设置:别在第一关卡住
2.1 用 Rufus 或 dd 制作启动盘
物理机安装需要把ISO写入U盘,但这个“写入”不是简单把文件复制进去。启动盘要有引导记录,所以必须用专用工具。Windows下我用得最多的是Rufus,使用步骤很简单:插入U盘,打开Rufus,设备选对U盘,引导类型选择镜像文件,分区类型选GPT,目标系统选UEFI,文件系统保持FAT32,然后点开始,弹出提示时选择“以DD镜像模式写入”。
为什么强调DD镜像模式?因为Linux发行版ISO本质上是一个混合镜像,普通写入模式可能导致U盘启动后找不到引导文件。Rufus检测到Ubuntu这类镜像时通常会默认选DD模式,但某些精简版或者定制版不会被自动识别,这时候要手动切到DD。写入过程中U盘数据会被清空,千万别选错盘符。
Linux下直接使用dd命令更干脆:sudo dd if=ubuntu.iso of=/dev/sdb bs=4M status=progress。这里的of=/dev/sdb是U盘设备名,不是/dev/sdb1分区。用lsblk先确认盘符再执行,写完后执行sync让缓存落盘。如果是在macOS上,用balenaEtcher最不费脑子,选镜像选U盘,一键烧录。
2.2 BIOS/UEFI 启动项设置与安全启动问题
做好的U盘插上电脑,开机猛按F2、Del或F12进BIOS设置。不同主板按键不同,常见的是F2和Delete。进去后主要改两个地方:第一,Boot Mode选UEFI,不要用Legacy/CSM,因为现在主流发行版和Win10/11都在UEFI生态下,混合引导反而容易出问题;第二,把U盘启动项调到第一位,或者用临时启动菜单选U盘。
关于Secure Boot(安全启动),这里有分歧。Ubuntu 22.04默认支持Secure Boot,但如果你要装显卡驱动、自己编译内核,或者和Windows双系统共存,为了省事,我会建议先关掉Secure Boot。图形卡驱动和部分第三方模块在没有签名时可不会跟你客气。关掉安全启动不影响日常使用,以后想再开也能随时开。
进入安装界面后如果发现鼠标键盘都没反应,大概率是USB接口问题。换成主板上USB 2.0口,不要用前置USB 3.0口,因为某些安装内核的USB驱动没加载全。这个问题在老旧笔记本上尤其常见,别浪费时间纠结。安装器能正常启动,这一步就算过了。
2.3 虚拟机安装时的硬件配置要点(避免黑屏蓝屏)
虚拟机虽然没有U盘引导的问题,但要是配置不对,一样能让你卡在启动阶段。很多人在VMware或VirtualBox里装Ubuntu,一开机就黑屏、蓝屏或卡在“Guest has not initialized the display”,十有八九是下面几个原因。
第一,CPU虚拟化没开。进主机BIOS里找Intel VT-x或AMD-V,把它开启,否则虚拟机只能咬牙切齿地慢慢跑。第二,内存给太少。Ubuntu桌面版最低2GB,但实际开机开个浏览器就卡得不能动,给到4GB起步。第三,显存和显卡控制器设置。VirtualBox里显存建议调到128MB,图形控制器选VMSVGA,装完系统后安装增强功能才能自适应分辨率。VMware则建议在“虚拟机设置-显示器”里勾选加速3D图形。
还有一个不常见但很致命的坑:ISO镜像下载不完整。虚拟机启动时如果提示“No bootable medium found”或直接黑屏,先把ISO文件用sha256sum校验一遍,别急着怀疑虚拟化设置。镜像文件损坏、下载一半被浏览器拦截,都会导致启动不成功。这个问题记录下来放脑子里,以后能帮你少走一大段弯路。
3. 英文版安装全流程:从安装界面到首次登录
3.1 安装语言选择:为什么这里就选 English
进入安装器第一步往往是选择语言,这里直接选English。或许有人会问:我以后想要中文,现在选中文不是更省事吗?不是的。安装界面语言决定系统初始locale和大量预装软件包的语言环境。如果你在安装器里选了中文,不少软件包会顺手拉取中文语言包,终端里的帮助信息、日志措辞都会变成中文,你要的“英文版”就泡汤了。
选择English还有一个好处:安装过程中的错误提示都是标准的英文术语,比如“failed to install grub to /dev/sda”这类信息,复制到搜索引擎里能精准找到答案。中文提示虽然亲切,但经常搜起来词不达意。作为一个靠搜索引擎活着的现代人,英文错误信息才是最有价值的线索。
安装页面后面的键盘布局同样选English (US)或English (UK),区别就是某些符号位置。国内大多数开发者习惯US布局,回车到底。选完之后安装器后台就开始检测硬盘、网络、电源状态,这时候别断开电源,也别手痒乱拔U盘。整个安装过程在网络正常时大概十到二十分钟,取决于U盘速度和硬盘速度。
3.2 磁盘分区策略:手动分区与自动分区的取舍
到了“Installation type”这一步,新手最纠结。如果整个硬盘都给Linux,直接选“Erase disk and install Ubuntu”最省事。这个选项相当于自动帮你建立UEFI引导分区、根分区和swap,不懂分区表就没必要给自己加戏。安装器默认用LVM吗?Ubuntu桌面版默认不做LVM,但Server版可能会,对普通用户来说没区别。
如果你想双系统,或者像我一样有“硬盘空间洁癖”,选“Something else”手动分区。这里给一份适合UEFI的稳键方案:
| 挂载点 | 大小 | 类型 | 用途 |
|---|---|---|---|
| /boot/efi | 512MB | EFI System Partition | 存放引导文件,必须存在 |
| / | 50GB以上 | ext4 | 系统根目录 |
| /home | 剩余全部 | ext4 | 个人数据,后续重装系统不丢 |
| swap | 4-8GB | swap | 内存交换分区,内存大也可以不建 |
手动分区时最容易犯的错是忘了建EFI分区。如果你看到安装器底部“Device for boot loader installation”那里选的是整个磁盘,但分区列表里没有ESP类型的分区,回车后大概率会报错。可以用安装器的“Change”按钮新建分区,类型记得选EFI System Partition。swap分区在建好之后类型自动是swap,不用手动指定。
有人喜欢把/home单独分出来,有人不搞。我自己的习惯是单独给/home,因为以后升级系统或换发行版时,直接挂载旧/home就能保留所有个人文件、配置和下载内容。代价是根分区可能不够用,所以根分区至少给50GB,如果编译Android或大型项目建议给到100GB以上。
3.3 用户账户、主机名与时区配置
分区搞定后安装器会让你选时区,注意:即使系统语言是英文,时区也要选Shanghai,否则系统显示时间和本地时间差八个小时。很多人在英文版Linux下看到时间不对,第一反应是硬件时钟问题,其实只是时区没选对。如果你手快选了America/New_York,等到装完再改时区也行,但何必给自己找麻烦。
接下来是创建用户账户,填你的名字、计算机名和密码。这里要提醒:计算机名(hostname)不要带空格,也别用中文,可以用dev-ubuntu-01这种格式。hostname会出现在终端提示符和网络配置里,越简单越好。密码尽量用强密码,但别复杂到自己都记不住,忘记密码后用恢复模式重置步骤还算简单,但如果你加密了家目录,那就真的是灾难了。
安装器还会问你“Require my password to log in”和“Encrypt my home folder”之类选项,默认不勾选加密。如果你担心笔记本被盗数据泄露,可以加密家目录,但代价是任何自动化任务都可能在登录前卡住。作为开发机,我建议先不加密,把精力放在配置核心环境上。确认这些设置后,安装器开始复制系统文件,这时候可以去喝杯水了。
3.4 安装完成后第一次进入系统需要做的事
安装完成重启,拔掉U盘,如果看到GRUB引导菜单,进去系统,英文版Linux的初始环境就算立住了。第一次登录后,别急着打开浏览器,先打开终端跑一轮系统更新。Ubuntu/Debian系:
bash复制sudo apt update
sudo apt full-upgrade -y
这一步会把安装介质里过老的软件包全部升到当前软件源里的最新版本,同时把安全补丁打上。更新过程出现红字报错不要慌,看具体信息,最常见的是软件源访问慢或者某些包被锁定。如果官方源慢到无法忍受,先跳到后面5.1节换国内源再继续,不然一个下午可能卡在“Reading package lists...”。
然后确认语言环境:
bash复制locale
echo $LANG
英文版系统默认输出是LANG=en_US.UTF-8。看到这个值,说明安装环节无误。顺便用df -h看一眼磁盘挂载情况,确认根分区和/home分区都挂上了。如果手动分区时忘了挂载某个分区,这里能立刻发现,早点处理比以后数据写满根分区再想办法轻松得多。
4. 把英文系统调到“既英文又中文”的最佳状态
4.1 locale 语言环境:en_US.UTF-8 与 zh_CN.UTF-8 共存
英文版Linux的核心诉求并不是“彻底抛弃中文”,而是命令行和界面用英文,日常看中文文件、打开中文网页时不乱码。这就需要把locale环境搭成双语共存:默认语言环境是英文,但系统同时具备处理中文的能力。
Ubuntu/Debian默认没有生成zh_CN.UTF-8语言包。你可以在终端测试一下:
bash复制locale -a | grep zh_CN
如果没有任何输出,说明当前系统只有英文locale。手动生成中文locale的方法很简单,编辑/etc/locale.gen,取消对应行的注释:
bash复制sudo sed -i 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen
sudo locale-gen
再执行locale -a,应该能看到zh_CN.UTF-8了。但不要修改/etc/default/locale中的LANG,这样中文locale只是“存在”而不是“生效”。等以后需要临时切换到中文环境时,可以单个会话里执行export LANG=zh_CN.UTF-8,只影响当前终端,不破坏英文全局设置。
对桌面版用户,最好再安装中文语言包:sudo apt install language-pack-zh-hans。这东西提供GNOME等桌面环境的中文翻译数据,不装它,系统菜单即使切换语言也可能显示不全。安装语言包之后,系统设置里的Language选项会多出中文选项。即使你不用中文界面,这个包也能保证部分依赖中文环境的应用正常工作。
4.2 中文字体与输入法安装
英文环境下打开中文文档,最尴尬的情况是字体缺失——方块、问号、空白。这是因为系统没有安装中文字体。解决办法是安装开源的中文字形库:
bash复制sudo apt install fonts-noto-cjk
Noto CJK字体是Google和Adobe主导的思源黑体系,覆盖简体、繁体、日文假名和韩文,是目前Linux下最稳妥的中文字体方案。装完后刷新字体缓存:
bash复制sudo fc-cache -fv
然后随便打开一个含有中文的txt文件,应该就能正常渲染了。
输入法是另一个关键。在英文版Linux里,很多人习惯依然打中文,这时需要把输入法框架装好。我现在的习惯是使用fcitx5,配置简单,兼容性好:
bash复制sudo apt install fcitx5 fcitx5-chinese-addons
sudo apt install fonts-noto-cjk
装完之后打开“系统设置-区域和语言”,把输入法框架切成fcitx5,然后重启会话。如果需要拼音输入,fcitx5-chinese-addons自带拼音引擎,语言栏里添加“Chinese”即可。有人执着于搜狗输入法,官方有deb包,但它在Linux上的历史包袱比较重,依赖老版本fcitx4,装完后经常和现代桌面冲突。我的建议是能用系统自带拼音就不折腾,等确实有需求再回退方案。
4.3 终端乱码与编辑器显示问题的修复
英文版系统虽然减少了很多乱码,但“乱码”没有完全消失,只是换了形态。常见情况是从Windows复制一段中文文本到终端里显示成乱码。这个锅不完全是Linux的,Windows默认用GBK编码存文本,而Linux终端默认UTF-8。解决方法:用iconv转码:
bash复制iconv -f GBK -t UTF-8 input.txt > output.txt
批量处理文件名里也有类似问题,之前Windows下创建的文件名到Linux里显示乱码,可以装convmv工具批量转码文件名。
终端本身建议全部使用UTF-8编码。Windows Terminal、MobaXterm、VSCode的Remote-SSH,只要会话编码选UTF-8,一般不会出问题。Vim/Nano这种编辑器,在~/.vimrc里加一行set encoding=utf-8,保证打开文件不乱码。如果你需要在英文locale下处理大量中文文本文件,这个习惯能避免很多无谓的“人格分裂”。
还有一个细节:cat命令直接打印二进制文件、打包压缩包,终端会刷出天书一样的乱码。这不是系统问题,是操作习惯问题,用file命令先确认文件类型,再用对应工具打开就好。
5. 常用软件与开发环境搭建
5.1 换用国内镜像源:英文系统下别再龟速更新
系统装好,第一条命脉就是软件源。如果用官方源,在国内更新软件包的速度很难受。换源操作很简单,但不同发行版、不同版本格式不同,这里只说最常见的Ubuntu。
Ubuntu 20.04及以前,换源就是修改/etc/apt/sources.list,把archive.ubuntu.com替换成清华源或阿里云源:
bash复制sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g' /etc/apt/sources.list
sudo apt update
Ubuntu 22.04及更新版本,已经从/etc/apt/sources.list切到了DEB822格式的/etc/apt/sources.list.d/ubuntu.sources。直接编辑该文件,把URIs一行改成http://mirrors.tuna.tsinghua.edu.cn/ubuntu/。改完以后再次update,速度差别立竿见影。
换源后有个坑:有时会报“Signature verification failed”或“public key not available”。这是因为某个第三方源的GPG公钥过期或没导入。对应处理思路是重新导入官方公钥,而不是把所有源都注释掉泄气。Debian系用户还可以顺便启用deb-src源,方便以后自行编译软件排查问题。国产发行版比如openEuler、麒麟的包管理大多是dnf/yum,换源思路一样,先备份repo文件再替换镜像路径。
5.2 安装 Python、pip 与编译工具链
Linux系统安装Python是高频需求。Ubuntu 22.04自带Python 3.10,Debian 12自带Python 3.11。但你很可能还需要一套完整的开发工具:
bash复制sudo apt install python3 python3-pip python3-venv build-essential git curl wget
build-essential里包含gcc、g++、make等,否则很多需要编译的Python库会失败。装完检查一下版本:
bash复制python3 --version
pip3 --version
使用pip时强烈建议配国内镜像,不然拉一个torch都能等到天黑:
bash复制pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
这里要特别提醒:永远不要用sudo pip直接给系统Python装包。系统包管理器维护的Python和pip安装的包可能冲突,更合理的方式是用python3 -m venv venv创建虚拟环境,以后项目依赖互不干扰。如果你在英文系统上安装Python,所有pip日志、报错都是英文,搜索问题时直接把原话复制到搜索引擎,命中率很高。
5.3 远程运维常用命令与工具
既然是Linux系统,日常操作离不开命令行。列几个我觉得新手必备的排查命令:
bash复制lsblk # 查看磁盘分区
free -h # 查看内存
df -h # 查看磁盘使用
ss -tlnp # 查看监听端口
journalctl -xe # 查看系统日志,排查服务启动失败
服务器场景下,可能还需要安装OpenSSH服务器,让远程终端能连进来:
bash复制sudo apt install openssh-server
sudo systemctl enable --now ssh
装完用ssh username@ip测试。如果外网连不进来,先看防火墙,ufw默认可能没有放行22端口:
bash复制sudo ufw allow 22/tcp
作为运维手艺的一部分,我还习惯安装htop、ncdu、tldr这类工具。htop实时看CPU内存占用,ncdu交互式清理磁盘空间,tldr看命令速查。Linux常用命令大全网上能抄,但真正有用的是在故障现场会查日志、会看状态,而不是背命令。系统出问题时,先journalctl -xe,再查对应服务的unit状态,十次有八次能自己解决。
5.4 特殊场景扩展:ROS、数据库与国产系统
有些热词里提到的场景,我也稍微说两句。比如在Ubuntu 22.04上安装ROS 2 Humble基准版,建议在干净英文环境下操作,避免中文locale导致Python构建脚本的字符错误。安装前先确认locale输出是en_US.UTF-8,然后按ROS官方文档配置源、导入公钥、安装ros-humble-desktop。如果你只是为了刷题或者入门,用不上完整desktop,ros-humble-ros-base就够了。
数据库方面,常见需求是在麒麟或openEuler这类系统上装MySQL。这些系统使用dnf/yum,安装包名称可能是mysql-server或mariadb-server。装完以后都要记得运行初始化安全脚本,sudo mysql_secure_installation。官方文档如果默认英文,正好配你的英文版系统。英文环境的好处在这就凸现了,所有报错信息和文档对得上,不用做“中英互译”。
如果你用的是嵌入式方向Linux,核心逻辑也相通:选择交叉编译工具链,注意目标系统的libc版本和程序依赖。系统安装本身不是绊脚石,真正的工程量在后续编译和部署环节。
6. 常见问题与排查技巧实录
6.1 虚拟机安装 Linux 蓝屏怎么办
虚拟机里装Linux蓝屏/黑屏,这个问题的出现频率远超想象。先说最常见的几个触发点:
| 现象 | 可能原因 | 快速排查 |
|---|---|---|
| 启动时直接蓝屏 | 主机BIOS没开VT-x/AMD-V | 进BIOS开启虚拟化 |
| 黑屏,只有一个光标 | 显卡控制器不兼容or ISO损坏 | 换VMSVGA,重新校验ISO |
| 安装过程中崩溃 | 内存不足 | 至少给2GB以上 |
| 启动提示No bootable medium | ISO没有挂载对 | 重新挂载ISO,确认文件名 |
很多时候,把虚拟机删除重新建一遍能解决50%的问题。别觉得重建麻烦,虚拟机快照就是拿来造作的。创建时记得选择“UEFI”而不是“BIOS”,和物理机的引导方式保持一致。如果你在主机的BIOS里看不到Intel VT-x选项,可能被隐藏了,可以查一下主板具体型号开启方式,不要轻易妥协。
6.2 英文系统显示中文变成方块/问号
这种现象几乎全是字体缺失引起的。确认方法:
bash复制fc-list :lang=zh
如果没有中文字体输出,安装fonts-noto-cjk后重新登录桌面或重启一下字体服务。假如终端里中文乱码是像�这样的替换字符,则大概率是字符编码问题。本地文件乱码用iconv转码,远程SSH乱码检查终端会话编码,这种情况和字体就无关了。
还要注意:浏览器里中文网页乱码较少见,现代浏览器都自动切UTF-8。VSCode远程连到Linux后,如果右下角编码显示GBK,点击改成UTF-8即可。编辑器也好、终端也好,统一UTF-8是治本策略。英文版Linux默认UTF-8,最怕的是自己手滑改错/etc/default/locale,改回去就行。
6.3 分区结束后安装器报错
安装进行到临近结束时报错,最常见的是“The partition table format ... requires an EFI System Partition”。这句话的意思是:你选择的是UEFI引导,但分区表里没有EFI分区。解决方式很简单,回到分区页面,确保有一个挂载点为/boot/efi、大小为512MB左右、类型为EFI System Partition的分区。
如果安装时报“failed to install GRUB”,则可能是引导装载程序写入了错误设备。安装器底部有一个“Device for boot loader installation”下拉框,确保选择的是整个硬盘(比如/dev/sda),而不是某个分区(比如/dev/sda1)。GRUB应该装在磁盘开头,而不是分区里。这个错误在手动分区时特别容易犯,记下来,省得再来一遍。
另外,双系统安装时优先安装Windows再装Linux,Linux的GRUB能自动识别Windows引导项。反过来装Windows会直接覆盖Linux引导,修复起来要多花很多时间。如果你已经把自己折腾进系统都进不去的局面,别慌,用live USB启动后执行sudo mount /dev/sda? /mnt和sudo grub-install命令,大致能救回来。
6.4 系统启动进入 grub 救援模式
启动后卡在grub>提示符,说明GRUB找不到内核或找不到根分区。这通常是因为你动了/boot分区、改了分区UUID,或者双系统安装Windows后把引导覆盖了。在GRUB命令行里可以直接测试:
grub复制ls
ls (hd0,gpt2)/
第一条ls列出所有磁盘和分区,第二条查看某个分区根目录下有没有vmlinuz和initrd.img文件。找到正确的根分区后,可以临时手动引导:
grub复制set root=(hd0,gpt2)
linux /vmlinuz root=/dev/sda2 ro
initrd /initrd.img
boot
能进系统后就赶紧执行sudo update-grub重新生成配置。这种方法只能救急,如果每次都要手动输入,说明引导配置文件有问题,建议用启动盘修复模式重新安装GRUB。平时养成不动/boot分区的习惯,这个问题的概率会低很多。
6.5 软件源更新慢/签名错误
更新慢的问题,国内用户基本都是因为没换源。但要注意,换完源后经常遇到“The following signatures couldn't be verified”的报错。出现这个的常见原因是新源使用的GPG公钥没有导入。对Ubuntu官方源来说,把公钥文件导入到trusted.gpg.d中:
bash复制sudo gpg --keyserver keyserver.ubuntu.com --recv-keys 871920D1991BC93C
sudo gpg --export 871920D1991BC93C | sudo tee /usr/share/keyrings/ubuntu-archive-keyring.gpg >/dev/null
不同版本官方源公钥指纹不一样,直接到Ubuntu官网查对应GPG key页面更稳。如果用第三方源(比如Docker、NodeSource),它们一般会提供安装key的脚本,照着执行就好。千万记住,第三方源的安全性是第一位的,不要为了速度随便添加来源不明的PPA源,为了快一分钟最后变成安全隐患,不值得。
还有一些“假的换源成功”,其实是只改了sources.list,但系统里还有/etc/apt/sources.list.d/下其他源文件指向海外。排查方法是在apt update后检查日志中每个源的实际URL,确保没有漏网之鱼。这个检查做完,apt更新基本就能达到国内正常速度。
我自己在第一次装英文版Linux的时候,也经历过分区报错、引导丢失、中文字体警告,折腾了一个周末才把所有东西理顺。后来总结出一个习惯:装系统前先拿虚拟机完整走一遍流程,把每个选择都记下来,再上物理机,成功率会提高一大截。英文版Linux带来的好处是长远的,报错可搜、日志清爽、文档一致,尤其在运维和开发场景里省下的时间,远比你安装时多花的那点心思值。最后再分享一个细节,装完系统先备份/etc/default/locale和/etc/apt/目录,以后出问题能快速对比,这也是我这几年踩坑之后养成的习惯。
