ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Ubuntu入门避坑指南:从系统安装到开发环境配置

2026/10/1 22:57:02 拓冰建站 浏览量
Ubuntu入门避坑指南:从系统安装到开发环境配置 Ubuntu入门严格来说门槛并不是系统安装那一下而是装完之后的第一次开机、第一次配网络、第一次敲命令、第一次装显卡驱动。这中间任何一个环节卡住都能让人在搜索引擎里逛半天。我从 Ubuntu 下载、双系统安装、中文输入法、SSH 远程、开发环境到驱动和系统故障恢复把这些新手最容易撞的墙都串起来写一遍尽量把每一步背后的原因和排查思路都讲清楚让你照着操作能少走不少弯路。这篇文章适合刚接触 Linux 的初学者也适合已经从 Windows 或 macOS 转过来、正准备用 Ubuntu 做开发或日常办公的人。不管你是打算装在实体机、虚拟机还是在 WSL 里折腾下面这些内容基本都能覆盖。1. 版本选择、镜像下载与系统安装1.1 该选哪个版本去官网还是镜像站Ubuntu 的版本分长期支持版LTS和普通版。LTS 一般是两年一发布像 20.04、22.04、24.04 这种命名偶数是 LTS官方会提供五年以上的更新和维护普通版每半年发布一次功能新但维护周期短不适合当日常主力系统。如果你不是特别在意尝鲜直接选最新的 LTS 就好目前桌面版推荐 24.04 LTS服务器可以选 24.04 或 22.04 LTS稳定性都好。下载途径上官网 ubuntu.com 的下载服务器在国外有时速度很慢。国内用户可以用各大开源镜像站下载系统镜像和安装软件包比如阿里云镜像、清华 TUNA 镜像、中科大镜像。镜像站里找ubuntu-releases/24.04/目录里面有ubuntu-24.04.x-desktop-amd64.iso这样的文件桌面版下载这个服务器选ubuntu-24.04.x-live-server-amd64.iso。关于版本内部的细节桌面版镜像本身就自带安装器U 盘启动后进入图形界面安装非常简单。Server 版则没有图形桌面安装过程基于文本菜单适合装完当服务器用。如果你不确定自己要用什么建议先装桌面版在里面还能随时再装服务器组件。1.2 双系统安装最容易踩 GRUB 和引导的坑很多新手是从 Windows 转过来的双系统是常用方案。装之前先给 Ubuntu 留出空闲磁盘空间可以在 Windows 的“磁盘管理”里压缩卷也可以直接在 Ubuntu 安装器里手动分区。新手建议只分两个区根分区/给 50~100GB交换分区 swap 给内存一样大即可。如果以后要放项目、下载电影、做开发环境可以把剩下的空间单独挂一个/home分区这样以后重装系统不用丢个人数据。双系统最容易出问题的地方在引导。安装 Ubuntu 时安装器会把 GRUB 写到硬盘之后开机就会让你选择进入 Windows 还是 Ubuntu。但很多人会遇到装完 Ubuntu 后直接进 Windows连系统选择界面都见不到或者进了 Ubuntu 后 Windows 又不见了。前者多半是 BIOS 里安全启动Secure Boot没关或者 Windows 的快速启动功能导致引导被跳过后者往往是安装时的引导设备选错了盘或者 Ubuntu 安装器没能正确识别 Windows 引导。解决思路是这样的进 BIOS 关闭 Secure Boot同时把 Windows 的“快速启动”关掉因为它会让 Windows 在关机时把系统状态存入休眠文件导致下次开机不走正常引导流程。如果安装后引导直接进了 Windows一般重启进 BIOS把 Ubuntu 对应的启动项调到第一优先级即可如果进 Ubuntu 后 GRUB 菜单里没有 Windows执行一遍sudo update-grub让它重新扫描所有操作系统。另外VMware 或 VirtualBox 虚拟机里装 Ubuntu其实比实体机简单得多。虚拟机默认不走 BIOS 引导的那套复杂逻辑安装顺畅不少。内存分配起码给 4GB硬盘 60GB 以上处理器给 2 核起步这样才能保证桌面流畅度。2. 装完系统后立刻要做的基础配置2.1 有线、无线网络连不上看这里Ubuntu 桌面版装完后右上角网络图标一般能直接连 Wi-Fi问题多半出在 Ubuntu Server 或者虚拟机环境里。Server 版默认没有桌面网络管理工具系统网络服务是直接用 Netplan 管理的。配置文件一般在/etc/netplan/目录下文件名是类似50-cloud-init.yaml或01-netcfg.yaml的 YAML 文件。如果是虚拟机里设静态 IP常见做法是改这个文件network: version: 2 renderer: networkd ethernets: ens33: dhcp4: no addresses: - 192.168.1.100/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [223.5.5.5, 8.8.8.8]改完后执行sudo netplan apply生效。这个文件对格式非常敏感冒号后面必须有空格缩进必须一致写错一个空格网络就起不来。排错时可以先跑sudo netplan try配置有问题它会在 120 秒内自动回滚避免把自己反锁在外面。很多人虚拟机里遇到的问题是能上网但 SSH 连不上或者能连 SSH 但上不了网。这通常和虚拟机网卡模式有关。VMware 的 NAT 模式让虚拟机通过宿主机共享 IP 上网访问外网方便但想从宿主机或局域网其他机器访问虚拟机得用桥接模式。桥接模式下虚拟机和宿主机在同一网段互相能通。VirtualBox 同理默认 NAT 适合上外网需要外部访问就切到“桥接网卡”。这些都是安装前就要考虑清楚的。2.2 中文语言环境和搜狗输入法别再装个寂寞Ubuntu 装完默认是英文环境但中文输入法其实并不难配。桌面版在“设置 – 系统 – 区域与语言”里添加“汉语中国”重新登录一次系统菜单和窗口就变中文了。这时候系统自带的中文输入法已经能用框架是 fcitx5 或 ibus取决于发行版默认。如果你习惯搜狗输入法官方提供了 Ubuntu 版本去搜狗官网下载 deb 安装包安装命令是sudo dpkg -i sogoupinyin_xxx_amd64.deb sudo apt -f install -y但这里有个很关键的坑搜狗输入法依赖 fcitx 框架而 Ubuntu 24.04 默认用的是 GNOME 桌面 Wayland 显示协议fcitx5 在这套环境里经常出现输入框不跟随、候选词不弹出的问题。我的建议是安装前先执行sudo apt install fcitx5 fcitx5-chinese-addons然后在“设置 – 系统 – 会话”里把登录会话切换成“GNOME on Xorg”即 X11 模式再装搜狗或 fcitx5 自带的中文输入法稳定性和兼容性都好很多。另外要检查几个环境变量是否写进了~/.xprofile或~/.profileexport XMODIFIERSimfcitx export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx如果登出重进后输入法还是调不出来大概率是这几个环境变量没生效。这个坑我反复踩过装输入法本身只要五分钟切换显示协议、配环境变量反而折腾了半小时。2.3 终端字体优化写代码想要接近 macOS 的体验终端字体是个被很多人忽略但体验影响很大的细节。Ubuntu 默认的等宽字体是 Ubuntu Mono显示效果偏硬看代码久了眼睛容易累。如果你习惯 macOS 上那种更圆润的等宽字体可以试试几款免费开源字体JetBrains Mono、Monaspace、Maple Mono NF、Sarasa Term SC更纱黑体终端版。其中 Maple Mono NF 自带 Nerd Font 图标在 VSCode 和 Zsh 主题下效果非常好。桌面终端里设置字体一般有图形界面直接选中字体即可。WSL 里写代码的场景比较特殊终端通常用的是 Windows Terminal。Windows Terminal 的设置里字体可以直接选“JetBrainsMono NF”这类已安装到 Windows 的字体配一个深色主题比如 One Dark 或 Dracula视觉上跟 macOS 的终端差距就不大了。系统自带 GNOME Terminal 也可以在“偏好设置 – 自定义字体”里修改。字体渲染在 Linux 上还受抗锯齿和缩放影响如果你的显示器是高分辨率屏幕字体发虚或发糊去“设置 – 显示”里调缩放比例或者改字体渲染方式gsettings set org.gnome.desktop.interface text-scaling-factor 1.2这个设置对桌面 UI 整体有效。3. SSH 远程连接从“死活连不上”到顺手3.1 SSH 连接失败的排查清单Ubuntu Server 装完很多人会立刻用 SSH 工具连接结果最常见的一个问题就是连不上。原因往往不是网络问题而是系统里根本就没装 SSH 服务端。Ubuntu 桌面版和 Server 版默认都不安装 openssh-server但桌面版装的时候可以勾选Server 版安装过程中也会问可很多人当时没注意。连不上的排查思路按顺序走一遍# 查看 ssh 服务状态 systemctl status ssh # 如果没装安装并启动 sudo apt update sudo apt install openssh-server -y sudo systemctl enable ssh --now # 查看 22 端口是否监听 sudo netstat -tlnp | grep 22 # 查看防火墙状态 sudo ufw status如果防火墙开着需要放行 22 端口sudo ufw allow 22/tcp。很多时候系统里防火墙默认没开反而不用处理。假如 SSH 服务正常、端口也监听了但还是连不上就要检查虚拟机的网络模式或者实体机的 IP 地址。用ip addr看当前系统拿到的 IP确认为何和你 SSH 工具里填的目标 IP 对不上。我遇到最常见的情况是虚拟机重新启动后 DHCP 分配的 IP 变了ssh 配置里还写的老地址导致连接被拒绝。另外新安装的系统默认禁止 root 用户远程登录。如果你非要使用 root 账号就需要在/etc/ssh/sshd_config里把PermitRootLogin改成yes然后重启 sshd。不建议新手这么做因为 root 登录一旦密码泄露安全风险比普通用户大得多。3.2 用 xshell 或 VSCode Remote 连接时的配置细节Xshell 连接 Ubuntu主要是填好主机 IP、用户名、端口。第一次连接会提示保存密钥接受即可。如果连接很慢可能在反向解析 DNS可以在/etc/ssh/sshd_config里加一行UseDNS no然后重启 SSH 服务连接速度会快很多。用 VSCode 远程开发的话推荐的方案是装 VSCode 官方出的 Remote - SSH 插件。在 VSCode 里按键CtrlShiftP输入Remote-SSH: Connect to Host填用户名和 IP第一次连接会自动在远程机器上安装 VSCode Server。这个过程中如果遇到长时间卡住或下载失败通常是远程机器访问外网受限可以手动下载 VSCode Server 的 tar.gz 包放到用户目录或者检查一下远程机器的代理设置。更保险的做法是配置 SSH 密钥免密登录这样每次连接不用输密码稳定性和速度都有提升。生成密钥对ssh-keygen -t ed25519 -C your_emailexample.com ssh-copy-id 用户名服务器IPssh-copy-id会自动把公钥写入远端~/.ssh/authorized_keys。这样配置完之后从客户端连接就再也不用记忆密码了。4. 开发环境搭建从编译工具链到容器与 Python 生态4.1 gcc 和构建工具链安装失败的常见原因新手在 Ubuntu 上写 C/C 代码常常会先在终端里跑gcc -v发现系统提示 command not found。这很正常Ubuntu 桌面版默认没有安装完整编译工具链需要手动安装。正确方式是安装build-essential这个元包它会带上 gcc、g、make、dpkg-dev 等常用编译工具sudo apt update sudo apt install build-essential -y安装 gcc 失败最常见的原因有三个一是apt update没有执行软件源列表还是旧的导致找不到包二是网络源连接慢或失败国内网络建议把软件源换成阿里云或清华的镜像三是系统依赖损坏报错里有 “broken packages” 字样。改软件源的方法是编辑/etc/apt/sources.list或/etc/apt/sources.list.d/ubuntu.sources把archive.ubuntu.com替换成mirrors.aliyun.com然后执行sudo apt update sudo apt --fix-broken install -y安装完 gcc 后用gcc --version确认版本如果系统源里版本比较旧我一般不去折腾换源而是直接用build-essential自带的版本日常编译完全够用。4.2 cmake 版本太旧怎么升级Ubuntu 软件源里的 cmake 版本往往偏旧比如 20.04 自带的 cmake 是 3.16一旦项目要求 cmake 3.22 或更高版本就会编译不过。升级方法有三种按推荐顺序排第一选择是用 pip 安装新版本pip install cmake --upgrade装完后cmake --version变成最新版但这个版本装到了 Python 的 bin 目录终端里可能找不到需要确认 pip 安装路径在 PATH 里。第二选择是下载官方预编译二进制包去 cmake.org 下载 Linux x86_64 的 tar.gz解压后把bin/cmake软链到/usr/local/bin/cmake。这个方式最干净不污染系统。第三选择是使用 Kitware 官方 apt 源它会保持 Linux 各发行版的 cmake 持续更新但需要添加 GPG 密钥稍微麻烦。实际开发中我遇到过的困惑是项目明明写了cmake_minimum_required(VERSION 3.22)但本地 cmake 是 3.16报错提示要求版本不低于 3.22 或更新。这种就是典型的版本不匹配。升级后先执行cmake --version确认版本再重新cmake ..生成构建文件不要直接复用老构建目录否则可能残留旧的 CMakeCache.txt 导致奇怪的问题。4.3 Docker 安装与权限配置一条龙Ubuntu 上安装 Docker 有多种方式最简单的是用官方一键脚本。国内网络环境下脚本里带上了阿里云镜像参数会更稳定curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun装完之后Docker 服务会自动启动。docker version能看到客户端和服务端版本说明安装成功。但新手直接用docker ps通常会报 “permission denied”这是因为当前用户不在 docker 用户组。执行sudo usermod -aG docker $USER newgrp docker重新登录终端就能直接使用 docker 命令了。如果没有加用户组每次执行 docker 都要加 sudo不仅啰嗦而且脚本里如果用到挂载目录文件权限经常对不上引起后续一系列问题。如果你发现 docker 拉取镜像很慢可以给 Docker 配置国内镜像加速。在/etc/docker/daemon.json里加上{ registry-mirrors: [https://docker.m.daocloud.io] }然后sudo systemctl restart docker。这里提醒一下镜像加速地址一直在变推荐用目前能稳定访问的即可。如果在内网环境部署也可以自建 registry 镜像源。4.4 VSCode、Miniconda 和 Python 库的安装细节VSCode 在 Ubuntu 上最稳的安装方式是用官方 deb 包下载.deb文件后执行sudo dpkg -i code_xxx_amd64.deb再执行sudo apt -f install -y修复依赖。用 snap 安装虽然省事但启动速度和某些扩展权限方面偶尔会让人头疼。装好后在 VSCode 的扩展市场里直接装 Python、Remote-SSH、Docker 扩展即可。Python 环境管理我强烈推荐 Miniconda它比 Anaconda 更轻量。安装步骤去官网下载.sh安装脚本执行bash Miniconda3-latest-Linux-x86_64.sh安装过程中会询问是否初始化 conda选择 yes它会自动修改~/.bashrc。装完之后source ~/.bashrc就可以用conda create -n py311 python3.11创建虚拟环境了。新手常常踩的坑是明明安装好了 conda但新开的终端提示 conda command not found这多半是~/.bashrc没有被 source或者用户切换过 shell比如 zsh导致配置写错文件。解决办法是在~/.zshrc或当前 shell 配置里手动添加一行eval $(conda shell.bash hook)Python 包安装也很容易出问题。比如你想装 numpy 的特定版本pip install numpy2.2.5报错往往是 pip 版本太老无法解析 wheel或者系统 Python 版本跟 numpy 2.2.5 要求的 Python 版本不兼容。先升级 pippython -m pip install --upgrade pip再安装。另外在虚拟环境里一定要确认用的是虚拟环境里的 pip而不是系统全局 pip用which pip看路径就行。5. 硬件与驱动显卡、串口和开发板的常用操作5.1 NVIDIA 显卡驱动装错真的会黑屏Ubuntu 安装 N 卡驱动的方式很多但也是最容易让新手崩溃的环节之一。装错了可能开机直接卡在登录界面、黑屏、或者分辨率异常。核心问题是 Ubuntu 默认使用了开源的 nouveau 驱动跟 NVIDIA 闭源驱动冲突。最简单的安装方式是使用 Ubuntu 自带的“软件与更新”在“附加驱动”标签页里勾选专有驱动然后应用更改重启。命令行方式也很多用ubuntu-drivers devices查看推荐驱动版本然后自动安装sudo ubuntu-drivers autoinstall如果驱动装完出现黑屏可以按CtrlAltF2进入 tty 终端登录后查看日志卸载刚装的驱动sudo apt purge nvidia-* -y sudo reboot装完后用nvidia-smi验证驱动是否正常工作。如果这条命令能显示 GPU 型号和驱动版本说明安装成功如果提示 command not found说明驱动没有正确安装或没有进入 PATH。新手容易迷惑的点是驱动版本和 CUDA 的关系。Ubuntu 安装的 NVIDIA 驱动通常自带一个 CUDA 版本但不等于完整 CUDA 工具链。跑深度学习、编译 CUDA 代码时你需要再装 CUDA Toolkit用nvcc --version看 CUDA 版本。驱动版本和 CUDA 版本需要匹配过高过低都会导致运行时报错比如 “CUDA driver version is insufficient for CUDA runtime version”。这个错误我遇到过很多次根本原因是驱动装得太老而 PyTorch 要求的 CUDA runtime 比较高。解决方式是官方去查 NVIDIA 驱动和 CUDA 的版本对照表找到匹配的驱动版本安装。5.2 CH340 串口驱动和开发板连接在嵌入式开发中经常要用 USB 转串口模块连接开发板常见的芯片就是 CH340。Ubuntu 内核其实自带 CH340 驱动插上设备后一般不需要额外安装但新手的困惑在于找不到设备节点。插入开发板后先确认系统识别到了 USB 设备lsusb能看到USB-SERIAL CH340这样的设备说明硬件正常。再用dmesg | tail -20查看内核日志一般会看到ch341-uart或者usb 1-1: ch341-uart converter now attached to ttyUSB0。设备文件一般是/dev/ttyUSB0。接着配置串口工具比如 minicomsudo apt install minicom -y sudo usermod -aG dialout $USER把用户加入 dialout 组后不需要 sudo 也能访问串口设备重新登录后生效。minicom 连接格式minicom -D /dev/ttyUSB0 -b 115200其中 115200 是波特率具体看开发板的要求常见的有 9600、57600、115200。如果连接后屏幕没反应或乱码多半是波特率不对或者串口接线没共地。“开发板挂载到 Ubuntu”这个场景通常有两种含义一是开发板通过 USB 连接时表现为 U 盘设备需要挂载到 Ubuntu 文件系统里访问。插入后lsblk能看到新磁盘挂载命令是sudo mount /dev/sdX1 /mnt/udisk二是开发板本身跑着 Linux你想通过 NFS 或 SSH 挂载 Ubuntu 的目录到开发板那就是环境配置问题。我建议新手先分清自己属于哪种场景不要一上来就照着网络教程执行 mount 命令万一挂载了错误的设备数据可能被覆盖。6. 系统管理与故障恢复从查架构到重装系统6.1 快速查看系统架构和基础信息很多软件下载时要选择架构比如 x86_64、aarch64、arm64搞错架构装不上很正常。Ubuntu 里查看系统架构最直接的方法是uname -m如果输出x86_64表示是 64 位 x86 架构输出aarch64表示是 ARM64 架构。uname -a能看到完整内核信息包括主机名、内核版本、系统时间。进一步查发行版版本用lsb_release -a这个命令会显示发行版 ID、描述、版本号和代号比如 Ubuntu 24.04 LTS 的代号是 Noble Numbat。如果主机需要远程管理hostnamectl也能一并查看系统信息和 Linux 内核版本。这些命令看一遍几乎不会忘但新手刚开始时常常分不清uname -m和arch的区别其实两者输出差不多记uname -m就行。6.2 双系统启动顺序调整与开机引导设置前面提到过 GRUB 引导菜单它默认倒数 10 秒后启动第一个系统。如果你安装 Ubuntu 后想让它默认进 Windows或者反过来直接在 GRUB 菜单里处理就行不用重装系统。永久修改默认启动项的方法是编辑/etc/default/grub找到GRUB_DEFAULT0这一行。数字 0 代表菜单里第一项。一般 GRUB 菜单顺序里 Windows 的启动项排在后面想默认进 Windows就把它改成对应的序号然后更新sudo update-grub如果不想记序号也可以用GRUB_DEFAULTAdvanced options for UbuntuUbuntu, with Linux 6.8.0-xx-generic这种方式指定菜单里的子项但维护成本高新手不建议。想可视化调整简单点可以直接安装 Grub Customizersudo apt install grub-customizer -y打开后能拖拽调整启动顺序界面直观适合不太想碰配置文件的人。改完记得sudo update-grub否则不会生效。6.3 环境变量配置错误导致系统异常怎么办很多教程让你在~/.bashrc或/etc/profile里加环境变量新手经常写错路径或者把PATH覆盖了导致终端里连ls、sudo都提示 command not found。这种状态看着可怕其实系统没有坏只是当前 shell 找不到命令所在路径。解决办法是先用绝对路径找回命令。比如 PATH 被覆盖后用/usr/bin/sudo编辑配置文件/usr/bin/export PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/vim ~/.bashrc第一步是在当前会话里恢复一个可用的 PATH第二步再打开配置文件把写错的那行删掉或改对。改完后source ~/.bashrc然后新开终端验证。更稳妥的习惯是在改任何环境变量之前先备份原有配置cp ~/.bashrc ~/.bashrc.bak这样即使写错也能一键恢复。我在配置 Java、Go、CUDA 环境变量时吃过不少亏尤其在多用户服务器上改/etc/profile或/etc/environment的权限要求不一样改错影响所有用户所以我现在都会先备份再动修改完先用echo $PATH验证再重开终端测试。6.4 系统重装尽量不丢数据备份与恢复思路Ubuntu 用久了系统变慢、软件装乱了很多人选择重装。重装前最重要的就是数据备份。至少要把/home下的个人文件和项目代码拷贝出来也可以把系统已安装的软件包列表导出方便重装后恢复dpkg --get-selections packages.list重装完执行sudo apt update sudo apt install dselect sudo dpkg --set-selections packages.list sudo apt dselect-upgrade这套思路能恢复大部分软件包的安装状态但不能恢复软件内的配置数据。需要连配置一起备份的话可以用deja-dup或timeshift这类工具做系统快照把整个系统恢复到某个时间点。如果你用的是 Ubuntu Server并且配了软 RAID1mdadm重装时要特别注意不要把 RAID 上的数据盘误格式化。软 RAID 在安装器里通常会显示为两块独立的磁盘很多新手在安装时没进入“配置软件 RAID”的界面直接把其中一块盘格式化了结果数据全丢。正确做法是安装过程中选择“配置 Software RAID”让安装器识别 RAID 设备后再在 RAID 设备上创建分区和文件系统。已经配好 RAID 的重装系统选安装目标时要认准/dev/md0这种设备名不要动组成 RAID 的物理盘。7. 新手常见问题速查表我把前面提到的典型问题整理成一张速查表方便卡住的时候直接翻问题现象常见原因快速解决方式安装系统后直接进 WindowsBIOS 启动顺序设置不当进 BIOS把 Ubuntu/GRUB 启动项调到第一SSH 连不上没装 openssh-serversudo apt install openssh-server并启动SSH 能连但很慢服务器反向 DNS 解析sshd_config 加UseDNS no后重启 ssh虚拟机 ping 不通宿主机网卡模式问题切换为桥接模式重新获取 IP中文输入法选不出候选词显示协议使用 Wayland登录时切换成 GNOME on Xorg 会话搜狗输入法安装了无法切换依赖 fcitx 未装先装 fcitx5 和中文组件再装搜狗gcc command not found系统没装编译工具链sudo apt install build-essentialcmake 版本过低系统源里包太旧用 pip 安装新版 cmakedocker 权限拒绝用户不在 docker 组sudo usermod -aG docker $USER后重登nvidia-smi 无法执行显卡驱动未正确安装ubuntu-drivers autoinstall或重装匹配驱动CH340 串口设备无法访问用户不在 dialout 组sudo usermod -aG dialout $USER重登ls、sudo 等命令全部 not found环境变量 PATH 被覆盖用绝对路径恢复 PATH再修复配置文件装完系统找不到 Windows 启动项GRUB 未识别 Windowssudo update-grub重扫网卡配置出错导致上不了网netplan YAML 缩进错误sudo netplan try测试缩进对齐这张表覆盖的是最常见的入门问题也是我过去几年帮同事、朋友处理 Ubuntu 问题时反复碰到的同款问题。很多问题看起来不一样根因其实都落在引导、网络、权限、依赖这几类上排查思路完全可以套用。最后分享一个我自己的小建议刚接触 Ubuntu 的头两个星期不要急着追求炫酷的桌面美化、各种生产力工具先把终端操作、软件包管理、文件权限、日志查看这些基本功练扎实。遇到问题先看报错信息再journalctl或dmesg查日志往往比直接复制别人答案更能理解系统到底在做什么。我自己是在把/etc/netplan调坏过一次、把显卡驱动装黑屏过一次、把 PATH 弄丢过一次之后才真正对 Ubuntu 有了点感觉。多踩几次坑多手动修几次后面就顺了。