无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 19729|回复: 87
打印 上一主题 下一主题

[原创] 更简单的VHD(x)系统

  [复制链接]
跳转到指定楼层
1#
发表于 2023-6-8 14:50:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wavelu 于 2023-11-19 15:11 编辑

自Windows7起始,Windows提供了原生的VHD启动能力,VHD文件制作和使用很方便,但编辑BCD启动选项很复杂,尤其是小白同学,简直是一头雾水。
随着UEFI全面替代传统BIOS,且UEFI提供了应用级别的开发能力,使得我们能力在UEFI的级别上制作通用的系统引导管理器,最主要是更简化的设置或者不需要设置就能启动VHD(x)镜像文件。

AINUC云固件就是这样的一个开发成果,欢迎大家测试和验证。
AINUC®️云固件的安装 - 知乎 (zhihu.com)

更多内容可以搜索“AINUC云固件”,知乎、B站都有视频讲解。微信公众号:“云固件”
来自“无忧论坛”的网友希望加入交流群的,可以微信搜索“AINUC99”添加云固件小助手。

云固件主程序:r1.6.23942

云固件镜像文件:

Windows 10/11:
Windows 10 Pro
Windows 11 Pro

Ubuntu:
Ubuntu 22.04 LTS

有概率无法启动的国产系统:
深度操作系统


评分

参与人数 1无忧币 +5 收起 理由
c2y + 5

查看全部评分

2#
 楼主| 发表于 2023-6-8 14:55:29 | 只看该作者
回复

使用道具 举报

3#
 楼主| 发表于 2023-6-8 15:01:03 | 只看该作者
云固件主界面
回复

使用道具 举报

4#
 楼主| 发表于 2023-6-8 15:15:46 | 只看该作者
本帖最后由 wavelu 于 2023-6-8 15:29 编辑

B站视频直达链接
AINUC云固件
知乎专栏直达链接
AINUC®️云固件 - 知乎 (zhihu.com)
回复

使用道具 举报

5#
发表于 2023-6-8 15:35:40 | 只看该作者
顶一下
回复

使用道具 举报

6#
发表于 2023-6-8 15:36:12 | 只看该作者
谢谢分享。
回复

使用道具 举报

7#
发表于 2023-6-8 15:40:46 | 只看该作者
学习了一下
回复

使用道具 举报

8#
发表于 2023-6-8 15:48:18 | 只看该作者
谢谢分享。
回复

使用道具 举报

9#
发表于 2023-6-8 16:06:22 | 只看该作者
主界面很漂亮
回复

使用道具 举报

10#
发表于 2023-6-8 16:46:27 | 只看该作者
本帖最后由 2013qwaszx 于 2023-6-8 16:51 编辑

楼主你好,通过阅读您给出的知乎链接中的文字介绍后,有如下疑问:

1. 关于“云固件”中的“云”,我在阅读了四篇文章后,仅在《AINUC®️云固件是什么?》一文中的“云固件的基本原理”小节中看到有关“云”,或者说联网启动的功能。然而,在后面却说目前还不支持网络下载,那么“网络下载镜像”功能预计什么时候能够实现呢?

2. 您在《白话云固件》一文的结语中提到:“云固件通过将镜像文件虚拟成物理硬盘的方式”,请问“镜像文件”的格式有无要求?本帖子主题为“更简单的VHD(x)系统”,那么对其他虚拟磁盘格式是否支持,例如VMware公司的vmdk格式,VirtaulBox的vdi格式,QEMU的qcow2格式,裸磁盘/分区RAW格式,抑或是云固件的专有镜像格式?

3. 我在多篇文章开头看到了“L1”、“L2”和“L3”级别等字样,这分别代表哪些用户?

4. 另外,如果在多台计算机之间相互移植操作系统,是否会出现因驱动、磁盘挂载配置等问题造成的无法启动现象,云固件又是如何解决相应问题?

5. 论坛中已有相关启动虚拟硬盘镜像文件的作品,例如NTBOOT可启动装有Windows操作系统的VHD(x)格式,Ventory可启动装有Windows和Linux的VHD(x)格式,甚至是装在vdi中的Linux(ventoy.net/cn/plugin_vtoyboot.html),那么“云固件”除了“联网”之外对于这类启动器有何优势?

最后,向楼主提出建议:

1. 在知乎专栏的四篇介绍文章中,重复内容太多,可以考虑适当精简背景介绍相关文字,毕竟对于有“云固件”需求的人大多都会对计算机历史、计算机启动过程有些了解。



点评

1 网络下载的能力包含两块功能,一是网络本身支持功能,二是资源,没有可用的镜像文件资源,网络下载功能就是瘸子;但镜像资源需要积累,所以才先发出来了目前的版本。预计支持网络下载能力的版本r2.x系列在23年Q4左  详情 回复 发表于 2023-6-8 17:37
回复

使用道具 举报

11#
发表于 2023-6-8 16:59:02 | 只看该作者
云固件,名字起得好,但功能上要跟进才行,不能只解决启动上的问题。
就现有的功能上来说,好像g4u+ntboot4u就可以了。
bios的话,g4d+ntboot就可以了,这个我十年前就发过成熟的方案。
既然名字与云扯上关系了,就应该实现镜像的批量管理与p2p分发,就是功能上向现在的voi模式的桌面云靠近。

