☰
Debian 12 安装避坑指南:分区、引导与验收全流程
2026/10/24 2:37:32 网站建设 项目流程

简介:这份资源是面向Linux初学者与有一定基础用户的Debian安装入门教程,围绕从准备到首次系统维护的完整流程展开,帮助读者解决安装媒介制作、网络配置、磁盘分区、用户设置、软件更新与安全加固等实际问题。资源包共98个文件,以80个png截图和15个html页面为主体,辅以css样式与ico图标,压缩包约959KB,采用图文网页形式组织,便于按课节顺序浏览与对照操作。内容按lesson分节编排,覆盖安装前准备、创建安装媒介、启动安装、配置网络、分区与文件系统、设置用户信息、安装软件和更新、配置时区与语言、验证安装及首次系统维护等环节,截图可直观呈现界面与选项,适合边看边练。目前已有1333人学习,可作为入门者熟悉Debian安装流程、查漏补缺的参考材料。

1. 从一张装废了的盘说起:Debian 安装到底难在哪

上周帮同事救一台机器,开机直接掉进grub rescue>,屏幕上只有一行error: unknown filesystem。问下来才知道,他照着某篇帖子装 Debian,分区时把/boot单独划成 ext2,装完又手动改了引导顺序,重启就再也进不去了。这种翻车在 Debian 安装里太常见了——不是安装器难用,而是版本选择、分区方案、引导写入这三件事里任何一件想当然,都会让一台本来十分钟能装好的机器变成一下午的黑匣子排查。

Debian 安装教程网上一抓一大把,但大多数只告诉你点下一步,不告诉你为什么这么点、点错了怎么退回来。这篇笔记按我自己的习惯写:先把版本和介质定死,再走分区和引导,最后落到装完怎么验证。适合第一次装 Debian 的开发者照着走,也适合装过 Ubuntu 但被 Debian 的安装器劝退过的人对照看差异。全程以 Debian 12(bookworm)稳定版为基准,装坏了怎么救会单独拎出来讲。

2. 装前定版本与做介质:Debian 12 的镜像选择和启动盘制作

2.1 版本怎么选:stable、netinst 和完整 DVD 的取舍

Debian 的版本线比很多发行版清晰:stable是当前正式发布版,testing是下一版在测,unstable(sid)是滚动开发线。生产环境和日常开发机我一般只认stable,也就是 Debian 12 bookworm。理由很实际——stable 的软件包版本偏旧但依赖关系稳定,装完不会因为某个库升级把桌面或服务带崩;testing 虽然软件新,但安装器行为和包依赖会随镜像日期变化,同一篇教程隔两周照着走可能就对不上。

镜像类型上,官方提供netinst(网络安装,约几百 MB)、DVD-1(完整第一张盘,含常用桌面和基础包)以及BD蓝光盘系列。这里有个反直觉的坑:很多人以为netinst最小最省事,实际上它安装过程中要从网络拉大量包,如果目标机器网卡驱动不在安装器内置列表里,或者网络环境需要额外配置,就会卡在「检测网络硬件」那一步。我的取舍是:

镜像类型体积量级适合场景主要风险
netinst数百 MB网络稳定、机器较新、想装最小系统装到一半断网、缺固件
DVD-1数 GB离线环境、老机器、要带桌面下载慢、U 盘容量要够
完整 BD 系列更大完全离线批量部署介质制作成本高

新手第一次装,我建议直接下DVD-1的 amd64 版本,把桌面环境和常用固件都带上,少一次网络依赖就少一个变量。下载后务必核对校验值,官方镜像页会给出SHA256SUMS,这一步别省:

# 下载镜像和校验文件后,在同一目录执行 sha256sum debian-12.x.x-amd64-DVD-1.iso # 再和 SHA256SUMS 里对应行比对,一致才继续 grep 'DVD-1.iso' SHA256SUMS

sha256sum输出的是镜像的实际摘要,grep那行是从官方校验文件里取出对应条目,两者必须逐字符一致。镜像下载不完整是安装中途报「无法读取介质」的头号原因,先排掉它,后面出问题才好定位。

