1. 想清楚再动手Ubuntu安装前的三个决策每次有人问我想学Linux第一步干什么我的答案从来都不是去买本书或者先背命令大全而是直接装一个Ubuntu上手用。原因很朴素Linux这东西的手感是靠敲出来的不是靠看出来的。你在图形界面里点错一次、在终端里敲错一条命令、在分区表上犹豫一次那种肌肉记忆比看十篇教程都管用。这篇内容主要围绕Linux系统下Ubuntu的下载和安装来讲覆盖从选版本、下镜像、做启动盘到虚拟机安装、物理机双系统安装再到装完之后必须要做的几项配置。我会把每一步背后的为什么这么选讲清楚而不是甩给你一堆截图让你照着点。适合三类人看完全没碰过Linux系统的新手、装过一次但装完就不知道该干什么的半新手、以及想把这套流程固化成团队标准操作流程的老手。1.1 为什么建议新人从Ubuntu入门LinuxLinux发行版的数量多到能让人犯选择困难症Debian、CentOS、Fedora、Arch、openSUSE每一个都有自己的拥趸。但如果你只是想快速进入这个生态、能搜到足够多的中文资料、装软件的时候少踩点坑那我依然认为Ubuntu是最省心的起点。最直接的理由是软件生态和社区资料的密度。你遇到任何问题把报错信息往搜索框里一贴大概率能翻到五年前就有人问过、并且已经有了答案的帖子。对于新手来说能不能搜到答案这件事的权重远高于这个发行版是不是最先进。Arch很好文档也很棒但它的哲学是让你自己动手拼装新手很容易在第一步就卡死。第二个理由是Ubuntu的更新节奏对新手友好。它的LTS长期支持版本每两年发一次维护周期五年意味着你装一次可以用很久不用折腾。相比之下滚动更新的发行版每隔几周就要滚一次滚崩了还得自己救这对刚接触Linux的人来说属于额外的心智负担。第三是它对国产软硬件生态的适配近年来确实在变好。很多国内厂商发布的Linux版本软件默认打包的目标平台就是Debian/Ubuntu系.deb包直接双击或者dpkg -i就能装省去了从源码编译的痛苦。这一点在你需要装日常办公、通讯、输入法这类软件的时候体现得特别明显。提示如果你所在的环境对系统有特殊合规要求选版本前先跟相关同事确认一下别装完了才发现不符合内部规范白折腾一趟。1.2 物理机、虚拟机、双系统到底选哪个这是安装前必须做的第一个决策选错了后面全是返工。我见过太多人一上来就要装双系统结果把Windows的引导搞挂了花一晚上救数据。我的建议是按目的选方式而不是按哪个更酷选。安装方式适合人群优点代价虚拟机安装Ubuntu纯新手、想先试试水、需要同时用Windows办公零风险装坏了删掉重建能随时拍快照回滚性能有损耗图形界面略卡双系统安装想长期用、需要独显性能、要跑编译或训练任务性能完整开机可切换分区操作有风险引导容易出问题整机安装Ubuntu有备用机器、做服务器或者专职开发最干净资源全部给Linux原来系统没了得提前备份如果你是第一次接触Linux我强烈建议先用虚拟机走一遍完整流程。原因很简单虚拟机能拍快照。你在里面做任何危险操作之前拍一张搞崩了一键回到过去这种试错成本为零的环境是新手最需要的。等你把终端用顺手了知道sudo是干什么的了再去考虑双系统。至于那些明确要在Linux下做开发的人比如需要跑一些只支持Linux的工具链、做嵌入式交叉编译、或者做内核相关的研究那双系统或者整机才是正路。虚拟机跑编译任务的时候那个速度会让你怀疑人生尤其是大型工程的全量编译虚拟机的磁盘IO会成为明显瓶颈。1.3 硬件与版本选择的具体建议硬件这块先给你一条经验值虚拟机上跑Ubuntu宿主机内存至少16GB给虚拟机分4GB是底线8GB才算舒服。硬盘方面虚拟机镜像建议留60GB以上Ubuntu系统本身装完大概占8到10GB但你后面装的开发工具、Docker镜像、数据集会迅速把这个数字撑大我自己的开发机虚拟机镜像三天两头就跑到50GB以上。CPU核心数给2到4个就够日常用了如果你的宿主机是8核16线程的给虚拟机4核完全没问题不会明显影响宿主机。但要注意一点不要开启虚拟机的嵌套虚拟化去跑Docker或者再套一层虚拟机除非你确实需要否则性能损失非常明显而且很容易出现各种诡异问题。版本选择上认准LTS版本。目前主流的选择是Ubuntu 22.04 LTS和24.04 LTS。22.04的资料最全、兼容性验证最充分很多企业级软件和驱动的官方支持列表里都有它24.04比较新内核版本高对新硬件的支持更好但偶尔会碰到某些第三方软件还没适配的情况。如果你是想稳选22.04如果你的机器比较新比如最新的CPU或者显卡选24.04可能会少一些驱动上的麻烦。另外提醒一个坑下载的时候看清楚是Desktop版还是Server版。Desktop带图形界面适合个人用Server版没有图形界面默认就是个纯命令行环境适合做服务器。新手要是手滑下了Server版装完开机一脸黑屏只有登录提示符会很懵。2. 镜像下载与启动盘制作别在这一步栽跟头我统计过身边人装Ubuntu失败的原因排在第一位的是镜像文件本身有问题。要么是下载中断导致文件损坏要么是下到了被人改过的镜像要么是启动盘制作工具把镜像写坏了。这些问题在安装过程中表现出来的症状五花八门——黑屏、卡在某个界面、报奇怪的错误——但真正的病根都在源头。所以我把这一章单独拎出来讲。2.1 版本怎么选LTS和普通版的差距在哪先把这个概念说透。Ubuntu的版本号是年份.月份的格式比如22.04就是2022年4月发布的。其中尾号是04的一般是4月发布10的是10月发布。带LTS字样的是长期支持版本不带的是普通版本官方叫interim release。普通版本的支持周期只有9个月也就是说你装了24.10到25年7月左右就不再收到安全更新了。而LTS版本桌面版支持3年、服务器版支持5年还有扩展安全维护可以再延长。对于要长期使用的机器来说每隔9个月重装一次系统显然不现实所以LTS是唯一理性的选择。还有一层差异在于软件包的版本。LTS版本为了稳定性会把软件包的版本冻结在一个相对保守的区间比如某个库在LTS里可能是1.2版本而普通版本里已经是1.6了。这带来的后果是某些需要较新依赖的软件在LTS上装不上得自己加PPA或者从源码编译。这也是为什么有些人抱怨Ubuntu的软件太老。我的处理方式是主力工作机装LTS保证稳定需要新版本工具的时候用容器或者版本管理工具隔离。比如Python用pyenv管、Node用nvm管就不会被系统自带的版本限制住。这比为了新版本去装普通版、然后每隔几个月面对一次升级要划算得多。2.2 下载渠道与校验的实操下载渠道只认一件事官方或者官方认可的镜像站。Ubuntu中文官网、官方releases目录、以及国内几所高校的镜像站都是可靠来源。国内镜像站的好处是速度飞快一个2GB多的镜像文件几分钟就能下完比从境外源拉快得多。下完之后有一件事千万别跳过校验哈希值。这一步能帮你确认文件在传输过程中没有损坏也没有被人动过手脚。官方会提供SHA256SUMS文件和对应的签名文件你下载完镜像后跑一条命令比对即可# 计算下载文件的SHA256 sha256sum ubuntu-22.04.4-desktop-amd64.iso # 查看官方给出的值 cat SHA256SUMS | grep desktop-amd64两串字符串一模一样才算下载成功。这一步大概花你三十秒但能省掉后面可能浪费的一小时。我遇到过好几次下载到99%然后网络抖动导致文件尾部损坏的情况表面看文件大小对得上装的时候才报错非常隐蔽。注意如果校验值对不上不要抱着说不定能用的心态去装。重新下载别在这个环节省时间。另外顺便说下文件名里那些字段的含义很多人看着一头雾水。ubuntu-22.04.4-desktop-amd64.iso里22.04.4是版本加小版本号desktop是桌面版amd64指的是64位x86架构。如果你用的是ARM架构的机器比如某些国产芯片平台或者苹果的M系列芯片那要下的是arm64版本。下错了架构启动盘做出来也是白搭。2.3 启动盘制作的两种姿势启动盘这东西Windows下最常用的是Rufus和VentoyLinux下用dd命令或者 balenaEtcher 都行。我分开讲。Rufus的优点是小、快、免安装插上U盘打开就能用。分区类型选GPT还是MBR取决于你的目标机器是UEFI还是Legacy BIOS现在新机器基本都是UEFI选GPT。文件系统用FAT32就行。这里有个小坑Rufus会问你是用ISO镜像模式还是DD镜像模式写入大部分情况选ISO模式DD模式会把U盘变成只读的原始磁盘映像之后想格式化都麻烦。Ventoy是我现在最推荐的方案。它的思路和传统工具不一样你先把Ventoy装到U盘上之后只需要把各种ISO文件像拷文件一样拖进去启动的时候Ventoy会给你一个菜单让你选要启动哪个镜像。一个U盘里塞十个不同版本的Linux ISO完全没问题装机、救系统都方便。装机师傅的U盘里基本都装了这个。Linux下用dd是最原始也最可靠的方式一条命令搞定# 先确认U盘的设备名千万别搞错 lsblk # 写入镜像of后面跟的是U盘设备不是分区 sudo dd ifubuntu-22.04.4-desktop-amd64.iso of/dev/sdb bs4M statusprogress oflagsync这里的if是输入文件of是输出设备bs4M是块大小statusprogress让你能看到进度oflagsync保证数据真正写完再返回。dd这个命令最大的风险是of写错设备把你的系统盘给覆盖了。所以执行前一定要用lsblk反复确认看容量、看挂载点确认无误再敲回车。用dd的时候整个U盘会被清空里面有东西记得先备份。启动盘做好之后还有一个经常被忽略的点U盘的写入缓存。有些系统在提示写入完成之后其实还在后台刷数据你一看完成就拔U盘结果启动盘做了一半。稳妥的做法是执行一次sync命令等它返回之后再拔。3. 虚拟机安装Ubuntu全流程实操这一章是重头戏。我用VMware Workstation来演示VirtualBox的流程基本一致只是菜单位置不同。整个流程我拆成四步虚拟机参数配置、分区方案、安装向导选项、以及装完之后的增强工具。3.1 虚拟机参数配置的计算过程新建虚拟机的时候向导会问你一堆参数。我一个个说怎么算。内存宿主机16GB我给虚拟机4GB宿主机32GB我给8GB。这条线怎么来的Ubuntu桌面版空载状态下大概吃700MB到1GB内存开个浏览器加编辑器就到2.5GB了再开个IDE就奔4GB去了。所以4GB是能用的底线8GB是舒服的配置。超过宿主机一半内存给虚拟机宿主机自己就会开始疯狂换页体验反而更差。处理器给2核起步4核舒服。注意这里指的是虚拟核心数不要超过宿主机物理核心数的一半否则宿主机和虚拟机抢CPU双方都卡。磁盘这里有个关键选项叫将虚拟磁盘存储为单个文件还是拆分成多个文件。我建议选单个文件因为读写性能更好尤其是做编译的时候差距能感觉到。磁盘大小建议填60GB到80GB并勾选立即分配所有磁盘空间还是按需分配——按需分配就行能省宿主机空间性能损失在SSD上可以忽略。网络模式这是新手最容易懵的地方我展开讲。网络模式表现适用场景NAT虚拟机能上网宿主机访问不到虚拟机只是上网查资料、装软件桥接虚拟机像一台独立设备接入局域网有独立IP需要从宿主机SSH连接虚拟机仅主机只能和宿主机通信不能上外网纯隔离的测试环境我的建议是用桥接因为后面你要从宿主机SSH连接Ubuntu或者从Ubuntu起个服务让宿主机访问桥接是最省事的。NAT模式下你得配端口转发多一道手续。桥接的前提是你的局域网有DHCP能分配IP一般家里和公司网络都有。3.2 分区方案的取舍Ubuntu的安装向导提供两种模式清除整个磁盘并安装和手动分区。在虚拟机里直接选第一种就行因为整个虚拟磁盘都是给它用的没有共存的问题。但如果你想理解分区这件事我建议还是在虚拟机里手动分一次就当练手。标准的分区方案大概是这样/根分区ext4格式给25GB到30GB。系统文件和大部分软件都在这/home家目录ext4格式剩下的空间全给它。你的文档、下载、代码都在这里swap交换分区大小按内存的1到2倍给。休眠和内存不足时会用到这种划分的好处是重装系统的时候你可以只格式化/分区/home里的个人数据能保留下来。很多人第一次装系统不懂这个把数据都堆在根分区重装的时候一格式化全没了。还有一个选项叫LVM逻辑卷管理默认是勾上的。它的价值在于以后想调整分区大小的时候不用重新分区直接从卷组里扩就行。虚拟机里开着没坏处物理机上如果你不确定要不要用开着也挺好。注意物理机上手动分区前务必用lsblk或者分区工具确认一遍哪个盘是哪个。我见过把整个移动硬盘当系统盘格式化掉的情况数据恢复花了大几千。安装类型那里还有个其他选项点进去能看到更细的配置比如引导程序安装到哪个设备。双系统的时候这个选项很关键后面第四章会讲。3.3 安装向导每一步的选项该怎么填虚拟机开机后从ISO引导会先出一个语言选择界面选中文或者英文都行。我一般选英文原因是很多报错信息用英文搜索命中率更高中文界面下的报错翻译质量参差不齐。你要是英文基础一般选中文也完全没问题。接下来是安装Ubuntu还是试用Ubuntu。点试用会进一个Live环境你可以先体验一下再决定要不要装。这个Live环境还有个用处系统救急。如果某台机器的系统起不来了用Ubuntu的Live U盘引导进去能读取硬盘数据、能修引导、能拷文件出来是个非常实用的应急工具。然后是键盘布局、更新和其他软件。这里有两个选项要注意安装时下载更新和安装第三方软件。我的建议是第一次装的时候两个都不勾。原因是安装过程中下载更新会显著拉长安装时间而且如果网络有问题安装可能会卡住甚至失败。等系统装完进了桌面再慢慢配源、更新可控性更强。第三方软件里包括了显卡驱动、WiFi驱动、媒体解码器这些物理机上装了有好处虚拟机上装了反而可能引显卡驱动冲突。安装类型选清除整个磁盘用户名密码那步记得设个自己记得住的密码别设太简单因为后面sudo要频繁输密码。有一个选项是自动登录虚拟机里图方便可以勾物理机上就别勾了。整个安装过程大概10到20分钟看你的磁盘速度和是否联网。进度条走完之后提示重启重启前记得把ISO从虚拟机光驱里卸载否则会又从安装盘启动陷入循环。3.4 装完之后的增强工具与共享目录虚拟机装完Ubuntu第一件事是装VMware Tools或者open-vm-tools。2020年之后Ubuntu官方推荐用开源版本的open-vm-tools直接在软件源里就有sudo apt update sudo apt install open-vm-tools open-vm-tools-desktop -y装完重启你会立刻感觉到几个变化鼠标能在宿主机和虚拟机之间无缝移动不用按快捷键了、分辨率能自适应窗口大小了、宿主机和虚拟机之间的复制粘贴通了、还能拖拽文件。这几个功能对日常使用体验的提升是巨大的属于装完必装的工具。如果你用的是VirtualBox对应的叫Guest Additions流程类似。共享目录的配置在虚拟机设置里加一条共享文件夹勾上总是启用然后在Ubuntu里访问/mnt/hgfs/目录就能看到。如果看不到需要手动挂载sudo mkdir -p /mnt/hgfs/share sudo vmhgfs-fuse .host:/share /mnt/hgfs/share -o allow_other这个方法每次重启都要重新挂载想永久生效就往/etc/fstab里加一条但fstab写错会导致系统起不来建议先测试好再写。4. 物理机与双系统安装的差异点如果你已经用虚拟机熟悉了流程接下来上物理机有几个关键差异必须搞清楚否则容易翻车。虚拟机里你怎么折腾都伤不到宿主机物理机上一步走错可能就是几个小时的数据恢复。4.1 UEFI、Secure Boot与引导方式现在的机器基本都是UEFI引导配套两个概念要搞明白UEFI和Legacy BIOS是两套引导体系Secure Boot是UEFI下的一个安全特性。UEFI启动需要一个EFI系统分区一般100MB到500MB格式是FAT32。你在做启动盘的时候如果目标机器是UEFI的启动盘也得按UEFI方式做GPT分区表否则可能出现U盘能识别但启动不了的情况。Secure Boot这东西它的设计目的是防止恶意软件在系统启动前加载。但问题是Linux的引导程序很多时候没有微软签名的证书开启Secure Boot的情况下会拒绝引导。绝大多数安装指南都会让你先去BIOS里把Secure Boot关掉。但这里要说清楚Ubuntu其实对Secure Boot的支持相对较好官方引导程序是有签名的。所以有些机器上开着Secure Boot也能正常装Ubuntu。不过第三方驱动尤其是NVIDIA显卡驱动在没有签名的情况下会被拒绝加载。所以如果你要装独显驱动还是建议先把Secure Boot关掉装完驱动再考虑要不要开回来。关Secure Boot的方法开机按F2或者Del进BIOS不同品牌按键不同联想一般是F2或者FnF2戴尔是F2惠普是F10找到Security选项卡下的Secure Boot改成Disabled保存退出。有些机器还有个Load Setup Defaults的选项改完记得别顺手点它会把你的设置重置掉。4.2 磁盘分区与引导顺序的处理双系统的分区是最需要谨慎的环节。假设你Windows已经占了整块盘需要在上面腾出空间。第一步是在Windows里用磁盘管理压缩出一个不小于50GB的未分配空间。建议压缩出至少80GB因为Linux的软件和缓存增长很快。压缩完之后不要格式化这个空间让它保持未分配状态Ubuntu安装程序会更方便地处理。第二步是安装Ubuntu的时候选其他选项手动指定分区从那个未分配空间里划1GB左右做EFI系统分区挂载点选/boot/efi。如果你Windows已经有一个EFI分区了其实是共用同一个不用再新建直接只指定挂载点不格式化即可。新建一个独立的EFI分区也可以但会增加引导配置的复杂度划20GB到30GB做/根分区ext4格式格式化剩下的空间做/homeext4格式格式化内存够大的话swap可以不单独分区用swapfile代替最关键的一步在页面底部安装启动引导器的设备。这里默认会选你新划的那个EFI分区如果你的机器是UEFI启动的保持默认基本没问题。有些老教程会让你选整个硬盘比如/dev/sda那是Legacy BIOS时代的做法现在按UEFI的规范应该指向EFI分区。安装完成重启后你会看到一个GRUB菜单里面有Ubuntu和Windows Boot Manager两个选项默认几秒后自动进Ubuntu。如果重启后直接进了Windows说明GRUB没装好或者引导顺序不对需要在BIOS里把Ubuntu的ubuntu启动项调到第一位或者用efibootmgr命令调整顺序。4.3 双系统时间错乱与显卡驱动这两个是双系统安装后的经典问题几乎人人都会遇到。时间错乱的表现是在Windows里时间正常切到Ubuntu时间就差了8小时或者相反。根本原因是Windows默认把BIOS里的硬件时钟当成本地时间localtime而Linux默认把硬件时钟当成UTC时间。两边理解不一致就差了时区的那8个小时。修复方式有两条路改Windows或者改Linux。我推荐改Linux因为它只影响一个系统timedatectl set-local-rtc 1 --adjust-system-clock这条命令让Ubuntu也把硬件时钟当本地时间和Windows保持一致。执行完timedatectl看输出RTC in local TZ显示为yes就对了。显卡驱动是另一个高频问题。Ubuntu默认装的是开源的nouveau驱动功能上够用但性能差、发热高、外接显示器可能有问题。要装官方驱动最省事的办法是用系统的附加驱动工具打开软件和更新切到附加驱动标签它会自动检测并推荐合适的NVIDIA驱动版本选proprietary那个装上就行。如果你想用命令行装流程大概是# 查看推荐的驱动版本 ubuntu-drivers devices # 自动安装推荐版本 sudo ubuntu-drivers autoinstall # 重启生效 sudo reboot装完重启之后用nvidia-smi验证一下能正常输出显卡信息就成功了。如果重启后卡在黑屏或者logo界面进不去桌面那大概率是驱动装错了需要进恢复模式卸掉重装。注意装显卡驱动之前先把重要工作保存好。驱动装崩导致进不去桌面是很常见的情况虽然能救但你要花时间。稳妥的做法是先拍个虚拟机快照如果是虚拟机或者提前准备好一个Live U盘以备不时之需。5. 首次开机后的必做配置清单系统装完只是开始接下来这几项配置决定了你用起来顺不顺手。我按优先级排了序前两项建议第一时间做后面的可以按需。5.1 软件源、更新与镜像站替换Ubuntu默认的软件源在国外下载速度感人。换国内镜像站之后apt install的速度能有数量级的提升。备份原配置文件然后编辑源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s|http://archive.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo sed -i s|http://security.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g /etc/apt/sources.list sudo apt update24.04之后的版本源配置改到了/etc/apt/sources.list.d/ubuntu.sources这个文件里用的是deb822格式替换方法略有不同改的时候看下文件内容结构。改完之后跑apt update看下载速度是否有明显提升。换完源之后做一次全量更新sudo apt update sudo apt upgrade -y如果有人问要不要做dist-upgrade我的建议是日常用upgrade就够了dist-upgrade会处理依赖关系的变化可能卸载一些包除非你明确知道要做什么否则别用它。升级内核之后记得重启一次。5.2 中文输入法配置的完整流程Ubuntu默认带的输入法框架是IBus中文输入是拼音能用但体验一般。想要好用的我推荐装Fcitx5加拼音引擎或者装搜狗输入法。Fcitx5的方案更干净先从源里装sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-frontend-gtk3 fcitx5-frontend-qt5 -y装完之后在语言支持里把输入法框架切成fcitx5或者直接在~/.profile里加环境变量然后配置输入法# 编辑环境变量文件 echo export GTK_IM_MODULEfcitx ~/.profile echo export QT_IM_MODULEfcitx ~/.profile echo export XMODIFIERSimfcitx ~/.profile环境变量配置错误是中文输入法不生效的头号原因。很多人装完了输入法却发现在某些程序里打不出中文就是这三个变量没设对或者设了没生效。改完~/.profile之后要重新登录一次不是重启终端是注销再登录。搜狗输入法的方案从官网下载deb包之后sudo dpkg -i sogoupinyin_*.deb sudo apt install -f第二条命令是用来修复依赖的因为搜狗包经常有依赖缺失。装完之后同样要配Fcitx框架。输入法这块还有个反复出现的问题装完之后切换快捷键冲突。默认CtrlSpace切换中英文但很多IDE里这个组合键有自己的用途。建议改成SuperSpace或者Shift之类的在输入法配置里自己调。5.3 开发环境gcc、cmake与docker的安装如果你要写代码基础工具链先装上sudo apt install build-essential cmake git curl wget vim -ybuild-essential是个元包里面包含了gcc、g、make、libc开发库这些编译必需的东西。装完之后gcc --version验证一下。gcc安装失败的情况有两种常见原因一是源没换好导致下载超时二是之前的apt进程没结束导致锁文件被占用。第二种情况的报错信息里会提到Could not get lock /var/lib/dpkg/lock处理方式是查一下有没有apt或者dpkg进程在跑确认没有之后把锁文件删掉再重试ps aux | grep -i apt sudo rm /var/lib/dpkg/lock-frontend sudo dpkg --configure -aDocker的安装用官方脚本最省事curl -fsSL https://get.docker.com | sudo bash sudo usermod -aG docker $USER第二条命令把你加到docker组这样以后跑docker命令不用每次都sudo。执行完必须重新登录才生效这一点很多人忘了然后发现还得sudo。注意加docker组相当于给了这个用户很高的权限在共享机器上要谨慎。国内拉取Docker镜像慢的话配一下镜像加速器编辑/etc/docker/daemon.json{ registry-mirrors: [你的镜像加速地址] }改完sudo systemctl restart docker重启服务。加速地址各个云厂商都有提供选一个自己常用的就行。5.4 SSH配置与远程连接排错很多人装Ubuntu的目的就是当远程开发机或者服务器用那SSH必须配好。Ubuntu桌面版默认不安装SSH服务端需要自己装sudo apt install openssh-server -y sudo systemctl enable --now ssh sudo systemctl status ssh三条命令分别是安装、设置开机自启并立即启动、查看状态。状态里看到active (running)就说明起来了。SSH连不上是新手最常见的问题排查顺序我整理成了一张表现象可能原因排查命令Connection refusedssh服务没起或者端口不对systemctl status ssh、ss -tlnp | grep 22Connection timed out网络不通、防火墙拦截ping 目标IP、sudo ufw statusPermission denied密码错、用户名错、密钥不对换ssh -v看详细日志Host key verification failed服务器重装过本地缓存了旧指纹ssh-keygen -R 目标IPssh -v这个参数非常有用它会打印出整个握手过程的详细日志卡在哪一步一目了然。遇到问题先加这个参数比瞎猜强得多。如果开了防火墙记得放行SSH端口sudo ufw allow 22/tcp。Ubuntu的ufw默认是关闭的但你如果开过它规则就得配好。5.5 网络与DNS问题的处理网络配置这块Ubuntu从18.04之后用了Netplan来管理配置文件在/etc/netplan/目录下YAML格式。改配置的时候缩进必须用空格不能用Tab这是YAML的硬性要求用Tab会直接报解析错误。DNS的问题是高频故障。表现是能ping通IP地址但域名解析不了。临时解决方法是改/etc/resolv.conf但这个文件在Ubuntu上通常是个指向systemd-resolved的符号链接你直接改会被覆盖。正确的做法是改Netplan配置network: version: 2 ethernets: ens33: dhcp4: true nameservers: addresses: [223.5.5.5, 119.29.29.29]改完执行sudo netplan apply生效。注意ens33是你的网卡名用ip a命令查一下实际的接口名。如果遇到网络配置把系统搞到断网了也别慌。sudo netplan try这个命令会应用配置并给你120秒确认时间不确认就自动回滚比直接apply安全得多。6. 高频故障排查速查这一章是我这些年遇到过的、被问得最多的问题汇总。每个都给出症状、原因和解决方法方便你对照排查。6.1 安装阶段的黑屏、卡死与找不到磁盘安装时黑屏最常见的原因是显卡驱动。Ubuntu的安装镜像里头的开源驱动对某些新显卡支持不好导致图形界面起不来。解决办法是在GRUB菜单里选Install Ubuntu那一项按e编辑启动参数在quiet splash后面加上nomodeset然后按F10启动。这个参数会禁用内核模式设置用基础的显示模式启动装上系统之后再装正确的显卡驱动。安装过程卡在某一步不动比如卡在正在探测文件系统或者分区那一步。可能的原因有几个磁盘有坏道、ISO镜像损坏、USB接口供电不足。先换一个USB口试试最好是主板后置的口不行就重新校验镜像、重做启动盘。找不到硬盘尤其是装在一些新笔记本上的时候。这可能是因为硬盘工作在RAID模式而不是AHCI模式Ubuntu的安装程序看不到。进BIOS把SATA模式从RAID改成AHCI就能看到。但要注意如果Windows已经装在RAID模式下改成AHCI可能导致Windows起不来。这种情况得先在Windows里做注册表修改或者在Linux里装相应的驱动别直接改。6.2 中文乱码与解压乱码Linux解压文件乱码是我被问得最多的具体问题之一。本质原因是Windows下压缩的文件名用的是GBK编码而Linux默认用UTF-8去解读编码不匹配就成了乱码。处理办法根据文件类型不同# zip文件指定编码解压 unzip -O gbk 文件名.zip # 7z文件 7z x 文件名.7z -mcp936 # rar文件 unrar x 文件名.rar如果unzip -O参数报不支持那就需要装增强版sudo apt install unzip某些老版本不支持这个参数可以改用convmv工具转换文件名编码convmv -f gbk -t utf-8 -r --notest 目录名终端里中文显示成方块这是因为终端用的字体没有中文字形。在终端设置里把字体换成一个带中文的等宽字体比如Noto Sans Mono CJK SC或者文泉驿等宽正黑装一下就能解决sudo apt install fonts-noto-cjk fonts-wqy-zenhei -y装完重启终端方块就变成正常的中文了。6.3 引导丢失与系统起不来GRUB丢失是双系统用户最常见的灾难。表现是开机直接进Windows或者出现grub rescue提示符。修复方法是用Ubuntu的Live U盘启动进试用模式然后# 查看分区找到你的根分区和EFI分区 sudo fdisk -l # 挂载根分区 sudo mount /dev/nvme0n1p5 /mnt # 挂载EFI分区 sudo mount /dev/nvme0n1p1 /mnt/boot/efi # 挂载必要的虚拟文件系统 for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done # chroot进去重新安装grub sudo chroot /mnt grub-install /dev/nvme0n1 update-grub exit这套流程的关键是搞清楚你各个分区的设备名。nvme0n1是NVMe硬盘的命名SATA硬盘是sda。设备名搞错了操作就会出问题所以每一步都用lsblk或者fdisk -l核对一遍再做。这套操作在虚拟机里练几次就熟了真出问题的时候不至于手忙脚乱。6.4 磁盘空间不足与清理思路用了一段时间之后/或者/var分区爆满是常事尤其是装了Docker之后。先用df -h看哪个分区满了然后用du定位大目录# 看根目录下各文件夹占用排序 sudo du -h -d 1 / 2/dev/null | sort -rh | head -20几个常见的空间消耗大户Docker的镜像和容器数据在/var/lib/docker清理用docker system prune -aapt的下载缓存在/var/cache/apt/archives清理用sudo apt clean日志文件在/var/log用sudo journalctl --vacuum-size200M限制日志大小老内核会累积用sudo apt autoremove --purge清理我的做法是给/分区留够空间至少30GB然后定期跑一次清理脚本。VPS上用久了不清理很容易某天早上起来发现服务全挂了原因就是磁盘满。注意docker system prune -a会删掉所有没在运行的镜像包括你还没用但下载好的。执行前确认一下别把花了半天拉的镜像清掉了。7. 我在反复装机中总结的几条私房建议装机这件事装到第五次以后你就会发现流程本身不难难的是各种意外。我把这些年踩过的坑浓缩成几条希望能帮你少走点弯路。第一条给虚拟机拍快照。这是零成本的安全网。装驱动前、改配置前、做任何有风险的操作前拍一张。做崩了直接回滚比修快一百倍。物理机上没有快照那就养成备份重要配置文件的习惯/etc下改过的文件都留个.bak。第二条命令执行前先想三秒。尤其是rm -rf、dd、mkfs、fdisk这几个它们造成的破坏基本不可逆。看到网上抄来的命令先看清楚每个参数是干什么的再执行别闭着眼睛复制粘贴。我见过太多rm -rf $VAR/里变量为空导致删根目录的惨案。第三条出问题先看日志。图形界面报的错往往很模糊真正的信息都在日志里。journalctl -xe看systemd的日志dmesg | tail看内核消息/var/log/下的各种日志文件这些才是定位问题的关键。学会看日志比背多少命令都有用。第四条别追新。系统用LTS软件用长期维护的稳定版本驱动用官方推荐的版本。追新带来的那点性能提升或者新特性远不如节省下来的排错时间值钱。等你对这套系统足够熟悉了再去折腾那些前沿的东西。第五条把过程记录下来。我有个专门的文件记录每台机器装了什么版本、分区怎么划的、配了哪些特殊参数、遇到过什么问题怎么解决的。过一两年重装的时候翻出来一看省掉大量回忆时间。这个习惯在我管理多台机器之后价值越来越大。第六善用虚拟机做实验。想试新版本、想改危险配置、想验证一个不确定的操作先扔到虚拟机里跑一遍。确认没问题再上真机。虚拟机的资源成本很低比真机翻车的代价小得多。最后说一句关于学习路径的看法。装完系统之后别急着去背命令大全。从解决实际问题出发去学想装个软件学apt想看文件学ls、cat、less想批量处理学grep、sed、awk。带着问题去查、去试命令会在用的过程中自然记住。反过来为了背命令而背命令很快就会忘光还容易在真正需要的时候想不起来该用哪个。装Ubuntu这件事本身就是最好的入门第一课它会逼着你去理解分区、引导、软件包管理、权限这些Linux的核心概念。装完一次你对这个系统的理解会比看十篇文章都扎实。