当前位置: 首页 > news >正文

【运维实战】Ubuntu Server 安装到服务器全流程详解:从镜像准备到远程 SSH 登录

本文以Ubuntu Server 22.04 LTS / 24.04 LTS为例,详细讲解如何将 Ubuntu 系统安装到物理服务器或远程服务器上。文章面向刚接触 Linux 服务器运维的同学,也适合需要标准化装机流程的运维人员参考。

很多刚接触服务器的朋友一听到“装系统”就有点慌:

  • 服务器和普通电脑有什么不一样?
  • 磁盘要不要提前做 RAID?
  • UEFI 还是 Legacy?
  • 分区怎么分才合理?
  • 装完以后怎么远程连接?
  • SSH 怎么配置更安全?
  • 网卡 IP 怎么固定?
  • 安装完还要做哪些初始化?

这篇文章我们就按照真实运维上线流程,一步步讲清楚。


目录

  1. 服务器安装 Ubuntu 前的准备工作
  2. 下载 Ubuntu Server 镜像并校验
  3. 制作启动盘或挂载 ISO
  4. 服务器 BIOS / RAID / 启动项配置
  5. Ubuntu Server 安装完整流程
  6. 磁盘分区方案推荐
  7. 网络配置与静态 IP 设置
  8. 安装完成后的系统初始化
  9. SSH 远程登录配置
  10. 安全加固建议
  11. 常见问题排查
  12. 总结

一、服务器安装 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

推荐使用RufusVentoy

Rufus 使用要点

打开 Rufus:

  1. 选择 U 盘
  2. 选择 Ubuntu Server ISO
  3. 分区类型根据服务器启动方式选择:
    • UEFI:GPT
    • Legacy BIOS:MBR
  4. 开始写入

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。

大致流程:

  1. 登录服务器远程管理页面
  2. 打开 Virtual Console / Remote Console
  3. 挂载 ISO 文件
  4. 设置下次启动从 Virtual CD / DVD 启动
  5. 重启服务器

四、服务器 BIOS / RAID / 启动项配置

这一步非常关键。

1. 进入 BIOS 或 Boot Menu

服务器开机时根据品牌不同,进入方式不同:

品牌常见快捷键
DellF2 / F12
HPF9 / F11
LenovoF1 / F12
浪潮Del / F12
华为Del / F11
超微Del / F11

一般:

  • F2Del:进入 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
系统盘两块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

填写以下信息:

配置项示例
Subnet192.168.10.0/24
Address192.168.10.10
Gateway192.168.10.1
Name servers223.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 Partition512MB - 1GBFAT32/boot/efiUEFI 必需
/boot1GBext4/boot存放内核和引导文件
LVM PV剩余空间LVM-逻辑卷管理
lv-root50GB - 100GBext4/系统根目录
lv-swap4GB - 16GBswapswap交换分区
lv-var50GB 或更多ext4/var日志、容器、包缓存
lv-home剩余空间ext4/home用户目录

如果服务器有独立数据盘,建议系统盘和数据盘分离:

系统盘:/、/boot、/var 数据盘:/data

3. Swap 分多大?

简单建议:

内存大小Swap 建议
小于 4GB内存的 2 倍
4GB - 16GB4GB - 8GB
16GB - 64GB8GB - 16GB
大于 64GB4GB - 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,后面维护会非常麻烦。

如果安装时忘记装,后续可以在控制台执行:

sudoaptupdatesudoaptinstallopenssh-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. 更新系统

sudoaptupdatesudoaptupgrade-y

如果更新了内核,建议重启:

sudoreboot

3. 修改主机名

如果安装时主机名没设置好,可以修改:

sudohostnamectl set-hostname web-prod-01

查看:

hostname

重新登录后生效更明显。


4. 设置时区

查看当前时区:

timedatectl

设置为中国上海时区:

sudotimedatectl set-timezone Asia/Shanghai

再次查看:

timedatectl

5. 查看磁盘和分区

查看块设备:

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--nowssh

2. 本地测试 SSH

在本机或另一台电脑上执行:

sshops@192.168.10.10

输入密码即可登录。


十三、使用 SSH 密钥登录

生产环境建议使用密钥登录,而不是密码登录。

1. 本地生成密钥

