服务器系统安装教程

结论: 服务器系统安装的核心是"先校验镜像、再规划分区、最后装后加固"。物理机用 Ventoy 或 Rufus 做启动盘,BIOS 改 AHCI 并开启 VT-x;分区建议 EFI 512MB、/boot 1GB、swap 为内存的 1~2 倍、/ 50~100GB、/data 剩余全部并尽量用 LVM;云服务器直接用控制台自定义镜像或救援模式安装,装完立即做 SSH 加固与更新。

引言:装系统这件事,为什么经常翻车?

给服务器装操作系统看起来是最基础的操作,但线上事故里相当一部分都源自安装阶段埋下的坑:镜像没校验导致装到一半报"文件校验失败";分区随手一路下一步,半年后 /var 写满导致服务全挂;忘了装 SSH 服务,装完进不去;装完直接 root 密码登录暴露在公网,几小时就被暴力破解扫到。

服务器和个人电脑装系统的根本区别在于:服务器要长时间无人值守运行,安装阶段的每一个选择都会在半年后放大成运维问题。本篇按"镜像 → 启动盘 → BIOS 与驱动 → 分区 → 安装 → 初始化"六个环节拆解,每个环节给出判断标准和可直接执行的命令。

一、镜像获取与校验:装系统前必须先做的两件事

永远从官方源下载镜像,并校验哈希值。这是避免 90% 安装失败的第一步——下载中断、镜像站同步不完整、U 盘坏块,都会表现为安装途中莫名的报错。

常见服务器发行版官方镜像地址(截至 2026 年):

系统版本官方镜像位置适用场景
Ubuntu Server24.04.2 LTSreleases.ubuntu.com通用首选,Docker/云原生生态最好
Debian12 (bookworm)cdimage.debian.org求稳、低配机器、长期不升级
Rocky Linux9.xrockylinux.org需要 RHEL 兼容(替代 CentOS)
AlmaLinux9.xalmalinux.org同上,社区活跃
openEuler24.03 LTSopeneuler.org国产化、鲲鹏等 ARM 平台
Windows Server2022 / 2025微软官方评估中心.NET、SQL Server、AD 域

下载后用官方提供的校验值比对:

bash
# Ubuntu 官方同时提供 SHA256SUMS 文件
wget https://releases.ubuntu.com/24.04/SHA256SUMS
sha256sum -c --ignore-missing SHA256SUMS
# 输出 "ubuntu-24.04.2-live-server-amd64.iso: OK" 才说明镜像完整

# 若有 GPG 签名,进一步验证签名来源
wget https://releases.ubuntu.com/24.04/SHA256SUMS.gpg
gpg --verify SHA256SUMS.gpg SHA256SUMS

校验要点清单:

  • sha256sum -c 返回 OK 才能继续;不 OK 就重新下载,不要抱侥幸心理。
  • 校验的是下载后的文件,不是下载页上显示的哈希(有些镜像站页面会缓存旧值)。
  • 制作启动盘后如果安装仍反复报错,用 badblocks 或重新格式化 U 盘排除 U 盘故障。

二、启动盘制作:Rufus、Ventoy 与 dd 怎么选

三种方式各有适用场景,Ventoy 是运维人员效率最高的选择。

工具平台优点缺点适用
VentoyWindows/Linux一次安装,之后拷 ISO 即可,支持多镜像共存部分老旧机器的 BIOS 兼容性略差经常装机、一台 U 盘装多种系统
RufusWindows兼容性最好,可处理 Windows 镜像每次换镜像需重新写入Windows 环境、只装一次
dd 命令Linux/macOS无需安装软件命令写错设备名会毁掉整块硬盘Linux 环境下的标准做法

Ventoy 安装后使用(在 Linux 上):

bash
# 下载 Ventoy(截至 2026 年最新为 1.1.x 系列)
wget https://github.com/ventoy/Ventoy/releases/download/v1.1.05/ventoy-1.1.05-linux.tar.gz
tar -xf ventoy-1.1.05-linux.tar.gz && cd ventoy-1.1.05
# /dev/sdb 替换为你的 U 盘设备名,此操作会清空 U 盘
sudo ./Ventoy2Disk.sh -i /dev/sdb
# 完成后把 ISO 文件直接拷入 U 盘第一个分区即可,无需再次写入

