
简介Debian安装基础教程以图文形式完整演示操作系统从零开始的安装过程适合刚接触Linux的新手也适合需要回顾安装细节的老用户。教程按十余个小节组织从安装前的硬件兼容、网络连接、镜像下载讲起再依次介绍用Rufus或Etcher制作启动盘、选择图形化安装、配置DHCP或静态IP、使用自动分区或LVM逻辑卷管理、创建普通用户与root账户、挑选软件包并安装安全补丁以及安装后调整时区语言、更新系统和配置UFW防火墙等维护操作。每个步骤都配有实际界面截图和文字说明可对照练习。资源包共98个文件核心包含80张PNG截图和15个HTML网页教程另有样式表、图标等辅助文件压缩包仅959KB按课程章节归入不同目录用浏览器打开即可逐课学习。目前已有1331人学习下载是一份轻量而实用的Debian入门参考。1. Debian 安装 教程从下载镜像到引导修复的完整链路给一台旧服务器装 Debian第一次自己上手的人大概率会在两个地方卡住分区表选错导致重启找不到系统或者 GRUB 装完直接进 Grub Rescue。这份《Debian 安装 教程》正好把这条链路上的每一步都拆开了——从镜像选型、写盘校验、分区 LVM到装完后的软件源和网络配置最后还能反向修复引导。适合准备第一次独立装机的新手也适合像我这样装了很多次却在引导和固件上反复翻车的老手。全文的关键就一句装 Debian 不是点完 Next 就完事你得知道装完那一刻系统是怎么被拉起来的。2. 安装前的准备镜像选型、校验写盘与固件排查2.1 镜像怎么选netinst、DVD 与 Live 的取舍Debian 的安装镜像分好几种第一次接触的人容易卡在“到底下哪个”的问题上。常见做法是三选一区别主要在体积和安装时对网络的依赖程度。镜像类型体积安装依赖适合场景netinst700MB 左右需要网络拉取大部分软件包服务器、网络稳定的机房DVD-14GB 左右可离线完成 base system 安装内网隔离、多次重装Live2GB 左右带完整桌面环境可试用后再装先体验桌面、做救援系统我一般给线上服务器用 netinst给内网或实验室机器用 DVD-1。需要注意 netinst 里的“网络”不是指能上外网就行——apt 源如果在远程安装过程会持续拉包网络一旦抖动就可能卡在 68% 的配置阶段这点后面避坑章会展开。DVD-1 虽然大但多数常用包都在里面离线装完直接可用。架构选择上普通 x86 机器选 amd64ARM 设备选 arm64老 32 位机器选 i386。不确定的话在现有系统里跑一下这个命令uname -m输出 x86_64 就对应 amd64输出 aarch64 就对应 arm64。选错架构的后果是安装器直接拒绝启动这是最廉价的一次踩坑提前看图就能避开。2.2 写盘与校验宁可多花 5 分钟不要装到一半翻车下载完镜像后建议先做校验再写盘。Debian 官方会同时发布 SHA256 校验文件这一步能筛掉绝大多数下载损坏的情况。# 进入镜像所在目录计算校验值 sha256sum debian-installer.iso # 与官方发布的 debian-hashes 文件比对 cat SHA256SUMS | grep debian-installer.iso比对一致后再写盘。写盘工具我习惯直接用 ddLinux 自带、不吃图形界面内网机器和物理机都能用# 确认 U 盘设备名常见 /dev/sdb 或 /dev/sdc lsblk -o NAME,SIZE,MODEL # 写入镜像注意目标盘千万别搞错 sudo dd ifdebian-installer.iso of/dev/sdb bs4M statusprogress convfsyncdd 的参数里bs4M 是块大小写 U 盘比默认 512 字节快很多convfsync 强制数据落盘后才返回避免拷贝完就拔盘导致引导文件不完整。写完后用sudo eject /dev/sdb弹出再拔这是很多人忽略的一步。2.3 固件缺失与 UEFI 设置装完没网的元凶很多机器装到“检测并挂载光驱”后就停住不动或者装完只看到一个 lo 回环接口没有网卡。常见原因是网卡固件包没带进安装器。netinst 官方镜像对部分 Broadcom、Realtek 网卡缺少非自由固件解决办法是把 firmware 包提前解压到 U 盘的 /firmware 目录mkdir -p /mnt/usb/firmware tar xJf firmware.tar.xz -C /mnt/usb/firmware安装器检测硬件时发现 /firmware 目录里的固件会自动加载网卡驱动。另外一个高频问题发生在 UEFI 机器上安装时开着 Secure Boot引导器装完但固件不认。Debian 的 shim 理论上能过认证但老主板的实现经常半残。如果安装过程中发现引导相关错误或装完重启进固件设置界面先把 Secure Boot 关掉再走一遍安装流程通常能解决。3. 分区方案与引导器80G 旧服务器手动分区实录3.1 分区选型guided、LVM 与手动分别解决什么问题安装器里分区这块有三个入口guided 全盘、guided 全盘 LVM、手动分区。新手一上来容易被 guided 省事吸引但 guided 自动分区默认把 /home 也留在根分区里后续想重装系统时数据会被一并覆盖代价很大。LVM 模式的逻辑是把物理磁盘抽象成卷组在卷组里切逻辑卷扩容时不用动分区表适合后续要扩盘的服务端。手动分区的灵活度最高适合知道自己要什么的场景。我一般对存量机器做手动分区理由很直接已知磁盘大小、已知业务布局按需切比让安装器猜更可控。分区规划上有一个建议的最小布局挂载点推荐大小说明/boot512MB内核和 initrd不需要太大/20G 起系统和软件包长期更新会膨胀swap视内存而定2G 内存以下给 2 倍8G 以上给 4G 即可/data剩余全部业务数据单独挂重装不丢3.2 手动分区等效命令从格式化到挂载安装器里的“手动分区”界面下每一次鼠标操作本质上等于底层执行了一段 parted 和 mkfs。理解这块对排障特别重要。拿一台 80G 磁盘、4G 内存的旧服务器举例完整的手动分区流程等效于下面这组命令# 用 parted 创建 GPT 分区表 parted /dev/sda --script mklabel gpt # 创建各分区起始位置、文件系统、大小 parted /dev/sda mkpart primary 1MiB 513MiB # /boot parted /dev/sda mkpart primary 513MiB 20GiB # / parted /dev/sda mkpart primary 20GiB 24GiB # swap parted /dev/sda mkpart primary 24GiB 100% # /data # 格式化不同分区 mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/sda2 mkswap /dev/sda3 mkfs.ext4 /dev/sda4参数解释parted 里 1MiB 起手是为了给引导器和分区表本身留出对齐空间避免 4K 扇区磁盘出现性能倾斜swap 分区大小按 4G 内存取 4G装系统时不需要但后面跑编译任务就能感受到它兜底的价值。这段命令不用真的在安装器里敲但安装器操作“分区结束后继续安装”的那一步脑子要过一遍这些分区分别被挂到了 /boot、/、swap、/data挂载关系乱了装完就起不来或起错分区。3.3 GRUB 装到整块盘还是分区最容易留下后悔药的地方引导器这块是我见过最容易翻车的位置。安装器最后一步会问“将 GRUB 安装到 MBR 的扇区”多数人在这里随手选了 /dev/sda整块盘少部分人选了 /dev/sda1分区。区别在于BIOS 引导时从磁盘的 MBR 区域读第一个阶段的引导代码所以 GRUB 必须落在整块盘 /dev/sda 的 MBR 扇区而不是 /dev/sda1 这样的文件系统分区内。选错之后最典型的症状是重启直接进 BIOS 设置界面或者跳到 Grub Rescue。与之配套的是分区表类型。UEFI 模式下强制 GPT且需要一个 ESP 分区EFI System Partition格式必须 FAT32挂载点 /boot/efi大小 260M 以上比较稳妥。传统 BIOS 模式下MBR 和 GPT 都能用但 GPT 在 BIOS 模式引导时需要保留一个 1M 的 BIOS boot 分区否则 GRUB 写不进去。还有一个多系统场景值得提前想清楚如果一块盘上同时装 Debian 和另一个系统GRUB 默认安装时会把系统里的其他启动项也扫描进菜单但前提是另一个系统的 /boot 分区或 EFI 分区在安装时没有被覆盖。常见做法是在安装 Debian 时选择“不安装引导器”装完后再由主系统的引导器去链式加载 Debian这是最省后悔药的方式。4. 装完只是开始源配置、用户权限与网络恢复4.1 软件源配置一套 sources.list 模板base system 装完后第一件事不是装桌面环境而是确认 apt 能正常拉包。默认的 /etc/apt/sources.list 指向官方源常见做法是先改成可用的模板再跑 update。以当前稳定版为例一份最小可用的源文件内容长这样deb http://deb.debian.org/debian stable main contrib non-free deb http://deb.debian.org/debian-security/ stable-security main contrib non-free deb http://deb.debian.org/debian stable-updates main contrib non-free字段含义stable 是发行代号这种写法适合长期稳定服务器不随版本升级自动跳main 是自由软件contrib 依赖自由软件里部分非自由组件non-free 是纯闭源驱动如果你的网卡或显卡依赖闭源固件三组都要保留。改完后执行sudo apt update sudo apt full-upgrade。如果内网存在自建仓库把域名换成内网地址即可结构完全一致。4.2 用户、sudo 与 wheel 组习惯差异Debian 在安装过程会让设置 root 密码——这一步很多人直接跳过。如果跳过了 root 密码系统会创建第一个普通用户并默认加入 sudo 组。后续需要管理员权限时用这个用户做sudo -i提权而不是切到 root。这与 CentOS 系习惯用 wheel 组不同Debian 的提权组名是 sudo# 新建用户并加入 sudo 组 useradd -m -s /bin/bash deploy usermod -aG sudo deploy # 给用户补充密码 passwd deploy守着 sudo 组里的用户进行日常管理比长期挂着 root 操作安全得多。问题常在半年后出现某台机器管理员离职后 root 密码没交接但 sudo 组里的用户还在接管时用 sudo 就能进系统不必重装。这是个小点但真能省钱。4.3 安装时没配网用 systemd-networkd 把网卡救回来netinst 安装时如果固件没带全装完系统进桌面后可能只有一个未连接的 lo 回环接口。此时网卡接口名可能是 enp3s0 这类 predictable name也可能是 eth0。先用这个命令确认接口名和状态ip link然后编辑 systemd-networkd 的配置文件sudo mkdir -p /etc/systemd/network sudo vim /etc/systemd/network/10-enp.network文件内容如下enp3s0 换成你机器上看到的实际接口名[Match] Nameenp3s0 [Network] DHCPipv4启用网络服务并验证sudo systemctl enable systemd-networkd sudo systemctl start systemd-networkd networkctl status参数说明DHCPipv4是让该接口通过 DHCP 自动获取地址适合绝大多数内网场景如果机器有多个网卡需要叠加配置每个接口单独建一个配置文件如果安装器当初用的是 ifupdown 管理则要先把/etc/network/interfaces里的相关配置清掉否则两套网络管理工具会互相干扰这是装完连不上网的另一个常见原因。5. Debian 安装 教程避坑实录五个真实踩坑记录5.1 安装卡在 68% 的 apt 配置阶段现象netinst 安装进度走到约三分之二处长时间停在“正在安装系统”日志里反复出现软件包下载失败和重试。原因这一步正在拉取 base system 与工具链的软件包网络波动或源地址不稳定时apt 会陷入重试循环日志表面没有报错实际是在反复断点续传。解决安装器界面切到另一个虚拟终端CtrlAltF2看 /var/log/syslog 里的 apt 日志确认原因。如果确认是网络问题直接放弃这次安装重新进入安装器在“软件包管理器配置”步骤选择不配置网络源装完再手动改 sources.list。这套做法能避免持久重试安装时间预期控制在 30 分钟内。5.2 装完系统只有 lo 回环网卡完全消失现象ip link 输出里只有 lo预期中的 enp 或 eth 网卡不在列表里OpenSSH 自然也无法连接。原因网卡固件缺失。多数服务器网卡是 Intel 或 Realtek 集成方案小概率遇到比较冷门的网络控制器官方 free 固件包没覆盖到。解决进桌面后插入包含 non-free 固件的 U 盘把 firmware-linux 相关 deb 包手动安装sudo dpkg -i firmware-linux_*.deb sudo reboot重启后网卡通常能识别。如果重启仍无效去查 dmesg 里对应固件加载失败的行号按实际报错补固件文件到 /lib/firmware 目录这是最费时间但最有效的一招。5.3 重启后直接进 BIOS 或 Grub Rescue现象安装全过程无报错重启后黑屏或直接回到固件设置界面完全看不到 Grub 菜单。原因GRUB 安装位置选错是头号嫌疑其次是分区表类型与固件引导模式不匹配比如 BIOS 模式下用了 GPT 分区却没建 BIOS boot 分区或者在 UEFI 模式下没留 ESP 分区。解决先进 Live 环境chroot 到已装系统里重装 GRUB# 挂载根分区和 boot 分区 mount /dev/sda2 /mnt mount /dev/sda1 /mnt/boot # 绑定伪文件系统后 chroot mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt # 重装引导器到整块盘 grub-install /dev/sda update-grubgrub-install 的参数目标是整块盘 /dev/sda不是 /dev/sda1。update-grub 会扫描所有分区的操作系统并生成启动菜单。这个方案既能修 GRUB 丢失也能修菜单内容损坏比重新安装系统快得多。5.4 编译大项目被 OOM Killer 杀死现象跑 gcc 或嵌入式交叉编译时终端突然报 Kernel OOM killed编译进程被杀死系统可能卡顿或假死。原因内存不够且没有启用 swap 交换分区。很多新手分区时只切了 / 和 /data完全省略 swap认为内存足够就没必要。但编译任务的峰值内存使用量往往超过预期尤其 make -j 并行编译时内存瞬间被吃满。解决不重装也能补救在现有分区上补一个 swap 文件sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile然后验证是否生效free -h里 swap 一行不再是 0。顺手写进 fstab 才能开机自动挂载echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab需要注意的是 fallocate 在部分文件系统上生成的 swapfile 可能有问题遇到 mkswap 报错时改用 dd 写全零文件重建即可。5.5 分区表误选导致重启后 root 设备找不到现象设备重启后进入 initramfs提示 Unable to find root device或卡在UUID... does not exist。原因手动分区时修改了分区类型或大小但 GRUB 和 initramfs 里记录的文件系统 UUID 没跟上。常见于复制了别人的 fstab 或手动 mkfs 后没有更新 UUID 引用。解决开机进 initramfs 阶段输入ls /dev/sda*确认分区存在然后临时修改内核参数或者直接进入 Live 环境重新挂载并查看实际 UUIDblkid /dev/sda2 sudo mount /dev/sda2 /mnt cat /mnt/etc/fstab nano /mnt/etc/fstab把 fstab 和 /boot/grub/grub.cfg 里的 UUID 全部替换为 blkid 输出的真实值reboot 即恢复。这问题几乎都是自己把分区重新格式化后忘记更新引用引起的不是 Debian 本身的 bug。6. 装完后的验证习惯与 chroot 修复引导的具体操作系统装好之后我始终保留一套固定验证流程而不是立刻开始装业务环境。每次都强制自己执行这三条命令lsblk -o NAME,SIZE,TYPE,MOUNTPOINT blkid /dev/sda2 efibootmgr -v # UEFI 模式才需要lsblk 确认分区挂载关系符合设计blkid 确认根分区 UUID 与 fstab 对应efibootmgr 确认引导项里 Debian 的入口还在第一位。三条命令只要全部正常重启基本不会翻车任何一条异常当场修完再继续不要带病工作。最后分享一个更冷门的救援技巧如果哪天连 GRUB 都进不去也可以用 efibootmgr 直接新建一个引导项指向内核。先把 Easier UEFI Shell 或另一个系统的引导器启动起来再进入 Live 环境执行efibootmgr -c -d /dev/sda -p 1 -L Debian -l \EFI\debian\shimx64.efi参数说明-c创建新引导项-d -p指定磁盘和 EFI 分区-l指定引导器文件路径。这条命令不是替代 GRUB 的方案而是 GRUB 因配置损坏无法工作时找回系统入口的临时手段。从那以后我每次装完 Debian 都强制走一遍 lsblk、blkid、efibootmgr 这组验证流程真没再在重启这步上收到过惊吓。希望这份经验帮到你装 Debian 最大的安全感来自你对引导链路和分区关系的明确掌控。本文还有配套的精品资源点击获取