在你自己的电脑上执行:

ssh-keygen-ted25519

一路回车即可。

生成文件:

~/.ssh/id_ed25519 ~/.ssh/id_ed25519.pub

2. 上传公钥到服务器

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-y

2. 放行 SSH

如果 SSH 是 22 端口:

sudoufw allow22/tcp

如果修改成 22222:

sudoufw allow22222/tcp

3. 启用防火墙

sudoufwenable

查看状态:

sudoufw status verbose

十六、安装常用运维工具

刚装完系统,建议安装一批基础工具:

sudoaptupdatesudoaptinstall-yvimcurlwgetgithtopnet-toolslsofunziptcpdump

常用工具说明:

工具用途
vim文本编辑
curlHTTP 请求测试
wget下载文件
htop进程和资源监控
net-toolsifconfig、netstat 等命令
lsof查看文件和端口占用
tcpdump抓包
unzip解压 zip 文件

十七、挂载额外数据盘

如果服务器有单独数据盘,需要手动格式化并挂载。

1. 查看磁盘

lsblk

假设数据盘是:

/dev/sdb

2. 分区

sudofdisk/dev/sdb

简单流程:

n 新建分区 p 主分区 1 分区号 回车 默认起始 回车 默认结束 w 保存

生成:

/dev/sdb1

3. 格式化

sudomkfs.ext4 /dev/sdb1

4. 创建挂载点

sudomkdir-p/data

5. 获取 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 2

7. 挂载测试

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

更新:

sudoaptupdate

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 连接

检查顺序:

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 apply

5. 重启后又进入安装界面

原因通常是启动顺序问题。

解决方法:

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 等工具实现标准化装机。

http://www.jsqmd.com/news/1408554/

相关文章:

  • 华硕笔记本性能与显示优化实录:用G-Helper告别臃肿的Armoury Crate
  • 数学建模入门指南:从核心流程到实战案例解析
  • PHP代码审计实战:从伪协议到preg_replace /e修饰符的CTF漏洞利用
  • AI驱动的浏览器自动化:Vercel Agent Browser技术解析与应用
  • 电商大促场景下的Java面试:从JVM到Kafka,谢飞机的一日游
  • 基于可调谐Transmon阵列与亚微秒FPGA实时反馈的强自指耦合系统实现研究
  • 安装提速27%、启动提速21%、内容秒加载提速31%鸿蒙6.1三组数据分别说明什么
  • C语言入门:从Hello World到指针与内存管理的核心概念解析
  • JXLS实战指南:基于模板的Java Excel报表生成与性能优化
  • 网页表单自动填写技术:从DOM操作到自动化测试的四种方法详解
  • 第 2 篇 Codex 故障排查与插件安装
  • 基于大语言模型智能体的超表面自修正设计系统:原理、实现与应用
  • vlan配置
  • 微信小程序开发者工具:从安装到调试的完整实战指南
  • QMS与MES系统深度融合,打造全流程质量与生产管理
  • 第 5 篇 Codex 操控设计软件
  • G-Helper华硕笔记本控制工具实操指南:5个步骤告别臃肿的Armoury Crate
  • Windows系统文件SyncSettings.dll丢失找不到问题解决
  • BruceSec平台整合实践——资产与信息收集
  • HOOPS Exchange SDK 26.6 文件转换
  • 跨平台学习软件选择指南:从iPad到安卓、Windows的高效工具链构建
  • 教育信息化2.0落地观察:从“三全两高一大“看院校数字化的路线选择
  • 第 7 篇 Codex 实体门店自媒体获客
  • 不可见只物:AI幻觉的拓扑学
  • LLM智能体长期记忆机制:从向量检索到LeanMem架构实践
  • 数字华容道分层归位心法:从4x4降维到3x3的确定性解法
  • 2026 年更新:许昌本地线上推广公司怎么联系,老板花10万做的项目,居然败给了没花一分钱的它?-抖盈网络 - 行业鉴选官
  • 2.5G交换机选购指南:突破家庭内网瓶颈,释放NAS与Wi-Fi 7潜能
  • Wi-Fi MAC地址修改指南:绕过路由器黑名单与隐私保护实战
  • C++继承机制深度解析:从语法到内存模型与多态实现