2.2 制作启动盘:dd 与图形工具的差别

Linux 下做启动盘最直接的是dd,Windows 下可以用 Rufus 之类的图形工具。dd的参数错一位就可能写错盘,所以写之前一定先确认设备名:

# 先看块设备,确认 U 盘是 /dev/sdX,别认错成系统盘 lsblk -o NAME,SIZE,TYPE,MOUNTPOINT # 确认 U 盘未挂载后写入,of= 后面换成你的 U 盘设备 sudo dd if=debian-12.x.x-amd64-DVD-1.iso of=/dev/sdX bs=4M status=progress oflag=sync

if是输入镜像,of是目标设备(注意是整盘/dev/sdX,不是分区/dev/sdX1),bs=4M提高块大小加快写入,status=progress让进度可见,oflag=sync保证数据真正落盘再返回。写完执行sync再拔盘。图形工具的好处是会帮你识别可移动设备、降低写错盘的概率,但有些工具默认用「ISO 模式」而非「DD 模式」,做出来的盘在老机器上可能引导不了——遇到开机不认盘,先怀疑制作模式,换 DD 模式重做一次。

2.3 固件与 Secure Boot 的前置确认

Debian 12 的安装器对非自由固件(网卡、无线、部分显卡)的处理比早期版本友好,但netinst镜像默认不一定带全。如果机器是较新的无线网卡或需要闭源固件,安装时可能提示找不到硬件。常见做法是优先用有线连接完成安装,装完系统再补firmware-iwlwifi、firmware-realtek这类包;或者直接选带固件的镜像变体。

Secure Boot 方面,Debian 12 的安装介质支持在开启 Secure Boot 的情况下引导,但装完后如果装了第三方内核模块,可能触发签名校验失败。我一般先在 BIOS 里确认 Secure Boot 状态并记下来,装完系统能正常进桌面后再决定是否保持开启,避免把「装完进不去」和「引导配置错」混在一起排查。

3. 走安装器:分区、用户与引导写入的关键参数

3.1 分区方案:为什么我不推荐新手手动分 /boot

Debian 安装器的分区步骤提供「向导-使用整个磁盘」「向导-使用整个磁盘并配置 LVM」「手动」几种模式。新手最稳的是「使用整个磁盘」,让安装器自己划/、swap和 EFI 分区。手动分区不是不能做,但/boot单独分区是翻车高发区——文件系统选错、容量给小了、和 EFI 分区混淆,都会导致装完引导失败。

如果确实要手动分,我的习惯是 UEFI 机器上这样划:

挂载点建议大小文件系统说明
EFI 系统分区512 MB 左右FAT32必须带esp标志,引导文件放这里
/剩余大部分ext4根分区,日常够用
swap内存一半或按需swap休眠需要不小于内存

传统 BIOS 机器则不需要 EFI 分区,而是需要一个带bios_grub标志的小分区(约 1 MB)给 GRUB 放引导代码。这一步装错,重启就是grub rescue>。安装器在分区界面会显示每个分区的「标志」列,EFI 分区没有esp、BIOS 机器没有bios_grub,基本可以判定引导会出问题。

3.2 用户与 root 密码:sudo 组的实际影响

安装器会让你设 root 密码并创建一个普通用户。这里有个容易忽略的点:如果 root 密码留空,安装器会把普通用户加入sudo组并默认禁用 root 登录;如果设了 root 密码,普通用户不一定在sudo组里。装完发现自己sudo用不了,多半是这一步的选择导致的。

我一般设一个 root 密码作为后悔药,同时确保普通用户在sudo组。装完可以这样确认:

# 查看当前用户所属组,应包含 sudo groups # 若不在 sudo 组,用 root 补加(把 username 换成你的用户名) su - usermod -aG sudo username

groups列出当前用户的所有组,usermod -aG的-a是追加而不是覆盖,漏了-a会把用户从其他组里踢出去,这是血泪经验。改完要重新登录才生效。

3.3 引导写入:GRUB 装到哪块盘

