
简介面向 Ubuntu 18.04.6 桌面版装机新手与运维人员的常见问题速查文档围绕启动盘制作、系统安装与分区规划、特定机型驱动适配及日常软件部署展开可作为实际安装部署时的排错参考。包内仅含 1 个 PDF 文件约 172KB篇幅紧凑按启动盘、安装分区、驱动安装、日常应用四个部分组织便于按问题快速定位查阅已有 438 人学习下载。内容给出 rufus 制作 UEFI 与 MBR 启动盘的取舍建议及 USTC 镜像获取途径列出 boot、EFI、swap 与根目录的具体容量分配方案针对联想 E480 无线网卡、航嘉 i7-11700K 缺少以太网卡驱动、Realtek 8125 网卡等机型分别说明驱动来源与命令行安装思路并汇总 Chrome、DBeaver、WPS、搜狗拼音及 Flameshot 截图工具的部署方式适合需要复现装机流程、补齐驱动短板的读者对照使用。1. 一块 2021 年封版的老镜像为什么还有人在装Ubuntu 18.04.6 系统安装这件事我这两年的处理频率反而比新版本高产线上的老工控机、只认证到 bionic 的行业软件、跑在旧至强上的编译机都还停在 18.04。18.04.6 是这条线最后一个点版本桌面端用的仍是老的 Ubiquity 安装器分区交互、引导写入、显卡驱动栈跟后来的版本不是一套逻辑。新版上“下一步下一步就完了”的流程在这块镜像上经常卡在探测硬件、找不到硬盘、装完黑屏。这篇按我实际装机的顺序往下拆介质怎么备、分区怎么切、卡住看哪里、装完怎么验收适合手上有一台必须留在 18.04、又不想在同一处翻车两次的人。2. 介质与固件ISO 校验、启动盘写入、BIOS 四个开关装不上的机器里有相当一部分根本不是系统的问题而是镜像写坏了、U 盘半途掉盘、固件把硬盘藏起来了。这三件事在开机进安装界面之前就能全部排掉成本不到二十分钟能省掉后面两小时对着黑屏的玄学排查。2.1 先校验再写盘一条 sha256sum 省掉两小时ISO 下载中断是最隐蔽的一类故障因为文件大小看起来是对的写盘也不报错直到安装器加载到一半才崩。我一般下完第一件事就是算摘要跟官方SHA256SUMS里对应的那一行逐字符比。别用肉眼看全文用grep把那一行揪出来并排看。# 1) 算本地镜像的摘要4~5G 的盘大概几十秒到几分钟 sha256sum ubuntu-18.04.6-desktop-amd64.iso # 2) 从官方校验文件里只挑桌面版这一行$ 锚定避免匹配到 live-server grep desktop-amd64.iso$ SHA256SUMS # 3) 想确认校验文件本身没被改过再验一次它的 GPG 签名 # 没网或没导入公钥时会失败这一步不是必做项 gpg --keyid-format long --verify SHA256SUMS.gpg SHA256SUMSsha256sum读的是整份文件任何一位不同结果就完全不同没有“接近”这个说法。grep后面那个$很关键18.04.6 同时提供 desktop 和 live-server 两套镜像少了锚定符会匹配到多行人工比对时容易看串。GPG 那步依赖公钥环密钥没导入就报NO_PUBKEY这种失败不代表文件有问题只代表你没法验证签名跳过即可。真正必须一致的是第一步和第二步的两个十六进制串。2.2 启动盘写入dd 的 oflag 与 Rufus 的分区方案怎么对应Linux 下写盘我固定用dd因为 18.04 的 ISO 是混合镜像直接怼到整块设备上就能引导不需要额外工具。唯一要小心的是of后面必须是整盘设备名/dev/sdX写成of/dev/sdX1会得到一个不能引导的 U 盘而且不报错。# 写之前先认设备看 SIZE 和 TRAN 列别把系统盘当 U 盘 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT,TRAN # U 盘可能被桌面自动挂载了先卸掉否则写完缓存不落盘 sudo umount /dev/sdX? 2/dev/null # 写入bs4M 兼顾速度与内存占用oflagsync 让每次写都真正落盘 sudo dd ifubuntu-18.04.6-desktop-amd64.iso of/dev/sdX bs4M statusprogress oflagsync convfsync # 写完回读比对比“看起来写完了”靠谱得多 sudo cmp -n $(stat -c%s ubuntu-18.04.6-desktop-amd64.iso) \ ubuntu-18.04.6-desktop-amd64.iso /dev/sdX echo 写盘一致bs4M是个经验值太小速度上不去太大在某些老 U 盘上反而掉速。oflagsync会牺牲一点速度但能避免“进度条跑完、拔盘一看只写了一半”这个血泪经验在便宜 U 盘上尤其值。最后那条cmp是拿镜像长度做上限逐字节比对输出“写盘一致”才算收工。Windows 下用 Rufus 写盘最容易错的是分区方案主板按 UEFI 引导就要选 GPT按 Legacy/CSM 引导就要选 MBR选错了机器根本不认这个 U 盘。Rufus 识别到 Ubuntu 镜像时会问用 ISO 模式还是 DD 模式正常情况 ISO 模式够用如果写出来的盘启动即报错或者卡在引导菜单换成 DD 模式重写一遍这个组合基本能覆盖所有写盘失败的情况。2.3 固件里必须先改的四个开关U 盘插上去直接进 Windows、安装器提示“未找到任何磁盘”、装完重启进不去系统这三类现象有一半以上能在固件设置里解决。进 BIOS/UEFI 之前先想清楚这台机器最终要以什么方式引导装完再改的代价远大于装前改。开关建议值设错的后果Secure Boot先保持开启装第三方驱动受阻时再关装时关了、装完再开可能直接进不去系统SATA ModeAHCIRST/RAID 模式下安装器扫不到硬盘分区界面一片空白Fast Boot固件关闭U 盘枚举不全开机直接跳过引导菜单进 WindowsFast StartupWindows 电源选项关闭NTFS 分区在 Ubuntu 下变成只读休眠文件白占几个 GVT-x / VT-d需要跑虚拟机时装前打开装完再开部分虚拟化功能要重启才生效Secure Boot 这条值得单独说一句。18.04.6 这个点版本的一大改动就是换上了新的签名密钥正常装系统开 Secure Boot 是能过的。但装 NVIDIA 闭源驱动、VirtualBox 内核模块这类 DKMS 模块时会要求你在蓝底紫框的 MOK 界面手动登记密钥很多人在这里直接卡死。我的做法是装系统时保持开启装驱动前先跑一遍mokutil --sb-state看状态需要登记就在重启时按提示走完实在搞不定再临时关掉而不是一开始就关——装完再开回去的风险比装时关着更大。3. 分区与双系统EFI 分区、swap、GRUB 落盘位置分区这一步在 18.04 的 Ubiquity 里是“安装类型”页面下的“其他选项”交互跟新版安装器差别不小尤其是多硬盘机器。这一步切错轻则重装重则把隔壁 Windows 的数据一起带走。3.1 手动分区的四刀EFI 512M、根分区 40G、swap 与 /home 的比例我自己的固定切法是四块除非机器有特殊用途基本不调挂载点大小类型说明/boot/efi512MFAT32勾 esp/boot 标志已有 Windows 的机器复用现有 ESP不要再建第二个/40~60Gext4系统与软件包装编译器、容器镜像多的话往上加swap内存 1~2 倍需要休眠则不小于内存swap桌面版默认走 swapfile手切分区可以不单独给/home剩余全部ext4重装系统时保留这一块数据不用再搬一次EFI 分区这块有个常见误区机器上已经有 Windows 的 ESP通常 100M 左右装 Ubuntu 时应该直接把它挂成/boot/efi不要新建。一块盘上出现两个 ESP固件能不能正确选到系统全看运气后期修引导也很别扭。反过来如果整盘只装 Ubuntu512M 是个舒服的值太小以后装多个内核版本容易挤爆Ubuntu 的 ESP 塞满会直接导致内核更新失败而且是那种升级过程无声失败的坑。swap 要不要单独给分区取决于你要不要休眠。18.04 桌面版默认用/swapfile手动分区时不建 swap 分区也能正常跑但只要涉及休眠swap 空间必须不小于物理内存否则休眠会失败。内存 32G 以上的机器我一般直接给 4G 分区或者干脆不给靠 swapfile 顶着。3.2 双系统下 GRUB 装哪块盘efibootmgr 与 os-proberUbiquity 在分区页最下面有个“安装启动引导器的设备”这是双系统翻车率最高的一格。多硬盘机器上它默认可能选中你并不想让它引导的那块盘。原则很简单选 Windows 所在的那块盘也就是主引导盘的整盘设备比如/dev/sda而不是/dev/sda1这种分区。装完发现“拔掉 U 盘进不去系统、开机直接进 Windows”八成就是引导写到了 U 盘上。进 live 环境或者开机进 BIOS 手动选 Ubuntu 启动项然后重装一次 GRUB# 看当前所有 EFI 启动项和启动顺序BootOrder 里排第一的就是默认 sudo efibootmgr -v # 确认 /boot/efi 真的挂在 ESP 上没挂上是重装 GRUB 失败的最常见原因 findmnt /boot/efi # 把 GRUB 重新装到指定 ESP--bootloader-id 决定固件里显示的启动项名字 sudo grub-install --targetx86_64-efi --efi-directory/boot/efi --bootloader-idubuntu # 重扫其他系统把 Windows 那条菜单加回来 sudo os-prober sudo update-grubefibootmgr -v输出里每条Boot####后面的路径能看出它指向哪块盘的哪个文件找那个\EFI\ubuntu\grubx64.efi是不是落在了你预期的盘上。findmnt /boot/efi是排错第一步很多时候grub-install报错只是因为启动时 ESP 没挂上。os-prober在 18.04 上是默认开的如果update-grub之后菜单里没有 Windows先确认 Windows 的 ESP 分区在这台机器上还能被扫到。3.3 Windows 快速启动与休眠为什么你的 NTFS 分区是只读的双系统装完Ubuntu 里挂载 Windows 分区只读、复制文件提示权限不足这是 Windows 的快速启动Fast Startup留下的休眠文件在作怪。它让 NTFS 分区处于“未干净卸载”状态Linux 侧的驱动不敢写只能以只读方式挂。在 Windows 里用管理员权限执行一条命令就能关掉代价是开机慢几秒:: 关闭休眠同时清掉 hiberfil.sys释放几个 G 的空间 powercfg /h off关掉之后要完整关机一次不是重启再进 UbuntuNTFS 分区就能正常读写了。这条不改双系统用起来会一直别扭而且是那种“偶尔能写偶尔不能写”的随机状态排查起来很费劲。4. 安装过程卡死黑屏、卡探测、外设失灵、找不到硬盘真正让人抓狂的不是报错是没有任何报错——logo 转圈、屏幕全黑、光标闪。这一类现场基本都能靠内核启动参数救回来关键在于知道每个参数治什么病、副作用是什么。4.1 grub 菜单里按 enomodeset 与 nouveau 的恩怨带独立显卡的机器装 18.04黑屏、花屏、卡在紫色背景的概率非常高。原因是开源 nouveau 驱动在初始化显卡时跟部分芯片对不上而安装器又要起一个图形界面。解法是在引导菜单里临时加参数把内核模式设置关掉。操作路径U 盘启动后出现 GRUB 菜单光标停在Install Ubuntu上按e进入编辑找到以linux开头的那一行在行末---之前加一个空格再加nomodeset然后按F10启动。linux /casper/vmlinuz file/cdrom/preseed/ubuntu.seed quiet splash nomodeset ---nomodeset的意思是让内核不要接管显卡的模式设置交给 BIOS 留下的基本显示模式。代价是没有 3D 加速、分辨率低常见 1024x768、亮度调节失灵但足够把安装流程走完。装完系统后必须把这条参数从硬盘上的 GRUB 配置里删掉否则会一直卡在低分辨率很多人装完发现“分辨率只有 1024x768、调不动”就是忘了这一步。# 永久生效的启动参数在 /etc/default/grub 的 GRUB_CMDLINE_LINUX_DEFAULT sudo sed -i s/ nomodeset// /etc/default/grub sudo update-grubsed这条只是把nomodeset从那一行里摘掉改完一定要update-grub写进/boot/grub/grub.cfg只改/etc/default/grub不生效。如果机器确实需要闭源驱动删掉参数之后紧接着装驱动中间别重启太多次。4.2 卡在探测硬件acpioff、pcinomsi 这类参数什么时候用老主板、老工控机上还有另一类卡死卡在Probing EDD、卡在 ACPI 初始化、或者干脆在启动早期就没有输出。这类问题跟显卡无关是内核在枚举硬件时跟固件打架。常用参数和它们的代价我整理成一张表按现象对号入座一次只加一个别一次全上。参数对应现象副作用nomodeset黑屏、花屏、紫屏无 3D 加速分辨率低nouveau.modeset0同上但只关 nouveau与 nomodeset 接近更精准acpioff卡在 ACPI 探测、老主板无法软关机、风扇常转、CPU 调频失效pcinomsi卡在 PCI 枚举部分设备中断异常noapic老机器 IRQ 冲突同上慎用eddoff卡在 Probing EDD一般无明显副作用acpioff是最后手段用它装完系统后经常出现“点关机变成重启”“电池信息读不到”“风扇一直满转”这些后遗症装完要在能正常引导后把它去掉换成更温和的acpi_osiLinux试试。一次只加一个参数的原因很简单多个参数叠加后你没法判断是哪一个起了作用也没法判断哪个参数带来了新问题排查成本会翻倍。4.3 找不到硬盘与分区失败RST、残留分区表、U 盘口分区界面一片空白、只列出 U 盘不列硬盘按概率排是这三个原因。第一是 SATA 模式没改成 AHCI主板处在 RST/RAID 模式Linux 侧的驱动根本认不到盘。改这一项有个前提机器上已有的 Windows 在改完模式后会因为找不到驱动蓝屏INACCESSIBLE_BOOT_DEVICE。正确顺序是先在 Windows 里用安全模式启动一次让它加载 AHCI 驱动或者改注册表把启动值调成 0再进 BIOS 改模式。直接改会得到一个两边都进不去的机器。第二是盘上有残留分区表安装器在分区阶段报ubi-partman failed with exit code 141这类错误。清掉开头的几个扇区即可但这会把整块盘的数据抹掉执行前确认这块盘上没有要留的东西# 只清前 10MB足以干掉残留的 GPT/MBR 头和分区表备份 sudo dd if/dev/zero of/dev/sdX bs1M count10 # 清完让内核重新读一次分区表 sudo partprobe /dev/sdXcount10是个保险值1M 就够清掉主分区表但 GPT 会在盘尾存一份备份部分安装器会读到那份备份而认为盘还在用多写一点更稳妥。partprobe是为了让当前内核立刻刷新分区视图不清的话你在安装器里可能还是看到旧的分区布局。第三是 U 盘插在 USB 3.0 口上某些老平台的 xHCI 在安装环境下初始化有问题表现是安装到一半键鼠失灵、或者 U 盘突然消失。换到 USB 2.0 口或者在 BIOS 里打开 xHCI Hand-off这类问题基本就没了。5. 排查五类反复翻车的现场现象、根因与解法这一段是我这几年装机记录里出现频率最高的五条每一条都按“现象、根因、解决”记遇到时按顺序对照比从日志从头翻要快得多。一、装完第一次apt update全是 404现象apt update刷出一屏404 Not Found或者提示某个bionic-updates的包找不到。根因换源时只改了一部分行或者把代号写成了别的版本focal、jammy又或者混用了http和https两种协议导致部分行能通部分行不通。18.04 的代号是bionic先确认lsb_release -cs的输出。解决整份/etc/apt/sources.list统一替换主机名别手工改某几行。# 先备份改坏了能立刻还原 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 统一把官方主站换成一个你能访问的国内镜像域名域名按你所在网络实测选 sudo sed -i s|http://.*archive.ubuntu.com|http://你的镜像站域名|g; s|http://security.ubuntu.com|http://你的镜像站域名|g /etc/apt/sources.list # 确认代号和组件没被改花 grep -v ^# /etc/apt/sources.list | grep -v ^$改完apt update还有 404就单独看是哪一行报的那一行的组件名main/restricted/universe/multiverse很可能拼错了。二、装完 NVIDIA 驱动重启黑屏、卡在登录界面循环现象装完显卡驱动重启卡在紫色背景或登录界面输完密码又跳回来。根因三种。装驱动前忘了删掉nomodeset驱动版本跟当前内核不匹配Secure Boot 开着但 DKMS 模块的密钥没在 MOK 界面登记。解决开机在 GRUB 菜单按e临时加nomodeset进系统先卸干净再重装。# 卸掉所有 nvidia 相关包回到开源驱动 sudo apt purge ^nvidia-.* ^libnvidia-.* sudo apt autoremove # 让工具自己挑适配当前硬件的版本比手动指定版本号稳 ubuntu-drivers devices sudo ubuntu-drivers autoinstall # 如果 Secure Boot 是开的检查模块签名登记状态 mokutil --sb-stateubuntu-drivers devices的输出里会标出recommended照它装就行。手动指定一个高版本驱动在 18.04 的老内核上未必有对应模块这是最常见的版本不匹配来源。三、双系统时间差 8 小时现象Windows 里时间是对的切到 Ubuntu 就差 8 小时或者反过来。根因Windows 默认把主板 RTC 当本地时间Linux 默认当 UTC两边对同一个硬件时钟的解释不一样。解决二选一别两边都改。我一般让 Ubuntu 迁就 Windows改动小、可回退。# 让系统把 RTC 当本地时间读执行完立刻同步一次 sudo timedatectl set-local-rtc 1 --adjust-system-clock timedatectl | grep RTC in local TZ输出RTC in local TZ: yes就生效了。如果更想保持 UTC 这种规范做法就去 Windows 里加一个RealTimeIsUniversal的注册表项但那样每台机器都要动 Windows机器多了反而麻烦。四、装完拔掉 U 盘开机直接进 Windows现象安装过程一切正常重启拔盘后固件直接引导 WindowsBIOS 启动菜单里也找不到 Ubuntu。根因安装器的“启动引导器设备”选成了 U 盘GRUB 的 EFI 文件写在了 U 盘上拔掉就没了。解决用 live 环境或 BIOS 手动选中硬盘上的 Ubuntu 启动项进去按 3.2 里的grub-install重装一次到正确的磁盘。如果没有可选的启动项进 live 环境挂载根分区后 chroot 再装装完efibootmgr -v确认多出一条指向硬盘的Boot####。五、中文输入法装完不出现在托盘现象apt install显示装好了但右上角没有输入法图标或者切过去打不出中文。根因输入法框架没设成默认或者环境变量没配程序启动时压根没去找 fcitx。解决确认框架、设默认、补环境变量三步缺一不可。# 装 fcitx 和拼音引擎 sudo apt install fcitx fcitx-googlepinyin fcitx-config-gtk # 把系统输入法框架切到 fcitx im-config -n fcitx # 环境变量写进 ~/.profile覆盖 GTK/Qt/ X 三套程序 cat ~/.profile EOF export GTK_IM_MODULEfcitx export QT_IM_MODULEfcitx export XMODIFIERSimfcitx EOF写完要重新登录。18.04 默认框架是 ibus只装 fcitx 不切默认托盘里当然什么都没有这是最容易被忽略的一步。6. 装完别急着交机器一份可复现的验收脚本装完能进桌面不等于能交付。我更愿意在把机器推走之前跑一遍自检把源、驱动、时间、引导、swap 这五项固定查一遍比事后被人喊回去修要省事。#!/usr/bin/env bash # 18.04 装机后自检只读检查不改任何配置 set -u echo 代号应输出 bionic; lsb_release -cs echo 源是否已替换; grep -rl archive.ubuntu.com /etc/apt/sources.list || echo 已换源 echo apt 解析; sudo apt-get update -qq apt-get -s upgrade /dev/null echo OK echo 显卡与驱动; lspci -nnk | grep -A3 -i vga; lsmod | grep -E nvidia|nouveau echo 启动参数不该再有 nomodeset; grep -o nomodeset /proc/cmdline || echo 干净 echo 时间; timedatectl | grep -E RTC in local|synchronized echo 引导项; sudo efibootmgr | head -5 echo swap; swapon --show; free -h用法很直接bash check.sh report.txt每台机器留一份文本出问题时拿它跟正常机器对比比回忆“当时装了什么”可靠得多。/proc/cmdline那一条是我最看重的nomodeset忘了删是装完分辨率异常的头号原因而它藏在启动参数里图形界面里根本看不出来。顺手再留一个习惯装完软件后把手工安装的包导出一份清单下次装同型号机器就不用一个个想。apt-mark showmanual ~/pkglist.txt # 新机器上批量还原 xargs -a pkglist.txt sudo apt install -yshowmanual只列你手动装过的不包含依赖树里的自动包清单短且干净xargs -a是把文件当参数喂给apt install注意清单里如果有已经下架的包会中途报错加-y之前先apt-get -s空跑一遍更稳。踩过最贵的一次坑是在一台双硬盘机器上没看lsblk就直接dd把准备装系统的盘和移动硬盘的顺序记反了。从那以后我的顺序就固定成先lsblk认设备再校验镜像再写盘装之前efibootmgr看一眼现有启动项装完跑一遍自检脚本。这套流程没让装机变快但让“装完才发现不对”的概率降到了几乎为零。希望帮到你。本文还有配套的精品资源点击获取