本文以Ubuntu Server 22.04 LTS / 24.04 LTS为例,详细讲解如何将 Ubuntu 系统安装到物理服务器或远程服务器上。文章面向刚接触 Linux 服务器运维的同学,也适合需要标准化装机流程的运维人员参考。
很多刚接触服务器的朋友一听到“装系统”就有点慌:
- 服务器和普通电脑有什么不一样?
- 磁盘要不要提前做 RAID?
- UEFI 还是 Legacy?
- 分区怎么分才合理?
- 装完以后怎么远程连接?
- SSH 怎么配置更安全?
- 网卡 IP 怎么固定?
- 安装完还要做哪些初始化?
这篇文章我们就按照真实运维上线流程,一步步讲清楚。
目录
- 服务器安装 Ubuntu 前的准备工作
- 下载 Ubuntu Server 镜像并校验
- 制作启动盘或挂载 ISO
- 服务器 BIOS / RAID / 启动项配置
- Ubuntu Server 安装完整流程
- 磁盘分区方案推荐
- 网络配置与静态 IP 设置
- 安装完成后的系统初始化
- SSH 远程登录配置
- 安全加固建议
- 常见问题排查
- 总结
一、服务器安装 Ubuntu 前的准备工作
在正式安装系统之前,一定要先把准备工作做好。
很多装机失败并不是系统镜像有问题,而是前期没有确认清楚服务器环境。
1. 确认服务器硬件信息
安装前建议先确认以下信息:
| 项目 | 说明 |
|---|---|
| CPU 架构 | 一般为 x86_64 / amd64 |
| 内存大小 | 建议至少 4GB,生产环境通常 16GB 起步 |
| 磁盘数量 | 判断是否需要 RAID |
| RAID 卡 | 是否有硬件 RAID 卡,如 PERC、MegaRAID 等 |
| 网卡数量 | 是否需要绑定 bond |
| 管理口 | IPMI、iDRAC、iLO、BMC 等远程管理 |
| 启动方式 | UEFI 或 Legacy BIOS |
如果是生产服务器,一般建议系统盘至少做RAID 1,防止单块磁盘损坏导致系统不可用。
2. 确认安装方式
常见安装方式有几种:
方式一:U 盘安装
适合本地机房操作。
将 Ubuntu Server ISO 写入 U 盘,然后服务器从 U 盘启动安装。
方式二:远程管理口挂载 ISO 安装
适合远程机房或无人值守场景。
通过以下远程管理工具挂载镜像:
- Dell:iDRAC
- HP:iLO
- Lenovo:XCC / IMM
- 浪潮:BMC
- 华为:iBMC
- 超微:IPMI
这种方式相当于把 ISO 虚拟成光驱,服务器从虚拟光驱启动安装。
方式三:PXE 网络批量安装
适合批量服务器装机,一般会配合:
- DHCP
- TFTP
- HTTP
- Kickstart / Autoinstall
- MAAS
本文主要讲单机安装流程,PXE 批量装机后续可以单独写一篇。
二、下载 Ubuntu Server 镜像并校验
1. 下载地址
Ubuntu Server 官方下载地址:
https://ubuntu.com/download/server建议选择 LTS 版本,例如:
- Ubuntu Server 22.04 LTS
- Ubuntu Server 24.04 LTS
LTS 版本支持周期长,稳定性更好,适合服务器环境。
2. 校验镜像完整性
下载完成后建议校验 SHA256。
Linux / macOS 下执行:
sha256sum ubuntu-22.04.5-live-server-amd64.iso然后将结果与官网 SHA256 对比。
如果校验不一致,说明镜像可能下载损坏,不要继续使用。
三、制作启动盘或挂载 ISO
1. Windows 下制作启动盘
常用工具:
- Rufus
- balenaEtcher
- Ventoy
推荐使用Rufus或Ventoy。
Rufus 使用要点
打开 Rufus:
- 选择 U 盘
- 选择 Ubuntu Server ISO
- 分区类型根据服务器启动方式选择:
- UEFI:GPT
- Legacy BIOS:MBR
- 开始写入
2. Linux 下制作启动盘
先确认 U 盘设备名:
lsblk假设 U 盘是/dev/sdb,执行:
sudoddif=ubuntu-22.04.5-live-server-amd64.isoof=/dev/sdbbs=4Mstatus=progressoflag=sync注意:of=/dev/sdb一定要写对,否则可能把本地磁盘写坏。
3. 远程管理口挂载 ISO
如果有 IPMI / iDRAC / iLO,可以直接在远程控制台里挂载 ISO。
大致流程:
- 登录服务器远程管理页面
- 打开 Virtual Console / Remote Console
- 挂载 ISO 文件
- 设置下次启动从 Virtual CD / DVD 启动
- 重启服务器
四、服务器 BIOS / RAID / 启动项配置
这一步非常关键。
1. 进入 BIOS 或 Boot Menu
服务器开机时根据品牌不同,进入方式不同:
| 品牌 | 常见快捷键 |
|---|---|
| Dell | F2 / F12 |
| HP | F9 / F11 |
| Lenovo | F1 / F12 |
| 浪潮 | Del / F12 |
| 华为 | Del / F11 |
| 超微 | Del / F11 |
一般:
F2或Del:进入 BIOS SetupF11/F12:进入 Boot Menu
2. 选择 UEFI 还是 Legacy
现在新服务器建议优先使用:
UEFI原因:
- 支持 GPT 分区
- 支持更大磁盘
- 更安全
- 更符合主流服务器规范
如果服务器比较老,或者某些 RAID 卡、网卡只支持传统启动,才考虑 Legacy BIOS。
3. Secure Boot 要不要关?
Ubuntu Server 通常支持 Secure Boot。
如果没有特殊情况,可以保持开启。
如果遇到以下问题:
- U 盘无法启动
- 加载内核报错
- 第三方驱动无法加载
- 安装程序卡住
可以临时关闭 Secure Boot,装完系统后再评估是否开启。
4. RAID 配置建议
如果服务器有多块磁盘,建议先配置 RAID。
常见方案:
| 场景 | 推荐 RAID |
|---|---|
| 系统盘两块 | RAID 1 |
| 数据盘多块,兼顾容量和性能 | RAID 5 / RAID 6 / RAID 10 |
| 高性能数据库 | RAID 10 |
| 大容量冷备份 | RAID 6 |
| 单盘测试机 | 不做 RAID 或 RAID 0 |
举例:
两块 480GB SSD 做系统盘:
RAID 1可用容量约 480GB。
多块数据盘:
RAID 5 / RAID 10具体根据业务和磁盘数量决定。
注意:硬件 RAID 配置完成后,Ubuntu 安装界面看到的通常是一个逻辑磁盘,例如:
/dev/sda或者:
/dev/megaraid0五、Ubuntu Server 安装完整流程
下面进入正式安装流程。
1. 从 U 盘或虚拟光驱启动
服务器开机后选择启动项:
- USB Device
- Virtual CD/DVD
- UEFI USB
- CD/DVD
进入 Ubuntu Server 安装菜单。
通常选择:
Try or Install Ubuntu Server2. 选择语言
安装界面首先选择语言。
生产环境建议:
English为什么推荐英文?
因为服务器日志、报错、文档基本都是英文。使用英文系统更便于排查问题,也避免某些远程终端下中文显示异常。
如果只是学习测试,可以选择中文。
3. 选择键盘布局
默认即可:
English (US)4. 选择安装类型
Ubuntu Server 安装界面通常会有:
Ubuntu Server Ubuntu Server (minimized)一般选择:
Ubuntu Serverminimized 版本更精简,适合容器、云环境或者自动化部署场景。新手建议使用标准版。
5. 配置网络
这是重点。
服务器强烈建议配置静态 IP,不要依赖 DHCP。
安装程序会自动识别网卡,例如:
enp1s0 ens1f0 eno1 enp3s0选中网卡后,选择:
Edit IPv4然后选择:
Manual填写以下信息:
| 配置项 | 示例 |
|---|---|
| Subnet | 192.168.10.0/24 |
| Address | 192.168.10.10 |
| Gateway | 192.168.10.1 |
| Name servers | 223.5.5.5,114.114.114.114 |
示例:
Subnet: 192.168.10.0/24 Address: 192.168.10.10 Gateway: 192.168.10.1 Name servers: 223.5.5.5如果机房有内部 DNS,填写内部 DNS。
6. 代理设置
如果服务器需要代理访问外网,则填写 proxy。
大多数内网服务器不需要代理,直接留空:
Done7. 镜像地址
安装程序可能会询问是否使用 mirror。
默认地址类似:
http://archive.ubuntu.com/ubuntu国内服务器可以改成:
http://mirrors.aliyun.com/ubuntu或:
http://mirrors.tuna.tsinghua.edu.cn/ubuntu如果安装时不改,也可以装完系统后再换源。
六、磁盘分区方案推荐
这是整个安装过程中最容易踩坑的地方。
Ubuntu Server 安装程序提供两种方式:
Use an entire disk Custom storage layout1. 简单场景:Use an entire disk
如果只是测试机、单机、没有复杂分区需求,可以选择:
Use an entire disk并勾选:
Set up this disk as an LVM group这样安装器会自动使用 LVM,后期扩容比较方便。
2. 生产环境推荐:Custom storage layout
生产服务器建议自定义分区。
推荐方案如下。
UEFI 启动分区方案
| 分区 | 大小 | 文件系统 | 挂载点 | 说明 |
|---|---|---|---|---|
| EFI System Partition | 512MB - 1GB | FAT32 | /boot/efi | UEFI 必需 |
| /boot | 1GB | ext4 | /boot | 存放内核和引导文件 |
| LVM PV | 剩余空间 | LVM | - | 逻辑卷管理 |
| lv-root | 50GB - 100GB | ext4 | / | 系统根目录 |
| lv-swap | 4GB - 16GB | swap | swap | 交换分区 |
| lv-var | 50GB 或更多 | ext4 | /var | 日志、容器、包缓存 |
| lv-home | 剩余空间 | ext4 | /home | 用户目录 |
如果服务器有独立数据盘,建议系统盘和数据盘分离:
系统盘:/、/boot、/var 数据盘:/data3. Swap 分多大?
简单建议:
| 内存大小 | Swap 建议 |
|---|---|
| 小于 4GB | 内存的 2 倍 |
| 4GB - 16GB | 4GB - 8GB |
| 16GB - 64GB | 8GB - 16GB |
| 大于 64GB | 4GB - 16GB 或不设大 swap |
如果使用休眠功能,swap 需要大于内存。但服务器一般不启用休眠。
4. 为什么推荐 LVM?
LVM 的好处:
- 后期可以扩容
- 可以灵活调整逻辑卷大小
- 可以配合快照
- 比传统固定分区更灵活
比如后续发现/var空间不足,可以扩展逻辑卷,而不需要重新分区。
5. 不要把空间全部分完
这是一个运维老习惯:
不要一次性把所有磁盘空间都分完。尤其是根分区、数据分区,建议留一部分 VG 空间。
例如:
VG 总容量:1TB lv-root:100GB lv-var:100GB lv-swap:8GB lv-home:300GB 剩余:保留,后续按需扩展后期如果发现某个目录不够用,可以直接扩展。
6. 确认写入磁盘
分区配置完成后,安装程序会提示:
Confirm destructive action这一步会格式化磁盘并写入数据。
确认无误后选择:
Continue七、创建用户和主机名
1. 设置主机名
安装时会要求填写:
- Your name
- Your server’s name
- Pick a username
- Password
例如:
Your name: ops Server name: web-prod-01 Username: ops Password: ******主机名建议规范统一,例如:
业务-角色-编号示例:
web-prod-01 db-prod-01 redis-prod-01 k8s-master-012. 用户建议
生产环境不要直接使用 root 远程登录。
建议:
普通用户 + sudoUbuntu 安装过程中创建的普通用户默认具有 sudo 权限。
八、Ubuntu Pro 和 SSH 配置
1. Ubuntu Pro
安装过程中可能看到:
Enable Ubuntu Pro一般可以先跳过:
Skip for now后续有需要再启用。
2. 安装 OpenSSH Server
这一项一定要勾选:
Install OpenSSH server服务器装完如果没 SSH,后面维护会非常麻烦。
如果安装时忘记装,后续可以在控制台执行:
sudoaptupdatesudoaptinstallopenssh-server-y3. Featured Server Snaps
这里会列出一些常用服务,例如:
- Docker
- Nextcloud
- PostgreSQL
- MySQL
- Redis
建议:
安装时先不勾选。原因:
- Snap 版本更新方式和传统 apt 不同
- 排障时可能增加复杂度
- 生产环境更建议使用 apt、二进制、容器或官方源部署
我们可以在系统安装完成后再按需部署。
九、等待安装完成并重启
安装过程会自动:
- 下载基础包
- 安装系统
- 配置引导
- 安装 OpenSSH
- 完成初始化
安装完成后选择:
Reboot Now重启前记得:
拔掉 U 盘 或卸载虚拟 ISO否则可能再次进入安装界面。
十、安装完成后的系统初始化
系统重启后,使用安装时创建的用户登录。
接下来做初始化。
1. 查看系统版本
lsb_release-a或者:
cat/etc/os-release2. 更新系统
sudoaptupdatesudoaptupgrade-y如果更新了内核,建议重启:
sudoreboot3. 修改主机名
如果安装时主机名没设置好,可以修改:
sudohostnamectl set-hostname web-prod-01查看:
hostname重新登录后生效更明显。
4. 设置时区
查看当前时区:
timedatectl设置为中国上海时区:
sudotimedatectl set-timezone Asia/Shanghai再次查看:
timedatectl5. 查看磁盘和分区
查看块设备:
lsblk查看磁盘使用情况:
df-h查看 LVM:
sudopvssudovgssudolvs十一、配置静态 IP
安装时配置过网络的话,这里可以检查一下。
Ubuntu Server 使用 Netplan 管理网络。
查看 netplan 配置文件:
ls/etc/netplan/常见文件:
00-installer-config.yaml 01-netcfg.yaml 50-cloud-init.yaml编辑配置文件:
sudovim/etc/netplan/00-installer-config.yaml示例配置:
network:version:2renderer:networkdethernets:enp1s0:dhcp4:falseaddresses:-192.168.10.10/24routes:-to:defaultvia:192.168.10.1nameservers:addresses:-223.5.5.5-114.114.114.114注意:
enp1s0要换成你自己的网卡名- 缩进必须正确
- YAML 文件不能使用 Tab,必须用空格
查看网卡名:
ipa应用配置:
sudonetplan apply测试网络:
ping-c4baidu.com十二、SSH 远程登录配置
服务器装完系统,最终目标之一就是能够远程 SSH 管理。
1. 检查 SSH 服务状态
sudosystemctl statusssh如果没安装:
sudoaptupdatesudoaptinstallopenssh-server-y启动并设置开机自启:
sudosystemctlenable--nowssh2. 本地测试 SSH
在本机或另一台电脑上执行:
sshops@192.168.10.10输入密码即可登录。
十三、使用 SSH 密钥登录
生产环境建议使用密钥登录,而不是密码登录。
1. 本地生成密钥
在你自己的电脑上执行:
ssh-keygen-ted25519一路回车即可。
生成文件:
~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub2. 上传公钥到服务器
ssh-copy-id ops@192.168.10.10然后输入密码。
完成后再次登录:
sshops@192.168.10.10如果不再要求输入密码,说明密钥配置成功。
十四、SSH 安全加固
1. 编辑 SSH 配置
sudovim/etc/ssh/sshd_config建议配置:
PermitRootLogin no PasswordAuthentication no PubkeyAuthentication yes如果担心默认 22 端口被扫描,可以改端口:
Port 22222注意:
修改 SSH 端口前,一定要确保:
- 防火墙放行新端口
- 云安全组放行新端口
- 密钥登录测试成功
否则可能把自己锁在外面。
2. 重启 SSH
sudosystemctl restartssh重新开一个终端测试登录,确认没问题后再关闭旧会话。
十五、配置防火墙 UFW
Ubuntu 自带 UFW。
1. 安装 UFW
如果未安装:
sudoaptinstallufw-y2. 放行 SSH
如果 SSH 是 22 端口:
sudoufw allow22/tcp如果修改成 22222:
sudoufw allow22222/tcp3. 启用防火墙
sudoufwenable查看状态:
sudoufw status verbose十六、安装常用运维工具
刚装完系统,建议安装一批基础工具:
sudoaptupdatesudoaptinstall-yvimcurlwgetgithtopnet-toolslsofunziptcpdump常用工具说明:
| 工具 | 用途 |
|---|---|
| vim | 文本编辑 |
| curl | HTTP 请求测试 |
| wget | 下载文件 |
| htop | 进程和资源监控 |
| net-tools | ifconfig、netstat 等命令 |
| lsof | 查看文件和端口占用 |
| tcpdump | 抓包 |
| unzip | 解压 zip 文件 |
十七、挂载额外数据盘
如果服务器有单独数据盘,需要手动格式化并挂载。
1. 查看磁盘
lsblk假设数据盘是:
/dev/sdb2. 分区
sudofdisk/dev/sdb简单流程:
n 新建分区 p 主分区 1 分区号 回车 默认起始 回车 默认结束 w 保存生成:
/dev/sdb13. 格式化
sudomkfs.ext4 /dev/sdb14. 创建挂载点
sudomkdir-p/data5. 获取 UUID
sudoblkid /dev/sdb1输出类似:
/dev/sdb1: UUID="12345678-1234-1234-1234-123456789abc" TYPE="ext4"6. 写入 fstab
编辑:
sudovim/etc/fstab添加:
UUID=12345678-1234-1234-1234-123456789abc /data ext4 defaults,nofail 0 27. 挂载测试
sudomount-a查看:
df-h如果/data正常显示,说明挂载成功。
十八、更换国内软件源,可选
如果服务器在国内,访问官方源速度较慢,可以换源。
Ubuntu 22.04 示例
备份:
sudocp/etc/apt/sources.list /etc/apt/sources.list.bak编辑:
sudovim/etc/apt/sources.list替换为阿里云源:
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse更新:
sudoaptupdateUbuntu 24.04 注意
Ubuntu 24.04 开始更多使用:
/etc/apt/sources.list.d/ubuntu.sources格式为 DEB822。
如果不确定,不建议直接乱改,可以先使用默认源,或者参考云厂商提供的镜像文档。
十九、常见问题排查
1. 安装界面看不到磁盘
可能原因:
- RAID 没有配置
- RAID 卡驱动不支持
- 磁盘未初始化
- 硬盘背板或线缆故障
- BIOS 中磁盘被禁用
- RAID 模式不兼容
排查方法:
1. 进 RAID 卡配置界面,确认逻辑盘已创建 2. 确认磁盘状态为 Online / Ready 3. 查看服务器硬件日志 4. 更换磁盘或槽位测试 5. 确认 Ubuntu 版本是否支持该 RAID 卡2. U 盘无法启动
可能原因:
- U 盘制作失败
- 启动方式不匹配
- Secure Boot 限制
- USB 接口故障
- U 盘本身损坏
解决方法:
1. 重新制作启动盘 2. 尝试 UEFI 或 Legacy 切换 3. 换 USB 接口 4. 换 U 盘 5. 使用远程管理口挂载 ISO3. 安装完成后无法 SSH 连接
检查顺序:
ipa确认 IP 是否正确。
sudosystemctl statusssh确认 SSH 是否运行。
sudoufw status确认防火墙是否放行 22 端口。
本地测试:
sshuser@127.0.0.1远程测试:
telnet 服务器IP22或:
nc-zv服务器IP22如果本机可以,远程不行,检查:
- 网关
- 路由
- 防火墙
- 安全组
- VLAN
- IP 冲突
4. Netplan 配置不生效
常见原因:
- YAML 缩进错误
- 使用了 Tab
- 网卡名写错
- 没有执行 netplan apply
检查配置:
sudonetplan try如果配置有问题,它会自动回滚。
应用配置:
sudonetplan apply5. 重启后又进入安装界面
原因通常是启动顺序问题。
解决方法:
1. 拔掉 U 盘 2. 卸载虚拟 ISO 3. 进入 BIOS 调整启动顺序 4. 确保硬盘为第一启动项6. apt update 报错
常见原因:
- 源地址错误
- DNS 不通
- 服务器无法访问外网
- 代理配置错误
- 系统版本代号写错
先测试 DNS:
ping-c4mirrors.aliyun.com再测试源地址:
curl-Ihttp://mirrors.aliyun.com/ubuntu/二十、一套标准的 Ubuntu Server 初始化脚本思路
如果后续需要批量部署,可以把初始化动作脚本化。
常见初始化脚本内容包括:
#!/bin/bashset-e# 更新系统aptupdateaptupgrade-y# 设置时区timedatectl set-timezone Asia/Shanghai# 安装常用软件aptinstall-yvimcurlwgetgithtopnet-toolslsofunzip# 启动 SSHsystemctlenable--nowssh# 防火墙放行 SSHufw allow22/tcp ufwenableecho"Ubuntu Server init done."生产环境建议结合 Ansible、SaltStack、cloud-init、Autoinstall 等工具实现标准化装机。