点评

还是咱们这里能收到回馈,先赞一个。 目前的r1.2.23418版本处于一个可用的系统状态,离最终的“云固件”定义还有差距,当前实现了镜像的启动、离线的导入导出功能。相当于千头万绪走出了第一步。 第二步就会引  详情 回复 发表于 2023-6-8 17:22
回复

使用道具 举报

12#
发表于 2023-6-8 17:14:51 | 只看该作者
软件源码公开要求
楼主提供的软件核心部分 "bootx64.efi",显然是基于 rEFInd 进行修改的[1]。
rEFInd 的许可证是 GPLv3[2]。此许可证要求修改者以某种方式把修改版向公众发布时,必须向用户提供修改版的源代码。
[1]

[2]
https://sourceforge.net/p/refind/code/ci/master/tree/COPYING.txt

因此,我有权要求楼主公开此部分源代码,以符合 GPLv3 许可证的协议[3]。
[3]

https://www.gnu.org/licenses/gpl ... eSourcePostedPublic

请楼主遵守 GPLv3 许可证的相关协议。
如果楼主的软件没有使用/修改 rEFInd 的代码,请举出相关证据,如果属实,我将致歉。

点评

有诚意的都直接挂git地址。  发表于 2023-7-20 21:35
哈哈,被你发现了,界面确实借用了refind部分,核心是自主开发的VirtualDiskDxe的函数库,更改的代码会在GitHub上公开。  详情 回复 发表于 2023-6-8 17:47

评分

参与人数 1无忧币 +5 收起 理由
lbw2007 + 5 眼睛太尖了。一般骗子都留公众号,有诚意的.

查看全部评分

回复

使用道具 举报

13#
发表于 2023-6-8 17:17:14 | 只看该作者
学习了一下
回复

使用道具 举报

14#
 楼主| 发表于 2023-6-8 17:22:40 | 只看该作者
bfgxp 发表于 2023-6-8 16:59
云固件,名字起得好,但功能上要跟进才行,不能只解决启动上的问题。
就现有的功能上来说,好像g4u+ntboot ...

还是咱们这里能收到回馈,先赞一个。

目前的r1.2.23418版本处于一个可用的系统状态,离最终的“云固件”定义还有差距,当前实现了镜像的启动、离线的导入导出功能。相当于千头万绪走出了第一步。

第二步就会引入网络下载的功能,网络本身的支持开发难度有,但不是难克服,难点是镜像与主机的匹配,也就是得攒够足够的镜像资源,这样用户才能下载到适合用户主机的镜像文件。

所以也是为啥先把第一步的成果提交出来了。
回复

使用道具 举报

15#
发表于 2023-6-8 17:26:50 | 只看该作者
哈哈,关注一下
回复

使用道具 举报

16#
 楼主| 发表于 2023-6-8 17:37:26 | 只看该作者
2013qwaszx 发表于 2023-6-8 16:46
楼主你好,通过阅读您给出的知乎链接中的文字介绍后,有如下疑问:

1. 关于“云固件”中的“云”,我在 ...

1 网络下载的能力包含两块功能,一是网络本身支持功能,二是资源,没有可用的镜像文件资源,网络下载功能就是瘸子;但镜像资源需要积累,所以才先发出来了目前的版本。预计支持网络下载能力的版本r2.x系列在23年Q4左右发布;

2 由1带来的镜像资源文件问题,本质上是可以支持多种格式的,但比较流通的是vhd(x)格式,所以最后一定是统一到vhdx格式上,而且工具也比较多;

3 咱们这里的同学比较专业,所以能看懂vhd系统相关的术语,但知乎、B站以及微信视频号里面的同学差距太大的,所以才区分了L1到L3三个等级,L1相当于会使用计算机的小白同学,L2了解基本硬件、知道操作系统、能够自行安装软件和配置,L3相当于高手级别,能够自行安装Windows操作系统、了解Linux等其他系统;

4 云固件核心要解决的问题之一,所以镜像资源就需要做硬件差异化,所以会出现镜像文件从L0-L5的差分镜像来解决这个问题,文章后续会发出来。

5 云固件与其他启动器的差别,主要是镜像资源差别,部署方式区别,以及操作镜像(下载、差分、回滚、备份、加密等)能力;

建议:第一次从0起步做内容,面临了很多不同能力、不同背景的朋友、同学、同事等用户,要求也不同,所以文章没有考虑全面,先出来,再更改,包括视频介绍也是如此。


总而言之,是骡子是马总得拿出来溜溜,感谢大家的宝贵意见!!
回复

使用道具 举报

17#
 楼主| 发表于 2023-6-8 17:47:39 | 只看该作者
wintoflash 发表于 2023-6-8 17:14
软件源码公开要求
楼主提供的软件核心部分 "bootx64.efi",显然是基于 rEFInd 进行修改的[1]。
rEFInd 的 ...

