PVE 安装 img 格式虚拟机教程:qm importdisk 图文全流程

AI 摘要大番茄AI

PVE 无法像 ISO 那样直接挂载 img 镜像,需先解压 img.gz 得到裸 img 并上传至存储的 ISO 目录,再创建空壳虚拟机,用 qm importdisk 命令导入磁盘,挂载后将其调到启动顺序首位即可开机。带 efi 的镜像须选 OVMF,提示无引导设备多半是启动顺序或存储名写错。

此内容由AI根据文章内容自动生成。

img 格式的镜像是 OpenWrt、iStoreOS、Armbian 这类系统的常见分发格式,但它没法像 ISO 一样直接挂到光驱里安装。很多新手第一次在 PVE(Proxmox VE)上装 img 都会卡在「找不到怎么挂盘」这一步。其中 img.gz 解压和 qm importdisk 转换这一段比较绕,单独写了一篇详解:PVE img 格式转换教程。这篇大番茄教程带你从下载到开机走一遍完整流程,照着做,十分钟就能装好一台软路由虚拟机。

一、准备工作

开始之前确认手上有这几样:

  • 一台装好 PVE 的机器(物理机安装,或 PVE 里嵌套 PVE 都可以);
  • 能打开 PVE 网页管理后台(https://PVE的IP:8006);
  • 要安装的 img 镜像:OpenWrt 官网或 iStoreOS 官网下载 x86_64 版本;
  • 命令行入口:PVE 网页右上角的「Shell」,或者用 SSH 工具登录 PVE。

二、下载并解压出 img 文件

官网下载回来的通常是个压缩包,比如:

istoreos-24.10.8-2026073111-x86-64-squashfs-combined-efi.img.gz

结尾是 .gz、.xz、.zip 的都要先解压,PVE 只认裸的 .img:

  • Windows:用 7-Zip 或 Bandizip 右键解压即可;
  • Linux / macOS:gunzip xxx.img.gz 或 xz -d xxx.img.xz。

解压后得到 xxx.img,这就是要传到 PVE 的文件。

PVE 下载并解压 img 镜像步骤图

三、把 img 上传到 PVE

  1. 打开 PVE 后台,左侧选中存储 local (pve);
  2. 点「ISO 镜像」→「上传」;
  3. 选择解压好的 .img 文件。部分 PVE 版本的上传窗口只认 iso 后缀,点不上就把文件名临时改成 .iso 传上去(不影响使用),或者用 WinSCP / scp 把文件直接放到 /var/lib/vz/template/iso/ 目录,效果一样;
  4. 上传完成后,镜像的完整路径是 /var/lib/vz/template/iso/文件名.img,把它复制下来,下一步要用。

PVE 上传 img 镜像到 local 存储 ISO 目录

四、创建一台空壳虚拟机

点右上角「创建虚拟机」,按下面的配置走:

  • 常规:VM ID 填 105(记住这个编号),名称随意;
  • 操作系统:选「不使用任何介质」;
  • 系统:机型默认 q35。BIOS 按镜像选——文件名带 efi 字样的选 OVMF (UEFI),普通镜像选默认 SeaBIOS;
  • 磁盘:把默认生成的磁盘删掉(选中 → 分离 → 删除),等导入后再挂;
  • CPU:软路由给 1~2 核就够;内存:建议 2048MB;
  • 网络:桥接 vmbr0,型号 VirtIO(半虚拟化);
  • 确认创建。先不要开机,因为还没有系统盘。

五、qm importdisk 导入磁盘

这是整个流程的核心命令。选中节点 → Shell,执行:

qm importdisk 105 /var/lib/vz/template/iso/istoreos.img local-lvm

三个参数的含义:

  • 105:上一步创建的虚拟机 VM ID;
  • /var/lib/vz/template/iso/istoreos.img:img 镜像的完整路径;
  • local-lvm:目标存储名称(在数据中心 → 存储里能看到,有的机器叫 local 或自定义名)。

回车后会看到传输进度,最后出现 Successfully imported disk as 'unused0:local-lvm:vm-105-disk-0' 就说明导入成功。

qm importdisk 把 img 导入为 PVE 虚拟机磁盘

六、挂载磁盘并调整启动顺序

  1. 选中虚拟机 105 →「硬件」,能看到一个「未使用磁盘 0」;
  2. 双击它,在弹出框里点「添加」,总线选 SATA(软路由镜像兼容性最好,SCSI 也可以);
  3. 再到「选项」→「引导顺序」,把刚挂载的磁盘拖到第一位并确认「已启用」;
  4. 把 CD-ROM 从引导列表里取消勾选,避免开机时优先找光驱。

PVE 挂载未使用磁盘并调整 Boot Order 启动顺序

七、开机验证

点「启动」,打开控制台(Console),看到系统的启动日志滚动起来就说明成功。OpenWrt 和 iStoreOS 的默认 LAN 地址一般是 192.168.1.1,把电脑网卡改成同网段(比如 192.168.1.100),浏览器访问就能进后台。

进系统后建议第一件事:给虚拟机拍个快照。以后随便折腾,一条命令就能回滚。

常见问题排查

提示 No bootable device —— 十有八九是启动顺序没调,或者导入时存储名写错了,回第四、五步检查。

importdisk 报 file not found —— img 路径不对,用 ls /var/lib/vz/template/iso/ 确认文件名(注意大小写)。

开机卡住或花屏 —— BIOS 选错了:带 efi 的镜像必须用 OVMF,普通镜像用 SeaBIOS;显示可以换成默认 VGA 试试。

想给系统盘扩容 —— 「硬件」里直接改磁盘大小,进系统后用分区工具把新空间并入根分区即可。

网页上传不了 img —— 用 WinSCP 或 scp 把文件传到 /var/lib/vz/template/iso/,效果完全一样。

到这里,PVE 安装 img 格式虚拟机就全部完成了。之后快照、备份、克隆都可以在 PVE 里一键搞定。我是大番茄,997wan.com 会持续更新 PVE、OpenWrt 相关的折腾笔记,遇到问题欢迎在评论区留言。

上一篇 SSH 密钥登录新手教程:从生成密钥到启用(一次配好,终身免密)
下一篇 物理机安装 PVE 9.1 图文攻略:从 Ventoy 启动盘到装机完成