本文以 Ubuntu Server 22.04 LTS / 24.04 LTS 为例,详细讲解如何将 Ubuntu 系统安装到物理服务器或远程服务器上。文章面向刚接触 Linux 服务器运维的同学,也适合需要标准化装机流程的运维人员参考。
很多刚接触服务器的朋友一听到“装系统”就有点慌:
- 服务器和普通电脑有什么不一样?
- 磁盘要不要提前做 RAID?
- UEFI 还是 Legacy?
- 分区怎么分才合理?
- 装完以后怎么远程连接?
- SSH 怎么配置更安全?
- 网卡 IP 怎么固定?
- 安装完还要做哪些初始化?
这篇文章我们就按照真实运维上线流程,一步步讲清楚。
目录
一、服务器安装 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:
- UEFI:GPT
- Legacy BIOS:MBR
2. Linux 下制作启动盘
先确认 U 盘设备名:
lsblk
假设 U 盘是 /dev/sdb,执行:
sudo dd if=ubuntu-22.04.5-live-server-amd64.iso of=/dev/sdb bs=4M status=progress oflag=sync
注意:of=/dev/sdb 一定要写对,否则可能把本地磁盘写坏。
3. 远程管理口挂载 ISO
如果有 IPMI / iDRAC / iLO,可以直接在远程控制台里挂载 ISO。
大致流程:
四、服务器 BIOS / RAID / 启动项配置
这一步非常关键。
1. 进入 BIOS 或 Boot Menu
服务器开机时根据品牌不同,进入方式不同:
| Dell | F2 / F12 |
| HP | F9 / F11 |
| Lenovo | F1 / F12 |
| 浪潮 | Del / F12 |
| 华为 | Del / F11 |
| 超微 | Del / F11 |
一般:
- F2 或 Del:进入 BIOS Setup
- F11 / 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 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 Server
2. 选择语言
安装界面首先选择语言。
生产环境建议:
English
为什么推荐英文?
因为服务器日志、报错、文档基本都是英文。使用英文系统更便于排查问题,也避免某些远程终端下中文显示异常。
如果只是学习测试,可以选择中文。
3. 选择键盘布局
默认即可:
English (US)
4. 选择安装类型
Ubuntu Server 安装界面通常会有:
Ubuntu Server
Ubuntu Server (minimized)
一般选择:
Ubuntu Server
minimized 版本更精简,适合容器、云环境或者自动化部署场景。新手建议使用标准版。
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。
大多数内网服务器不需要代理,直接留空:
Done
7. 镜像地址
安装程序可能会询问是否使用 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 layout
1. 简单场景: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
数据盘:/data
3. 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-01
2. 用户建议
生产环境不要直接使用 root 远程登录。
建议:
普通用户 + sudo
Ubuntu 安装过程中创建的普通用户默认具有 sudo 权限。
八、Ubuntu Pro 和 SSH 配置
1. Ubuntu Pro
安装过程中可能看到:
Enable Ubuntu Pro
一般可以先跳过:
Skip for now
后续有需要再启用。
2. 安装 OpenSSH Server
这一项一定要勾选:
Install OpenSSH server
服务器装完如果没 SSH,后面维护会非常麻烦。
如果安装时忘记装,后续可以在控制台执行:
sudo apt update
sudo apt install openssh-server -y
3. Featured Server Snaps
这里会列出一些常用服务,例如:
- Docker
- Nextcloud
- PostgreSQL
- MySQL
- Redis
建议:
安装时先不勾选。
原因:
- Snap 版本更新方式和传统 apt 不同
- 排障时可能增加复杂度
- 生产环境更建议使用 apt、二进制、容器或官方源部署
我们可以在系统安装完成后再按需部署。
九、等待安装完成并重启
安装过程会自动:
- 下载基础包
- 安装系统
- 配置引导
- 安装 OpenSSH
- 完成初始化
安装完成后选择:
Reboot Now
重启前记得:
拔掉 U 盘
或卸载虚拟 ISO
否则可能再次进入安装界面。
十、安装完成后的系统初始化
系统重启后,使用安装时创建的用户登录。
接下来做初始化。
1. 查看系统版本
lsb_release -a
或者:
cat /etc/os-release
2. 更新系统
sudo apt update
sudo apt upgrade -y
如果更新了内核,建议重启:
sudo reboot
3. 修改主机名
如果安装时主机名没设置好,可以修改:
sudo hostnamectl set-hostname web-prod-01
查看:
hostname
重新登录后生效更明显。
4. 设置时区
查看当前时区:
timedatectl
设置为中国上海时区:
sudo timedatectl set-timezone Asia/Shanghai
再次查看:
timedatectl
5. 查看磁盘和分区
查看块设备:
lsblk
查看磁盘使用情况:
df -h
查看 LVM:
sudo pvs
sudo vgs
sudo lvs
十一、配置静态 IP
安装时配置过网络的话,这里可以检查一下。
Ubuntu Server 使用 Netplan 管理网络。
查看 netplan 配置文件:
ls /etc/netplan/
常见文件:
00-installer-config.yaml
01-netcfg.yaml
50-cloud-init.yaml
编辑配置文件:
sudo vim /etc/netplan/00-installer-config.yaml
示例配置:
network:
version: 2
renderer: networkd
ethernets:
enp1s0:
dhcp4: false
addresses:
– 192.168.10.10/24
routes:
– to: default
via: 192.168.10.1
nameservers:
addresses:
– 223.5.5.5
– 114.114.114.114
注意:
- enp1s0 要换成你自己的网卡名
- 缩进必须正确
- YAML 文件不能使用 Tab,必须用空格
查看网卡名:
ip a
应用配置:
sudo netplan apply
测试网络:
ping -c 4 baidu.com
十二、SSH 远程登录配置
服务器装完系统,最终目标之一就是能够远程 SSH 管理。
1. 检查 SSH 服务状态
sudo systemctl status ssh
如果没安装:
sudo apt update
sudo apt install openssh-server -y
启动并设置开机自启:
sudo systemctl enable –now ssh
2. 本地测试 SSH
在本机或另一台电脑上执行:
ssh ops@192.168.10.10
输入密码即可登录。
十三、使用 SSH 密钥登录
生产环境建议使用密钥登录,而不是密码登录。
1. 本地生成密钥
在你自己的电脑上执行:
ssh-keygen -t ed25519
一路回车即可。
生成文件:
~/.ssh/id_ed25519
~/.ssh/id_ed25519.pub
2. 上传公钥到服务器
ssh-copy-id ops@192.168.10.10
然后输入密码。
完成后再次登录:
ssh ops@192.168.10.10
如果不再要求输入密码,说明密钥配置成功。
十四、SSH 安全加固
1. 编辑 SSH 配置
sudo vim /etc/ssh/sshd_config
建议配置:
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
如果担心默认 22 端口被扫描,可以改端口:
Port 22222
注意:
修改 SSH 端口前,一定要确保:
- 防火墙放行新端口
- 云安全组放行新端口
- 密钥登录测试成功
否则可能把自己锁在外面。
2. 重启 SSH
sudo systemctl restart ssh
重新开一个终端测试登录,确认没问题后再关闭旧会话。
十五、配置防火墙 UFW
Ubuntu 自带 UFW。
1. 安装 UFW
如果未安装:
sudo apt install ufw -y
2. 放行 SSH
如果 SSH 是 22 端口:
sudo ufw allow 22/tcp
如果修改成 22222:
sudo ufw allow 22222/tcp
3. 启用防火墙
sudo ufw enable
查看状态:
sudo ufw status verbose
十六、安装常用运维工具
刚装完系统,建议安装一批基础工具:
sudo apt update
sudo apt install -y vim curl wget git htop net-tools lsof unzip tcpdump
常用工具说明:
| vim | 文本编辑 |
| curl | HTTP 请求测试 |
| wget | 下载文件 |
| htop | 进程和资源监控 |
| net-tools | ifconfig、netstat 等命令 |
| lsof | 查看文件和端口占用 |
| tcpdump | 抓包 |
| unzip | 解压 zip 文件 |
十七、挂载额外数据盘
如果服务器有单独数据盘,需要手动格式化并挂载。
1. 查看磁盘
lsblk
假设数据盘是:
/dev/sdb
2. 分区
sudo fdisk /dev/sdb
简单流程:
n 新建分区
p 主分区
1 分区号
回车 默认起始
回车 默认结束
w 保存
生成:
/dev/sdb1
3. 格式化
sudo mkfs.ext4 /dev/sdb1
4. 创建挂载点
sudo mkdir -p /data
5. 获取 UUID
sudo blkid /dev/sdb1
输出类似:
/dev/sdb1: UUID="12345678-1234-1234-1234-123456789abc" TYPE="ext4"
6. 写入 fstab
编辑:
sudo vim /etc/fstab
添加:
UUID=12345678-1234-1234-1234-123456789abc /data ext4 defaults,nofail 0 2
7. 挂载测试
sudo mount -a
查看:
df -h
如果 /data 正常显示,说明挂载成功。
十八、更换国内软件源,可选
如果服务器在国内,访问官方源速度较慢,可以换源。
Ubuntu 22.04 示例
备份:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
编辑:
sudo vim /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
更新:
sudo apt update
Ubuntu 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. 使用远程管理口挂载 ISO
3. 安装完成后无法 SSH 连接
检查顺序:
ip a
确认 IP 是否正确。
sudo systemctl status ssh
确认 SSH 是否运行。
sudo ufw status
确认防火墙是否放行 22 端口。
本地测试:
ssh user@127.0.0.1
远程测试:
telnet 服务器IP 22
或:
nc -zv 服务器IP 22
如果本机可以,远程不行,检查:
- 网关
- 路由
- 防火墙
- 安全组
- VLAN
- IP 冲突
4. Netplan 配置不生效
常见原因:
- YAML 缩进错误
- 使用了 Tab
- 网卡名写错
- 没有执行 netplan apply
检查配置:
sudo netplan try
如果配置有问题,它会自动回滚。
应用配置:
sudo netplan apply
5. 重启后又进入安装界面
原因通常是启动顺序问题。
解决方法:
1. 拔掉 U 盘
2. 卸载虚拟 ISO
3. 进入 BIOS 调整启动顺序
4. 确保硬盘为第一启动项
6. apt update 报错
常见原因:
- 源地址错误
- DNS 不通
- 服务器无法访问外网
- 代理配置错误
- 系统版本代号写错
先测试 DNS:
ping -c 4 mirrors.aliyun.com
再测试源地址:
curl -I http://mirrors.aliyun.com/ubuntu/
二十、一套标准的 Ubuntu Server 初始化脚本思路
如果后续需要批量部署,可以把初始化动作脚本化。
常见初始化脚本内容包括:
#!/bin/bash
set -e
# 更新系统
apt update
apt upgrade -y
# 设置时区
timedatectl set-timezone Asia/Shanghai
# 安装常用软件
apt install -y vim curl wget git htop net-tools lsof unzip
# 启动 SSH
systemctl enable –now ssh
# 防火墙放行 SSH
ufw allow 22/tcp
ufw enable
echo "Ubuntu Server init done."
生产环境建议结合 Ansible、SaltStack、cloud-init、Autoinstall 等工具实现标准化装机。
网硕互联帮助中心





评论前必须登录!
注册