哈哈,被你发现了,界面确实借用了refind部分,核心是自主开发的VirtualDiskDxe的函数库,更改的代码会在GitHub上公开。

点评

那希望楼主尽快兑现承诺。 另外,我有以下疑问: [attachimg]527745[/attachimg] 如果核心部件开源的话,如何做到这一点?在 Windows 虚拟磁盘驱动上做限制吗?如何盈利? [attachimg]527746[/attachimg] 微软  详情 回复 发表于 2023-6-8 19:15
回复

使用道具 举报

18#
发表于 2023-6-8 18:37:09 | 只看该作者
多谢分享
回复

使用道具 举报

19#
发表于 2023-6-8 19:15:54 | 只看该作者
wavelu 发表于 2023-6-8 17:47
哈哈,被你发现了,界面确实借用了refind部分,核心是自主开发的VirtualDiskDxe的函数库,更改的代码会在 ...

那希望楼主尽快兑现承诺。
另外,我有以下疑问:

如果核心部件开源的话,如何做到这一点?在 Windows 虚拟磁盘驱动上做限制吗?如何盈利?

微软是拒绝给 GPLv3 许可协议的 EFI 程序签名的。楼主打算如何解决?通过 shim 吗?

点评

后面两个问题,先👍一下,早知如此,就应该早早来无忧论坛发帖了,少走弯路。 安全启动、签名证书、盈利,这些都需要回避GPL的代码,所以您在查看我编译后代码可以我使用EDK来作为工具和环境,没用更简单  详情 回复 发表于 2023-6-8 23:56
云固件使用的refind的界面代码,见这个代码库 https://github.com/ainuc99/Multiware 主要修改的是launch_efi.c 411行,增加VD文件启动调用; main.c 497行,增加vd.config自定义配置入口; 这部分的代码已  详情 回复 发表于 2023-6-8 23:42
回复

使用道具 举报

20#
发表于 2023-6-8 19:47:19 | 只看该作者
先去投个币
回复

使用道具 举报

21#
发表于 2023-6-8 19:47:19 | 只看该作者
走一步是一步。加油。
回复

使用道具 举报

22#
发表于 2023-6-8 21:08:31 | 只看该作者
做个记号,看看再说
回复

使用道具 举报

23#
发表于 2023-6-8 21:22:16 | 只看该作者
感谢分享!
回复

使用道具 举报

24#
发表于 2023-6-8 21:39:40 | 只看该作者
学习,谢谢楼主分享
回复

使用道具 举报

25#
 楼主| 发表于 2023-6-8 23:42:28 | 只看该作者
wintoflash 发表于 2023-6-8 19:15
那希望楼主尽快兑现承诺。
另外,我有以下疑问:

云固件使用的refind的界面代码,见这个代码库
https://github.com/ainuc99/Multiware

主要修改的是launch_efi.c 411行,增加VD文件启动调用;
main.c 497行,增加vd.config自定义配置入口;

这部分的代码已经在替换中了,您可以看MultiwarePkg.dsc中有个BootUI的Application,就是用来平替这部分GPL代码的。
回复

使用道具 举报

26#
 楼主| 发表于 2023-6-8 23:56:17 | 只看该作者
本帖最后由 wavelu 于 2023-6-9 00:05 编辑
wintoflash 发表于 2023-6-8 19:15
那希望楼主尽快兑现承诺。
另外,我有以下疑问:

后面两个问题,先大大的赞一下,早知如此,就应该早早来无忧论坛发帖了,少走弯路。

安全启动、签名证书、盈利,这些都需要回避GPL的代码,所以您在查看我编译后代码可以我使用EDK来作为工具和环境,没用更简单的GNU-EFI来开发,着实费了不少劲,refind代码本身在EDK 2021之后就无法编译通过,调整和删除了很多代码后才能编译通过,而且基础的Str库还有问题。最重要的是,我只是需要使用一个界面代码,图省事就觉得拿现成代码用一下,结果后悔莫及,花掉的时间远远超过用EDK函数库自己构建一个的时间。

而且,微软签名的代码不能包含GPL代码,真是肠子都悔青了。

后续的解决方案就是平替这些代码,技术上就是使用EDK的函数库,封装的也很不错了,而且云固件也不需要复杂功能,所以比较容易处理。

在这个基础上,做个简单的证书许可即可完成限制。对普通用户来说,不需要注册账户即可使用,三个入口也足以应付日常需要,而且也可以利用目前的helper启动辅助盘来变相支持超过3个镜像。商业化的模式更多面向专业用户,提供差分的快照、回滚、加密等等高级功能。毕竟只用爱发电是无法养活自己来支持项目的。
回复

使用道具 举报

27#
发表于 2023-6-9 02:19:35 | 只看该作者
谢谢分享
回复

使用道具 举报

28#
发表于 2023-6-9 06:00:49 | 只看该作者
谢谢。。。
回复

使用道具 举报

29#
发表于 2023-6-9 11:32:26 | 只看该作者
支持下
回复

使用道具 举报

30#
发表于 2023-6-9 15:32:50 | 只看该作者
学习一下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 23:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表