一个EFI文件引导千万个系统(VHDX)

查看 74|回复 8
作者:liwangzhe   
   
我做的GXDE OS VHDX版是通过云固件启动的。
操作系统或者包含用户使用要求的环境被安装到了虚拟磁盘文件里面,云固件把这个虚拟磁盘文件模拟成物理硬盘,然后启动起来里面的操作系统,操作系统也把这个虚拟磁盘文件当作自己的系统分区或者根文件系统,那么在操作系统上面运行的应用程序自然也就可以正常运行了。
我们可以给云固件下个定义,就是虚拟磁盘镜像文件的本地启动引导管理器。
给个正式一点的、技术定义更准确一点的说法就是这样的:
云固件(Multiware)是基于UEFI标准的固件扩展应用程序,通过将包含虚拟磁盘的镜像文件模拟为标准磁盘,实现了镜像文件内操作系统启动、多镜像文件切换以及复杂应用系统(包含操作系统、驱动程序、应用软件、配置信息、用户数据)快速部署,亦可支持虚拟磁盘镜像文件部署在移动存储设备。

原版云固件有上百个文件,切换版本很不方便,有网友制作了单文件efi版,让我们可以直接在菜单里选择使用哪一个版本。
解压出来是yun.efi这个文件。我们可以通过grub2或者rEFInd等工具调用它,保留原来的启动管理器。
首先,打开你的ESP分区,在EFI文件夹下面新建yun文件夹,把yun.efi放到里面。
然后,修改你的启动器配置文件,添加新的菜单项,参考下面的命令行。
GRUB 2[ol]
chainloader  /EFI/yun/yun.efi[/ol]复制代码
rEFind
[ol]chainloader  /EFI/yun/yun.efi[/ol]复制代码
最后,重启电脑,找到对应的菜单项,启动云固件。
如果不想把yun.efi放ESP分区,也可以搜索。
比如我有多个版本云固件,统一放到D盘efis文件夹下,用grub2启动时选择一个。菜单这样写:
[ol]menuentry "mutiware_efi_25025" {
    search -fs  /efis/yun25025.efi
    chainloader /efis/yun25025.efi
}
menuentry "mutiware_efi_24512" {
    search -fs  /efis/yun24512.efi
    chainloader /efis/yun24512.efi
}[/ol]复制代码
123云盘VIP会员的分享  云固件单文件版
传送门

固件, 磁盘, 文件

Buges   
备用
JH1CR7   
觉得很深奥
jjx   
真引导千万个系统?
ComputerIdiot   

a66 发表于 2025-11-13 17:46
真引导千万个系统?

每个人都可以做自己的,也可以下载别人做好的,那么千万个都是说少了。
gogoblue   
感谢分享!
Ailen   

感谢分享!
g123458   
感谢分享!
Eagleyes   
谢谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部