Proxmox VE 8 入门上手系列(二):创建第一台虚拟机——从 ISO 到开机
本章目标:在 Proxmox 上成功创建一台虚拟机,安装好操作系统,并能通过 SSH 远程登录。
一、准备工作
1.1 你需要什么
- 一台已经安装好 Proxmox VE 8 的服务器(上一章已完成)
- 一个操作系统的 ISO 镜像文件(推荐 Ubuntu Server 22.04 LTS)
- 能访问 Proxmox Web 管理界面的电脑
1.2 下载 Ubuntu Server ISO
打开 Ubuntu 官网下载页面:
https://ubuntu.com/download/server 如果以上下载速度慢,可以用科大的镜像 https://mirrors.ustc.edu.cn/下载Ubuntu Server 22.04 LTS(文件名类似ubuntu-22.04.x-live-server-amd64.iso,约 2GB)。
你也可以选择 CentOS、Debian、Windows Server 等其他系统,步骤大同小异。
二、上传 ISO 镜像到 Proxmox
2.1 通过 Web 界面上传
- 登录 Proxmox Web 管理界面
- 在左侧资源树中,展开你的节点(如
pve) - 点击local (pve)→ 上方切换到ISO Images标签页
- 点击Upload按钮
- 点击Select File,选择下载好的 ISO 文件
- 点击Upload,等待上传完成
上传速度取决于你的网络,2GB 的文件大约需要 2-10 分钟。
2.2 通过 SFTP/SCP 上传(可选)
如果 Web 上传太慢,可以用工具直接传到服务器:
使用 WinSCP(Windows):
- 下载安装 WinSCP:https://winscp.net
- 新建会话:
- 文件协议:SFTP
- 主机名:你的 Proxmox IP(如 192.168.1.100)
- 用户名:root
- 密码:安装时设置的密码
- 连接后,进入目录
/var/lib/vz/template/iso/ - 将 ISO 文件拖入该目录
使用 scp 命令(Linux/Mac):
scpubuntu-22.04.x-live-server-amd64.iso root@192.168.1.100:/var/lib/vz/template/iso/上传完成后,刷新 Web 界面的 ISO Images 页面,应该能看到上传的镜像。
三、创建虚拟机
3.1 开始创建
- 点击右上角的Create VM按钮(蓝色)
- 弹出创建虚拟机向导
3.2 第一步:General(常规设置)
| 参数 | 说明 | 建议填写 |
|---|---|---|
| Node | 运行虚拟机的节点 | 默认即可(如 pve) |
| VM ID | 虚拟机的唯一编号 | 100(第一个虚拟机) |
| Name | 虚拟机名称 | ubuntu-vm |
| Start at boot | 开机自启 | 勾选(可选) |
VM ID 说明:Proxmox 用数字 ID 标识每个虚拟机/容器,范围 100-999999999。建议从 100 开始递增。
点击Next。
3.3 第二步:OS(操作系统)
| 参数 | 说明 | 选择 |
|---|---|---|
| Use CD/DVD disc image file (iso) | 使用 ISO 镜像安装 | 选中 |
| Storage | 存储位置 | local |
| ISO image | 选择 ISO 文件 | 选择你上传的 Ubuntu ISO |
| Guest OS | 客户机操作系统类型 | Linux |
| Version | 版本 | 6.x - 2.6 Kernel(Ubuntu 选这个) |
点击Next。
3.4 第三步:System(系统设置)
| 参数 | 说明 | 建议 |
|---|---|---|
| Graphic card | 显卡 | 默认 Standard |
| SCSI Controller | SCSI 控制器 | VirtIO SCSI(推荐,性能好) |
| Qemu Agent | QEMU 客户机代理 | 勾选(重要!) |
QEMU Guest Agent 是什么?
它是宿主机和虚拟机之间的"通信桥梁",安装后可以实现:
- 正确显示虚拟机的 IP 地址
- 优雅地关机/重启(而不是强制断电)
- 文件系统冻结(做快照时保证数据一致性)
点击Next。
3.5 第四步:Disks(磁盘设置)
| 参数 | 说明 | 建议 |
|---|---|---|
| Storage | 存储位置 | local-lvm 或 local-zfs |
| Disk size (GiB) | 磁盘大小 | 20(学习用)/ 50(生产用) |
| Format | 磁盘格式 | QEMU image format (qcow2) |
| Cache | 缓存模式 | Default (No cache) |
| Discard | 精简配置 | 勾选(支持 TRIM,节省空间) |
磁盘格式说明:
- qcow2:支持快照、压缩、精简配置,推荐
- raw:性能稍好,但不支持快照
点击Next。
3.6 第五步:CPU(处理器设置)
| 参数 | 说明 | 建议 |
|---|---|---|
| Sockets | CPU 插槽数 | 1 |
| Cores | 每插槽核心数 | 2(学习用)/ 4(生产用) |
| Type | CPU 类型 | host(宿主机直通,性能最好) |
CPU Type 说明:
- host:将宿主机的 CPU 特性全部暴露给虚拟机,性能最佳
- kvm64:通用兼容模式,迁移方便但性能稍差
点击Next。
3.7 第六步:Memory(内存设置)
| 参数 | 说明 | 建议 |
|---|---|---|
| Memory (MiB) | 内存大小 | 2048(2GB,学习用)/ 4096(4GB) |
如果宿主机内存充足(16GB+),可以给 4GB,运行更流畅。
点击Next。
3.8 第七步:Network(网络设置)
| 参数 | 说明 | 建议 |
|---|---|---|
| Bridge | 网桥 | vmbr0(默认) |
| VLAN Tag | VLAN 标签 | 不填(除非你有 VLAN) |
| Model | 网卡型号 | VirtIO(paravirtualized) |
| Firewall | 防火墙 | 勾选(默认) |
网卡型号说明:
- VirtIO:半虚拟化网卡,性能最好,推荐
- Intel E1000:兼容性最好,几乎所有系统都支持
- Realtek RTL8139:老旧系统兼容用
点击Next。
3.9 第八步:Confirm(确认)
检查所有配置,确认无误后点击Finish。
四、安装操作系统
4.1 启动虚拟机
- 在左侧资源树中,找到刚创建的虚拟机100 (ubuntu-vm)
- 点击选中它
- 点击右上角的Start按钮(绿色三角形)
4.2 打开 VNC 控制台
- 选中虚拟机后,点击右上角的Console按钮
- 选择“noVNC”(网页版控制台)
- 会弹出一个新窗口/标签页,显示虚拟机的屏幕
如果显示"Failed to connect to server",刷新页面或重新点击 Console。
4.3 安装 Ubuntu Server(图文步骤)
看到 Ubuntu 的启动菜单后,按以下步骤操作:
第一步:选择语言
选择“English”或“中文(简体)”,回车。
建议选择 English,避免后续命令行出现中文显示问题。
第二步:键盘布局
选择“English (US)”,Done。
第三步:安装类型
选择“Ubuntu Server”(默认),Done。
第四步:网络配置
这里会显示虚拟机的网卡信息,通常已经通过 DHCP 获取到 IP。
记下显示的 IP 地址(如192.168.1.101/24),后面 SSH 登录会用到。
选择Done继续。
如果你想设置静态 IP,可以在这里选择网卡 → Edit IPv4 → Manual,填入 IP、网关、DNS。
第五步:代理配置
如果没有代理,直接Done。
第六步:软件源
默认使用 Ubuntu 官方源,国内用户可以改为国内镜像:
- 选中镜像地址,按回车编辑
- 将
archive.ubuntu.com替换为mirrors.aliyun.com - 完整地址示例:
http://mirrors.aliyun.com/ubuntu - Done
第七步:磁盘分区
选择“Use an entire disk”(使用整个磁盘),Done。
确认磁盘,选择Done。
确认分区方案,选择“Continue”。
第八步:用户配置
| 参数 | 说明 | 示例 |
|---|---|---|
| Your name | 你的姓名 | Admin |
| Your server’s name | 服务器主机名 | ubuntu-server |
| Pick a username | 用户名 | admin |
| Choose a password | 密码 | 设置一个强密码 |
| Confirm your password | 确认密码 | 再次输入 |
重要:记住你设置的用户名和密码!这是登录系统的凭证。
选择“Install OpenSSH server”(安装 SSH 服务),空格键勾选,Done。
不勾选的话,后面无法远程登录!
第九步:Featured Server Snaps
不需要额外软件,直接Done。
第十步:等待安装完成
安装过程大约需要 10-20 分钟,取决于网络速度和磁盘性能。
看到“Install complete!”后,选择“Reboot Now”。
第十一步:重启后
重启时可能会提示移除安装介质,直接按回车继续。
等待系统启动,看到登录提示:
ubuntu-server login: _说明安装成功!
五、安装 QEMU Guest Agent
虽然创建虚拟机时勾选了 QEMU Agent,但还需要在虚拟机内部安装对应的软件。
5.1 通过 VNC 登录虚拟机
在 VNC 控制台中:
- 输入用户名(如
admin)回车 - 输入密码回车
5.2 安装 QEMU Guest Agent
# 更新软件包列表sudoaptupdate# 安装 QEMU Guest Agentsudoaptinstall-yqemu-guest-agent# 启动服务sudosystemctl start qemu-guest-agent# 设置开机自启sudosystemctlenableqemu-guest-agent# 查看状态sudosystemctl status qemu-guest-agent看到active (running)说明安装成功。
5.3 验证效果
回到 Proxmox Web 界面:
- 点击虚拟机的Summary标签页
- 应该能看到虚拟机的IP 地址显示出来了
如果 IP 没有显示,尝试重启虚拟机。
六、远程连接虚拟机
6.1 使用 SSH 连接
在另一台电脑的终端/PowerShell 中:
sshadmin@192.168.1.101输入密码后,成功登录!
将
admin替换为你的用户名,192.168.1.101替换为你的虚拟机实际 IP。
6.2 使用 Windows 远程桌面(可选)
如果你安装的是带有桌面环境的系统(如 Ubuntu Desktop),可以配置 RDP:
# 安装 XRDPsudoaptinstall-yxrdp# 启动服务sudosystemctl start xrdpsudosystemctlenablexrdp然后在 Windows 上打开"远程桌面连接",输入虚拟机 IP 即可。
七、虚拟机的基本操作
7.1 Web 界面操作
在 Proxmox 管理界面中,选中虚拟机后:
| 按钮 | 功能 | 说明 |
|---|---|---|
| Start | 启动 | 开机 |
| Shutdown | 关机 | 发送 ACPI 信号,优雅关机 |
| Stop | 停止 | 强制断电,类似长按电源键 |
| Reset | 重启 | 强制重启 |
| Console | 控制台 | 打开 VNC 远程桌面 |
7.2 命令行操作
通过 Proxmox 的 Shell 或 SSH 登录宿主机:
# 查看虚拟机列表qm list# 启动虚拟机(ID 100)qm start100# 关闭虚拟机(优雅关机)qmshutdown100# 强制停止虚拟机qm stop100# 重启虚拟机qmreboot100# 查看虚拟机状态qm status100# 查看虚拟机配置qm config100八、常见问题排查
Q1:虚拟机启动后黑屏,VNC 看不到画面
- 确认 ISO 镜像已正确挂载
- 检查虚拟机是否分配了足够的内存(至少 1GB)
- 尝试将显卡改为 “Standard (default)”
- 检查 BIOS 设置:虚拟机 → Options → BIOS → SeaBIOS(默认)或 OVMF(UEFI)
Q2:虚拟机无法获取 IP 地址
- 确认网桥
vmbr0已正确配置(连接到物理网卡) - 检查虚拟机的网卡是否启用
- 在虚拟机内执行:
sudo dhclient -v - 确认网络中有 DHCP 服务器(通常是路由器)
Q3:SSH 连接不上虚拟机
检查清单:
- 虚拟机和你的电脑在同一网络吗?
ping 192.168.1.101 - 虚拟机内 SSH 服务是否运行?
sudo systemctl status ssh - 防火墙是否允许 22 端口?
sudo ufw status - 安装时是否勾选了 OpenSSH server?
Q4:虚拟机运行很慢
- 检查宿主机资源:Proxmox 界面看 Summary 页
- 确认磁盘格式是 qcow2 且启用了 Discard
- 确认 CPU 类型是 host
- 给虚拟机分配更多内存和 CPU 核心
九、本章小结
恭喜你!到这里,你已经完成了:
- ✅ 上传 ISO 镜像到 Proxmox
- ✅ 创建并配置了一台虚拟机
- ✅ 在虚拟机中安装了 Ubuntu Server
- ✅ 安装了 QEMU Guest Agent
- ✅ 通过 SSH 远程登录虚拟机
- ✅ 掌握了虚拟机的基本操作
下一章预告:我们将创建第一个 LXC 容器,体验比虚拟机更轻量、启动更快的容器技术。
附录:qm 命令速查
# 创建虚拟机(命令行方式)qm create100--nameubuntu-vm--memory2048--cores2--net0virtio,bridge=vmbr0--scsihwvirtio-scsi-single--scsi0local-lvm:20# 挂载 ISOqmset100--ide2local:iso/ubuntu-22.04.iso,media=cdrom# 设置从硬盘启动qmset100--bootorder=scsi0# 克隆虚拟机qm clone100101--nameubuntu-vm-clone# 删除虚拟机qm destroy100# 查看虚拟机日志qm log100