前言
为什么需要Flash盘
如PiKVM官方所述,基于Linux运行的PiKVM受限于Linux内核,仅支持CDROM 挂载ISO(ISO文件不能超过2.2GB)。为支持更大的引导镜像(DVD ISO),官方建议采用模拟Flash磁盘(又称虚拟U盘)模式进行挂载。
按官方最佳实践,使用Flash盘并引导镜像需要经过一系列初始化处理,包括IMG虚拟盘创建、Ventoy分区与引导、上传ISO镜像并合并IMG等步骤。
以下对各个关键步骤进行说明,部分配置需要根据个人实际情况进行调整,以供后续使用参考。

wiki.blicube.com/blikvm
1 ►
创建IMG虚拟盘
为充分确保IMG虚拟盘兼容性,经测试验证推荐采用Linux (非PiKVM的x86机器)创建IMG格式虚拟盘,并完成第二步分区与引导。以下为 CentOS Linux 7.9 示例相关操作步骤。
数据盘、虚拟盘使用建议
PiKVM磁盘分区采取系统分区、数据分区隔离的模式。
以32GB TF卡为例,系统分区占用约为4GB,数据分区可用空间约为23GB。

图例:PiKVM TF分区

图例:df磁盘使用率

图例:PiKVM Web管理页面,数据分区可用率
综合考虑常用DVD大小在4-6GB、Ventoy引导程序、常规CD ISO文件以及临时交换空间(用于临时ISO上传)等,对于数据分区使用与IMG虚拟盘大小建议如下:

dd命令创建IMG虚拟盘
可使用以下命令分别创建13GB、35GB虚拟盘
dd if=/dev/zero of=ventoy.img bs=2M count=6656 status=progress
dd if=/dev/zero of=ventoy.img bs=4M count=8960 status=progress

2►
Ventoy分区与引导
下载Ventoy最新版

挂载IMG为裸磁盘
losetup 命令 -f参数可挂载裸磁盘,-l参数查看确认已挂载的裸设备。
以下示例已挂载至 /dev/loop0 裸设备。

Ventoy分区并引导处理
解压下载的ventoy包,进入执行命令
tar zxvf ventoy-1.0.97-linux.tar.gz
sudo sh ~/ventoy-1.0.97/Ventoy2Disk.sh -i /dev/loop0

可使用fdisk查看分区后的虚拟磁盘

Ventoy分区处理包括:
-
EFI分区:如上 /dev/loop0p2 , 用于Ventoy 引导程序,并且默认隐藏
-
数 据分区(含MBR引导): 如上/dev/loop0p1 ,用于MBR引导以及存储DVD ISO数据等。 并且默认格式化为exFAT,支持4GB以上大文件,支持Linux、Windows可读写。
3►
上传IMG至PiKVM
制作完成的IMG虚拟磁盘需要上传至PiKVM,这是PiKVM支持虚拟Flash磁盘(虚拟U盘)的唯一格式,并作为后续上传与使用ISO镜像的基础。
依次按以下步骤上传IMG虚拟磁盘:
切换PiKVM数据分区读写模式
ssh登陆PiKVM (root账号,默认密码root);
将数据分区重新挂载为可写,示例如下:

使用SCP命令直接上传至数据分区
在以上创建IMG虚拟磁盘的CentOS Linux 工作机上,使用以下命令直接上传:
scp ventoy.img root@pikvm_ip_address:/var/lib/kvmd/msd

在PiKVM 检查上传的IMG虚拟磁盘文件

同时在PiKVM Web端也能看到IMG磁盘

4►
上传ISO至IMG虚拟盘
说明:
-
上传镜像支持在PiKVM端直接上传,同时也支持WinPE上传,可根据情况自行选择;
-
Windows 安装光盘 ISO 不支持Flash模式挂载,并且大于2.2GB ISO不能以CDROM挂载,因此需要上传后合并至IMG虚拟盘(通过Ventoy引导DVD大文件ISO);
-
由于Linux ISO 直接支持以Flash磁盘模式挂载,可以正常识别并安装,无需再次合并至IMG虚拟磁盘;
4.1 PiKVM上传ISO镜像
适用环境
-
支持局域网、互联网、VPN网络环境下,路由可达PiKVM管理IP;
-
可通过Web 或SSH 访问PiKVM 管理后台;
-
尤其适用于被控端(PC或服务器)网卡未就绪、网络不可用的情况。
操作步骤
-
Web上传ISO镜像
通过访问PiKVM Web管理后台,将需要使用的ISO镜像上传到临时交换区(PiKVM数据分区)
可临 时关闭视频流,加 速上传。检查已上传的ISO文件

-
挂载虚拟磁盘数据分区
ssh登陆PiKVM (root账号,默认密码root);
重新挂载PiKVM数据分区为读写

使用以下命令查看IMG虚拟磁盘可用的数据分区及相应数据块偏移量
fdisk -l ./ventoy.img

如上查看到数据分区起始数据块为 2048 ,扇区大小为512,因此数据块offset为 2048*512=1048576
使用以下命令挂载IMG虚拟磁盘数据分区(默认以读写模式挂载)
mount -o loop,offset=1048576 ./ventoy.img /mnt

-
合并ISO至IMG虚拟磁盘
拷贝前需要将系统分区切换为读写模式(rw命令),并使用mv命令合并至IMG磁盘;
mv速度较慢,请耐心等待。

以上mv中报错“failed to preserve ownership for ': Operation not permitted”为正常现象,因为IMG虚拟磁盘为vfat格式,不能保存linux文件权限。
可继续上传其他必要的ISO,如WinPE等。所有操作确认完毕后使用以下命令进行安全切换:
取消IMG虚拟盘挂载:umount /mnt
切换数据分区为只读:mount -o remount,ro . (确保当前目录为 /var/lib/kvmd/msd)
切换系统分区为只读:ro

4.2 WinPE上传ISO镜像
适用环境
-
适用于不熟悉PiKVM 后台Linux Shell命令的用户;
-
适用于PiKVM数据分区容量有限(分盘IMG虚拟磁盘后,无多余可用的临时交换空间),TF卡较小的情况;
-
适用于被控制主机(PC或服务器)网卡就绪、网络可用的环境;
-
IMG虚拟磁盘必须已于PiKVM就绪,并预存了WinPE ISO;
操作步骤
-
使用IMG虚拟磁盘以Flash模式挂载,Ventoy引导后选择并启动WinPE系统;
通过WinPE系统浏览器下载ISO,保存至虚拟磁盘;

部分WinPE预装了ToDesk远程协助工具,可通过ToDesk远程文件传输将本地ISO文件上传至虚拟磁盘。


5►
虚拟盘挂载与引导启动
虚拟盘一律仅支持Flash模式挂载,除上传ISO需求外,正常模式下建议仅以只读模式进行挂载;
虚拟盘采用Ventoy引导启动,支持UEFI及传统Bios启动,支持引导Windows、Linux ISO镜像并进行系统安装与维护。

Blicube
公众号 |blicube
淘宝旺铺|北力电子