使用 dd 的注意事项已在第 121 篇说明:务必先用 lsblk 确认 U 盘设备名。写入完成后执行 sync 确保缓存落盘再拔盘。

三、BIOS / UEFI 与 RAID 卡驱动:装不上系统时先查这里

安装器"找不到硬盘"绝大多数是 RAID 模式或阵列卡驱动问题,不是硬盘坏了。

进入 BIOS(常见按键:Del、F2、F10、F12,服务器品牌不同按键不同)后需要确认的设置:

  • SATA Mode:改为 AHCI。默认 RAID / Intel RST 模式下,Linux 安装器看不到硬盘。
  • Boot Mode:新机器用 UEFI,十年前的机器用 Legacy/BIOS。UEFI 模式需要 GPT 分区表和 EFI 系统分区(ESP)。
  • Secure Boot:Linux 发行版主流版本已支持,但第三方驱动(如某些网卡、RAID 卡)在 Secure Boot 下无法加载,装机阶段建议先关闭。
  • Virtualization:开启 Intel VT-x / AMD-V 和 VT-d,后续跑 KVM、Docker 之外的虚拟机需要。
  • BMC / IPMI 地址(物理服务器):提前配置好带外管理 IP,这样即使系统装失败也能远程挂载 ISO 重装,不用跑机房。

阵列卡(RAID Controller)驱动问题:戴尔 PERC、惠普 Smart Array、LSI MegaRAID 等硬件 RAID 卡需要在安装时加载驱动。主流发行版内核已内置 megaraid_sas、mpt3sas、aacraid 等驱动,若仍识别不到:

bash
# 安装过程中切到 shell(Ctrl+Alt+F2),确认阵列卡型号
lspci | grep -i raid
# 查看内核是否已加载对应驱动
lsmod | grep -E "megaraid|mpt3sas|aacraid"
# 查看系统是否识别到逻辑盘
lsblk
# 若驱动存在但盘未出现,检查阵列卡 BIOS 中 Logical Drive 是否已初始化

更稳妥的做法:在阵列卡 BIOS 里把磁盘设为 JBOD / 直通模式,改用 Linux 软件 RAID(mdadm)或 ZFS。硬件 RAID 的元数据与特定卡绑定,卡坏了数据迁移非常麻烦;软件 RAID 则与硬件解耦,换机器也能导入。

四、分区方案:容量怎么分、要不要 LVM

分区方案是安装阶段最值得花时间的决策,因为后期调整成本极高。

4.1 推荐分区表(以 500GB SSD 为例)

挂载点文件系统建议容量作用与说明
/boot/efiFAT32512MB ~ 1GBEFI 系统分区,UEFI 启动必需;多系统共存时给 1GB
/bootext41GB存内核与 initramfs;保留 2~3 个内核版本不爆满
swapswap内存 ≤8GB 时取 1~2 倍;>8GB 取 8~16GB内存溢出保护;休眠需要时取等于内存大小
/ext4 / xfs50 ~ 100GB系统与软件;Docker 默认数据目录在此,容器多则给 100GB
/varext4 / xfs可选,30 ~ 50GB日志、数据库数据、包缓存;高日志量服务建议独立
/dataext4 / xfs剩余全部业务数据、备份、站点文件,重装系统时可保留

要点清单:

  • /data 一定要独立分区。这是最容易后悔的一项——系统崩了重装,/data 保留就能救回所有业务数据。
  • 不要给 / 只留 20GB。Docker 镜像、内核更新、apt 缓存会在一年内吃满,/var/lib/docker 尤其占空间。
  • swap 不是越小越好。内存 8GB 以下的机器建议 swap ≥ 4GB,否则内存峰值时会直接触发 OOM Killer 杀掉数据库进程。
  • 文件系统选 ext4 还是 xfs:通用场景 ext4 足够且可缩容;大文件、高并发写入(如数据库、视频存储)选 xfs,但 xfs 不支持缩容。

