无忧启动论坛

标题: 一个EFI文件引导千万个系统(VHDX) [打印本页]

作者: plutoshen    时间: 5 天前
标题: 一个EFI文件引导千万个系统(VHDX)
本帖最后由 plutoshen 于 2025-11-13 17:36 编辑



我做的GXDE OS VHDX版是通过云固件启动的。

操作系统或者包含用户使用要求的环境被安装到了虚拟磁盘文件里面,云固件把这个虚拟磁盘文件模拟成物理硬盘,然后启动起来里面的操作系统,操作系统也把这个虚拟磁盘文件当作自己的系统分区或者根文件系统,那么在操作系统上面运行的应用程序自然也就可以正常运行了。

我们可以给云固件下个定义,就是虚拟磁盘镜像文件的本地启动引导管理器。

给个正式一点的、技术定义更准确一点的说法就是这样的:

云固件(Multiware)是基于UEFI标准的固件扩展应用程序,通过将包含虚拟磁盘的镜像文件模拟为标准磁盘,实现了镜像文件内操作系统启动、多镜像文件切换以及复杂应用系统(包含操作系统、驱动程序、应用软件、配置信息、用户数据)快速部署,亦可支持虚拟磁盘镜像文件部署在移动存储设备。


原版云固件有上百个文件,切换版本很不方便,有网友制作了单文件efi版,让我们可以直接在菜单里选择使用哪一个版本。




解压出来是yun.efi这个文件。我们可以通过grub2或者rEFInd等工具调用它,保留原来的启动管理器。

首先,打开你的ESP分区,在EFI文件夹下面新建yun文件夹,把yun.efi放到里面。

然后,修改你的启动器配置文件,添加新的菜单项,参考下面的命令行。


GRUB 2

  1. chainloader  /EFI/yun/yun.efi
复制代码

rEFind
  1. chainloader  /EFI/yun/yun.efi
复制代码

最后,重启电脑,找到对应的菜单项,启动云固件。

如果不想把yun.efi放ESP分区,也可以搜索。

比如我有多个版本云固件,统一放到D盘efis文件夹下,用grub2启动时选择一个。菜单这样写:
  1. menuentry "mutiware_efi_25025" {
  2.     search -fs  /efis/yun25025.efi
  3.     chainloader /efis/yun25025.efi
  4. }

  5. menuentry "mutiware_efi_24512" {
  6.     search -fs  /efis/yun24512.efi
  7.     chainloader /efis/yun24512.efi
  8. }
复制代码


123云盘VIP会员的分享  云固件单文件版

传送门




作者: plutoshen    时间: 5 天前
备用
作者: yyz2191958    时间: 5 天前
觉得很深奥
作者: a66    时间: 5 天前
真引导千万个系统?
作者: plutoshen    时间: 5 天前
a66 发表于 2025-11-13 17:46
真引导千万个系统?

每个人都可以做自己的,也可以下载别人做好的,那么千万个都是说少了。
作者: it323    时间: 5 天前
感谢分享!
作者: ewq11111    时间: 5 天前

感谢分享!
作者: liwangzhe    时间: 5 天前
感谢分享!
作者: softwarezheng1    时间: 5 天前
谢谢分享
作者: wn168cn@163.com    时间: 5 天前
感谢分享!
作者: wavelu    时间: 5 天前
VHD和VHDX,两种格式都是支持的,vdtype里面声明一下就可以
作者: smile_z    时间: 5 天前
真的可以这么操作吗
作者: ILOVEQQ    时间: 5 天前
謝謝分享
作者: Climbing    时间: 5 天前
Linux系统是如何安装到vhd(x)中的?用虚拟机直接安装?
作者: hpj520    时间: 5 天前

觉得很深奥
作者: zylz9941    时间: 5 天前
正需要,谢谢分享
作者: wawakuliao    时间: 5 天前
感谢分享
作者: oym2016    时间: 5 天前
本帖最后由 oym2016 于 2025-11-13 23:00 编辑

解压yun.efi   是一个打包的grub2+shellx64.efi
menuentry "mv_img" {
map --mem --rt --type=hd $prefix/mv.img
boot
}

附图就mv.img内容



捕获.PNG (3.84 KB, 下载次数: 5)

捕获.PNG

捕获`1.PNG (5.59 KB, 下载次数: 8)

捕获`1.PNG

作者: plutoshen    时间: 5 天前
wavelu 发表于 2025-11-13 19:03
VHD和VHDX,两种格式都是支持的,vdtype里面声明一下就可以

哦,现在我们都用vhdx了。
作者: plutoshen    时间: 5 天前
Climbing 发表于 2025-11-13 20:05
Linux系统是如何安装到vhd(x)中的?用虚拟机直接安装?

使用了云固件的技术,比ventoy的办法先进,可以使用动态大小的vhdx,初始很小,按需增加体积。
作者: plutoshen    时间: 5 天前
oym2016 发表于 2025-11-13 21:55
解压yun.efi   是一个打包的grub2+shellx64.efi:
menuentry "mv_img" {
map --mem --rt --type=hd $pref ...

云固件原版就是这样的,打包只不过是为了方便使用,方便切换不同版本。
作者: 419545168    时间: 5 天前
感谢分享
作者: 481416322    时间: 4 天前
这个还是一个收费的软件呀,用grub浏览器一个文件就能实现启动无数个系统,免费的。
作者: rchc08    时间: 4 天前
感谢分享
作者: rchc08    时间: 4 天前
请问大神,菜单文件怎么编写,或者请上传个菜单文件

作者: lzsh11    时间: 4 天前
说的挺神的啊
作者: Climbing    时间: 4 天前
plutoshen 发表于 2025-11-13 22:48
使用了云固件的技术,比ventoy的办法先进,可以使用动态大小的vhdx,初始很小,按需增加体积。

答非所问。我问的是怎么安装的。
作者: 路路路过    时间: 4 天前
感谢大佬分享
作者: wang1126    时间: 4 天前
谢谢楼主分享
作者: qq339120298    时间: 4 天前
谢谢楼主分享

作者: guong    时间: 4 天前
谢谢分享!
作者: 进士小站    时间: 4 天前
下载了一个老版本一个新版本试试
作者: alexbro    时间: 4 天前
挺有意思的,要怎么用啊,bootice 直接加到启动项里边?
作者: fegr    时间: 4 天前
谢谢楼主分享
作者: alexbro    时间: 4 天前
oym2016 发表于 2025-11-13 21:55
解压yun.efi   是一个打包的grub2+shellx64.efi
menuentry "mv_img" {
map --mem --rt --type=hd $prefix ...

所以怎么让它跑起来
作者: zqfeng01    时间: 4 天前
感谢分享
作者: wwwlhp    时间: 4 天前
多谢分享!!!
作者: jinghuanqd    时间: 4 天前
感谢分享
作者: 419545168    时间: 3 天前
感谢分享
作者: 419545168    时间: 3 天前
感谢分享
作者: plutoshen    时间: 前天 14:33
481416322 发表于 2025-11-14 05:48
这个还是一个收费的软件呀,用grub浏览器一个文件就能实现启动无数个系统,免费的。

我也每天用grubfm的,但是grubfm不能启动Linux的vhdx。收费版只是功能更多,一般人用不上,所以实际上也可以说是免费的。
作者: plutoshen    时间: 前天 14:34
Climbing 发表于 2025-11-14 10:06
答非所问。我问的是怎么安装的。

具体安装方法一句话说不清,请到云固件微信公众号查看教程。
作者: 2267981144    时间: 前天 18:52
感谢辛苦提供分享!
作者: stz123456    时间: 昨天 11:37
感谢分享




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3