没有预装系统的云服务器(通常称为“裸金属”或“自定义镜像”实例),在控制台里看到的状态往往是“未安装操作系统”或者启动后黑屏/报错。这其实是个伪命题——绝大多数主流云厂商的 ECS/CVM 实例,底层都提供了标准的 ISO 镜像引导功能,你不需要像传统物理机那样去插 U 盘刻录系统。
配置 CentOS 或 Ubuntu 的核心逻辑只有一条:通过 VNC(虚拟控制台)挂载官方 ISO 镜像进行网络或本地安装。
下面以国内最通用的阿里云 ECS、腾讯云 CVM 为例,梳理标准操作流程。不同厂商界面略有差异,但原理一致。
一、 核心前置认知
-
为什么叫“没有预装系统”?
你在创建实例时选择了“自定义镜像”且该镜像为空,或者删除了原有系统盘快照重建。此时磁盘是空的,BIOS 找不到引导设备。 -
你需要什么?
- 一台已创建但未安装系统的云服务器。
- 一个有效的公网 IP(用于联网安装软件包,推荐)。
- 远程连接工具(SSH 客户端如 Xshell、Putty,或终端)。
- 关键:VNC 访问权限(这是你唯一能“看见”屏幕的地方)。
-
不要尝试用 PXE 手动搭建除非你是运维专家
新手容易踩坑:试图从外部服务器搭建 DHCP/TFTP/PXE 环境来自动部署。对于单台或少量机器,直接挂载 ISO 到 VNC 是最快、最稳定、出错率最低的方式。
二、 通用操作步骤(以阿里云/腾讯云为例)
第一步:准备 ISO 镜像文件
虽然很多云厂商提供了“公共镜像”,但既然你说“没有预装系统”,说明你可能想从零开始装。
- CentOS: 推荐下载
CentOS 7或CentOS Stream 9的 DVD ISO。注意:CentOS 8 已停止维护,建议用 Stream 版本。 - Ubuntu: 推荐下载
Ubuntu 20.04 LTS或22.04 LTSServer 版 ISO。
⚠️ 合规提示:请确保你使用的镜像来源合法,避免使用破解版或含后门镜像。建议使用官网直链。
第二步:将 ISO 上传至对象存储(OSS/COS)
你不能直接把 ISO 传到虚拟机里,因为此时它还没系统。正确做法是:
- 登录云厂商控制台。
- 进入对象存储服务(如阿里云 OSS、腾讯云 COS)。
- 创建一个 Bucket(存储桶)。
- 上传你的 CentOS/Ubuntu ISO 文件到这个 Bucket。
- 获取该文件的 临时访问 URL 或直接记录文件名路径。
第三步:制作“自定义镜像”并绑定 ISO
这一步是关键,让云服务器知道启动时要加载哪个 ISO。
- 回到云服务器控制台,找到你的实例。
- 找到 “镜像” 或 “自定义镜像” 管理页面。
- 选择 “从对象存储导入” 或类似选项。
- 输入你在第二步中上传 ISO 的路径或 URL。
- 等待镜像创建完成(可能需要几分钟)。
- 重要:将该自定义镜像设置为当前实例的系统盘镜像(部分厂商支持直接更换系统盘为自定义镜像)。
🔄 更简单的替代方案(推荐):
如果厂商支持,直接在创建实例时的“高级设置”或“启动模板”中,指定使用这个包含 ISO 的自定义镜像作为引导源。
第四步:通过 VNC 启动安装过程
-
重启实例。
-
在控制台点击 “远程连接” → “VNC 登录”。
-
你会看到一个黑底白字的 BIOS/GRUB 界面。
-
如果成功挂载 ISO,GRUB 菜单会出现多个启动项。选择带有 “Install CentOS Linux” 或 “Install Ubuntu” 字样的选项。
-
进入图形化或文本安装界面:
- CentOS: 选择语言 → 时区 → 键盘 → 安装目标磁盘(选你的系统盘)→ 网络配置(设为 DHCP 或静态 IP)→ 软件选择(Minimal 最小化安装即可)→ 开始安装。
- Ubuntu: 选择语言 → 键盘布局 → 网络配置 → 主机名 → 用户账户(设置 root 密码和 sudo 用户)→ 安装类型(Standard Server)→ 确认分区 → 开始安装。
-
安装完成后,VNC 会提示重启。务必拔掉 ISO 或取消挂载,否则下次还会进安装界面。
第五步:首次登录与基础配置
- 重启后,使用 SSH 客户端连接你的公网 IP。
ssh username@your_server_ip - 更新系统:
- CentOS:
sudo yum update -y # 或 dnf update -y (CentOS 8+) - Ubuntu:
sudo apt update && sudo apt upgrade -y
- CentOS:
- 配置防火墙:
- CentOS (firewalld):
sudo systemctl enable firewalld sudo firewall-cmd --permanent --add-service=ssh sudo firewall-cmd --reload - Ubuntu (ufw):
sudo ufw allow ssh sudo ufw enable
- CentOS (firewalld):
- 关闭 SELinux(可选):
CentOS 默认开启 SELinux,对初学者可能造成权限困扰。如需关闭:sudo setenforce 0 sudo sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
三、 常见问题与避坑指南
1. VNC 连不上怎么办?
- 检查实例状态是否为“运行中”。
- 检查安全组是否放行了 VNC 端口(通常是 5900+ 或厂商特定端口)。
- 有些云厂商要求先开启“VNC 服务”才能使用。
2. 安装过程中网络不通?
- 确保实例已分配公网 IP。
- 在 VNC 安装界面中,手动配置 DNS 为
8.8.8.8或114.114.114.114。 - 如果是内网环境,需配置 YUM/Apt 源指向内部镜像站(如阿里源、清华源)。
3. 为什么不用 PXE?
PXE 适合批量部署(几十上百台),但对于单台或几台机器,配置 DHCP/TFTP 服务器耗时且易出错。ISO 挂载方式简单直观,适合个人开发者和小团队。
4. 数据安全提醒
- 安装前务必备份重要数据(如果有旧数据)。
- 不要在生产环境直接使用 root 账户日常操作,创建普通用户并赋予 sudo 权限。
- 定期更新系统和软件包,修补安全漏洞。
四、 总结
没有预装系统的云服务器配置 CentOS/Ubuntu,本质就是:
- 上传 ISO 到对象存储。
- 制作自定义镜像并关联到实例。
- 通过 VNC 引导安装。
- 重启后 SSH 登录并完成基础配置。
整个过程无需复杂脚本,只需按部就班操作即可。如果遇到具体厂商的特殊限制(如华为云、天翼云等),请参考其官方文档中的“自定义镜像”章节,逻辑完全相通。
记住:VNC 是你唯一的眼睛,ISO 是你的安装介质,SSH 是你未来的手脚。
云技术博客