4.2 使用 LVM:让后期扩容成为可能

LVM(Logical Volume Manager,逻辑卷管理器)把物理磁盘抽象成卷组,允许在线扩缩容。服务器强烈建议启用,代价是增加一层管理复杂度。

bash
# 查看现有卷组与逻辑卷
sudo vgs && sudo lvs

# 场景:/data 逻辑卷从 100GB 扩到 200GB(卷组有剩余空间时)
sudo lvextend -L +100G /dev/mapper/vg0-data
# ext4 在线扩容
sudo resize2fs /dev/mapper/vg0-data
# xfs 在线扩容(注意 xfs 用 xfs_growfs,且要指定挂载点)
sudo xfs_growfs /data

# 场景:新加一块 2TB 硬盘 /dev/sdb,并入现有卷组
sudo pvcreate /dev/sdb
sudo vgextend vg0 /dev/sdb
sudo lvextend -l +100%FREE /dev/mapper/vg0-data
sudo resize2fs /dev/mapper/vg0-data

4.3 软件 RAID(mdadm)快速示例

两块盘组 RAID 1(镜像),适合装系统的盘:

bash
sudo apt install -y mdadm
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/nvme0n1 --bitmap=internal
# 查看同步进度
cat /proc/mdstat
# 保存配置,保证重启后能自动组装
sudo mdadm --detail --scan | sudo tee -a /etc/mdadm/mdadm.conf
sudo update-initramfs -u

五、云服务器的系统安装方式

云服务器没有 U 盘和 BIOS,装系统走控制台。常见三种途径:

  1. 更换操作系统 / 重装系统:控制台选择公共镜像(Ubuntu 24.04、Debian 12 等),选择"保留数据盘"即可,系统盘会被重置。这是最常用的方式,2~5 分钟完成。
  2. 自定义镜像:先在 A 机器配置好环境,控制台创建"镜像",再用该镜像开通 B、C 机器,适合批量部署。注意创建前要清理 /var/log、~/.bash_history 和 SSH 主机密钥(否则所有机器的 host key 相同)。
  3. 救援模式(Rescue):系统损坏无法启动时,进入救援环境挂载原系统盘修复(如修复 grub、误删的 sshd_config)。
bash
# 救援模式下挂载原系统盘修复 grub 的典型流程
lsblk                                  # 找到原系统分区,如 /dev/vda1
sudo mount /dev/vda1 /mnt
sudo mount --bind /dev  /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys  /mnt/sys
sudo chroot /mnt
grub-install /dev/vda && update-grub   # 重装引导
exit && reboot

六、装后初始化:装完系统还没结束

系统装完只是开始,下面这些初始化项决定了这台服务器能撑多久。按顺序执行:

bash
# 1. 更新系统补丁
sudo apt update && sudo apt upgrade -y        # Debian 系
# sudo dnf update -y                          # RHEL 系(Rocky/AlmaLinux)

# 2. 创建普通运维用户并授予 sudo
sudo adduser opsuser
sudo usermod -aG sudo opsuser

# 3. SSH 加固:禁 root 登录 + 改端口(编辑 /etc/ssh/sshd_config)
sudo sed -i 's/^#*PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config
sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh

# 4. 配置防火墙,只放行必要端口
sudo ufw default deny incoming
sudo ufw allow 22/tcp && sudo ufw allow 80/tcp && sudo ufw allow 443/tcp
sudo ufw enable

# 5. 时区与时间同步(日志时间错乱会严重影响排错)
sudo timedatectl set-timezone Asia/Shanghai
sudo timedatectl set-ntp true

# 6. 安装基础工具与监控
sudo apt install -y vim curl wget htop iotop sysstat tmux

要点清单(装后必做):

  • 修改默认端口或至少禁用 root 密码登录,配合 fail2ban 防爆破。
  • 配置 logrotate 限制日志体积,避免 /var 被写满。
  • 设置 /data 的自动备份(rsync 或快照)。
  • 记录资产信息:IP、系统版本、内核版本、分区表,存入文档。
  • 做一次重启验证,确认所有服务开机自启(systemctl enable)。