安装器最后一步会问「将 GRUB 引导程序安装到主引导记录」,默认选中的是第一块硬盘。多盘机器上这里选错,就会出现「装完了但开机还是进旧系统」或者直接进不去。判断方法很简单:BIOS/UEFI 启动顺序里排第一的那块盘,就是 GRUB 该写的那块盘。UEFI 模式下 GRUB 实际写进 EFI 分区,安装器会自动处理,但前提是 EFI 分区标志正确。

如果机器上还有别的系统,安装器会检测到并提示是否保留,这时别急着点「继续」,先确认它识别出的分区布局和你预期一致。装完引导出问题,多数不是 GRUB 本身坏了,而是写错了盘或 EFI 分区没被识别。

3.4 软件源与桌面环境选择

安装器会问是否使用网络镜像。国内环境常见做法是先用默认源装完,再换成本地镜像加速,避免安装中途因为源响应慢卡住。桌面环境按需勾选,服务器场景可以不选桌面,只留「标准系统工具」和 SSH 服务,装出来更干净。

装完第一次apt update如果很慢,换源是常规操作:

# 备份原源列表 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 编辑源,把 deb.debian.org 换成可用的本地镜像地址 sudo sed -i 's|deb.debian.org|mirror.example.org|g' /etc/apt/sources.list sudo apt update

sed那行只是把域名替换掉,实际地址按你所在网络可用的镜像填。换源后apt update报Release file expired或404,通常是镜像同步延迟或路径写错,换回官方源验证一下就能区分是网络问题还是配置问题。

4. 装完先别急着重启:首次启动的配置与验证

4.1 首次登录后的基础检查清单

装完重启进系统,先做几项确认再开始装软件。第一看引导是否正常、有没有多余的错误提示;第二看网络,ip a确认网卡拿到地址;第三看时间,timedatectl确认时区和 NTP 同步状态,时间不对会让apt的证书校验和日志时间全乱。

# 网卡与地址 ip -brief address # 时区与时间同步 timedatectl status # 磁盘与挂载是否符合分区预期 lsblk -f

ip -brief address输出精简,能快速看出哪块网卡 up、有没有 IPv4 地址;timedatectl status里System clock synchronized: yes才算正常;lsblk -f会显示每个分区的文件系统和挂载点,对照安装时的分区方案,能第一时间发现 EFI 分区没挂上之类的问题。

4.2 补齐固件与常用工具

有线网络正常后,先补固件和基础工具,再考虑桌面美化之类的事:

# 更新索引并升级已装包 sudo apt update && sudo apt upgrade -y # 按硬件补固件,无线网卡常见的是 iwlwifi sudo apt install -y firmware-iwlwifi firmware-realtek # 常用诊断工具 sudo apt install -y curl vim htop net-tools

apt upgrade -y的-y是自动确认,批量环境里省交互,但第一次装完建议先不加-y看一眼要升级哪些包,避免把内核和驱动一起换掉后需要重启。固件包名按实际硬件选,装完dmesg | grep -i firmware看有没有加载失败的记录。

4.3 快照与回滚:装完先留一个还原点

这一步很多人跳过,等系统被折腾坏了才后悔。虚拟机场景直接在宿主侧打快照;物理机场景我习惯用timeshift或至少备份/etc和分区表:

# 备份分区表和关键配置,出问题时有据可查 sudo sfdisk -d /dev/sda > ~/sda-partition-backup.txt sudo tar czf ~/etc-backup.tar.gz /etc

sfdisk -d导出分区表布局,重装或修复引导时对照它恢复分区;tar打包/etc是为了配置改坏时能快速比对回滚。这两步花不了一分钟,但能把「重装一遍」的成本降下来。

5. 避坑与排查:Debian 安装最常见的五类翻车

5.1 开机掉进 grub rescue>

现象:重启后停在grub rescue>,提示unknown filesystem或no such partition。 原因:GRUB 写到了错误的盘,或者/boot所在分区文件系统不被 GRUB 识别(比如手动把/boot划成 ext2 后又改过布局),也可能是 EFI 分区标志丢失。 解决:用 Debian 安装介质进救援模式,挂载根分区后chroot进去重装 GRUB:

# 救援模式下先确认分区,假设根分区是 /dev/sda2 lsblk -f mount /dev/sda2 /mnt mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt grub-install /dev/sda update-grub

mount --bind是把当前环境的设备、进程、系统信息映射进 chroot,缺了它们grub-install会报找不到设备。UEFI 机器上还要确认 EFI 分区挂到了/boot/efi再执行grub-install。

5.2 安装中途提示「无法读取介质」

现象:安装进行到复制软件包阶段报介质读取错误。 原因:镜像下载不完整、U 盘写入没落盘、或者 U 盘本身有坏块。 解决:回到第 2 章重新核对sha256sum,用dd加oflag=sync重做启动盘,换一个 U 盘排除硬件问题。这一步没有捷径,介质问题只能从源头排。

5.3 装完没有网络,ip a只有 lo

现象:进系统后只有回环接口,网卡没被识别或没拿到地址。 原因:网卡固件缺失,或者安装时选了 netinst 但安装器没带上对应驱动。 解决:先用有线连接或换一台机器下载对应firmware-*包,用 U 盘拷过去dpkg -i安装,再modprobe加载模块。dmesg | grep -i firmware能看到具体缺哪个固件文件。

5.4 sudo 用不了,提示用户不在 sudoers 中

现象:普通用户执行sudo报is not in the sudoers file。 原因:安装时设了 root 密码,普通用户没被加入sudo组。 解决:su -切到 root,执行usermod -aG sudo 用户名,重新登录。别直接改/etc/sudoers手写规则,改错一个字符可能导致 sudo 完全不可用,用visudo才安全。

5.5 换源后 apt 报证书或 Release 错误

现象:apt update报Release file expired、404或证书校验失败。 原因:镜像地址写错、镜像同步延迟、系统时间不对。 解决:先timedatectl确认时间同步,再换回官方源验证网络,最后才怀疑镜像本身。时间不对引发的证书错误最容易被误判成源的问题。

6. 装完怎么验证跑通:一套可复现的验收动作

装完系统能进桌面不等于装好了。我习惯跑一套固定验收动作,把「看起来正常」变成「确认正常」。这套动作分三层:引导层、系统层、软件层。

引导层验证最直接的办法是重启两次。第一次重启确认能正常进系统,第二次重启前先执行sudo update-grub再重启,确认 GRUB 菜单能正常生成、能识别到当前内核。如果两次都稳,引导基本没问题。多系统机器还要确认 GRUB 菜单里另一个系统的条目能正常引导,避免装 Debian 把原有系统带崩。

系统层用几条命令交叉确认:

# 内核版本与启动参数 uname -a # 失败的服务单元,应为空或只有已知可忽略项 systemctl --failed # 磁盘空间与 inode 使用率 df -h && df -i # 最近的启动错误日志 journalctl -p err -b

systemctl --failed输出为空是最理想状态,有失败单元要逐个看systemctl status;df -i看 inode 使用率,小文件多的场景 inode 先满而空间还有余,只看df -h会误判;journalctl -p err -b只看本次启动的 error 级别日志,比翻全量日志高效得多。

软件层验证按你装机的目的来。服务器场景确认 SSH 能连、防火墙规则符合预期;开发机场景确认编译工具链和包管理器可用:

# 确认 SSH 服务在监听(服务器场景) ss -tlnp | grep :22 # 确认编译基础工具可用(开发场景) gcc --version && make --version # 确认 apt 源可用且能正常解析依赖 sudo apt update && sudo apt install -y --dry-run build-essential

ss -tlnp看监听端口和对应进程,--dry-run让 apt 只解析依赖不实际安装,能在不动系统的前提下验证源和依赖链是否健康。这一步过了,再装业务软件心里就有底。

最后留一个我自己的习惯:每次装完 Debian,我都会把这次用的镜像版本、分区方案、引导写入的盘、换的源地址记在一个文本文件里,放在/root/install-notes.txt。不是为了好看,是因为半年后这台机器出问题,靠记忆根本还原不出当时怎么分的区。从那以后我每次装系统都强制走一遍「校验镜像、确认分区标志、重启两次、跑验收命令」这套动作,翻车次数明显少了。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询