无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: wintoflash

[原创] GRUB2 UEFI 下的磁盘仿真

    [复制链接]
 楼主| 发表于 2020-12-18 14:47:28 | 显示全部楼层
本帖最后由 wintoflash 于 2020-12-18 15:11 编辑
liuzhaoyzz 发表于 2020-12-13 10:24
链接: https://pan.baidu.com/s/1m0RF_WFGJgQ1-dDgTVTh-g 提取码: uwvc

vdf是primo驱动生成的,diskge ...

看了一下,vdf 没有文件头,和固定大小vhd差不多。
你这个 vdf 里面没有 bootmgfw.efi 啊,没法测试。
这个 vdf 怎么连bios引导代码也没有?

vdf里面的 bcd 好像也有问题。
指定的磁盘不对,0x20 处全是 0。
2.png
正常的 bcd 应该在下面框起来的地方记录磁盘信息。mbr的是磁盘签名和分区偏移,gpt的是磁盘guid和分区guid。
1.png

点评

链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7 上传了个2.34GB的FT81.vdf完全镜像用于测试,这是单镜像模式,你的内存足够了吧。 快传完了。  详情 回复 发表于 2020-12-18 22:10
回复

使用道具 举报

发表于 2020-12-18 18:44:02 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-18 18:48 编辑

        
你这个 vdf 里面没有 bootmgfw.efi 啊,没法测试。

这个用于BIOS-PRIMO-RAMOS里面的,之前我以为你只需要测试下vdf文件是否能够正常用map加载,所以发了个我现在实际在用的。所以没有bootmgfw.efi。
我现在用于测试的SX7.vdf,有8GB,你的内存放不下。等下我重新制作个WIN8,小点的,带UEFI引导的,确保能放在你的内存,分享到网盘,问题是这个vdf是面向我的电脑的,在我这边都不能成功启动,在你的电脑也是不可能启动成功的,其实我也不知道发给你之后,你那边倒底要怎么测试,我有点发懵。

这个 vdf 怎么连bios引导代码也没有?

这个vdf之前是用g4d在BIOS下面加载的,用g4d直接map,所以不需要引导代码,g4d菜单如下:
default 0
timeout 0
title vdf/SX100624
find --set-root /vdf/SX100624/D-RAMOS-2020-0915-15521.vdf
map --read-only /vdf/SX100624/D-RAMOS-2020-0915-15521.vdf (hd0)
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/bootmgr
g4d加载这第一个小镜像之后,然后primo驱动把大镜像vdf加载到内存中,大小镜像具有相同的磁盘签名,在g4d从BIOS的实模式切换到windows保护模式之际,直接map的那个vdf小镜像会失效,vdf大镜像“狸猫换太子”,由于和小镜像具有相同的MBR(大小镜像不是同时加载的,同时加载相同磁盘签名的镜像会冲突,小的vdf镜像工作在实模式,大的vdf镜像工作在保护模式),大小镜像被windows认为是同一个磁盘,所以能够继续加载。有点复杂。
这样做达到的最终效果是C盘的大小就等于内存大小,内存动态回收,内存即硬盘,硬盘即内存。

vdf里面的 bcd 好像也有问题。
指定的磁盘不对,0x20 处全是 0

vdf里面的bcd采用的是boot/locate自动定位模式,自动定位到primo虚拟内存盘那个分区,自动定位的意思,我估计是primo启动之后,加载vdf到了内存盘,然后才会有定位目标吧。大概是这样子:
QQ拼音截图20201218184349.png


点评

primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的?  详情 回复 发表于 2020-12-18 19:03
回复

使用道具 举报

 楼主| 发表于 2020-12-18 19:03:34 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-18 18:44
这个用于BIOS-PRIMO-RAMOS里面的,之前我以为你只需要测试下vdf文件是否能够正常用map加载,所 ...
然后primo驱动把大镜像vdf加载到内存中

primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的?

点评

primo是遍历了所有的磁盘,查看磁盘签名,通过磁盘签名确定vdf所在的路径,我记忆中是这个样子,官方论坛有说过,一时找不到。 好像不是通过注册表,primo驱动启动组是SCSI class group,这个组是很早的,这时候注  详情 回复 发表于 2020-12-18 19:28
回复

使用道具 举报

发表于 2020-12-18 19:28:54 | 显示全部楼层
wintoflash 发表于 2020-12-18 19:03
primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的?

primo是遍历了所有的磁盘,查看磁盘签名,通过磁盘签名确定vdf所在的路径,我记忆中是这个样子,官方论坛有说过,一时找不到。
好像不是通过注册表,primo驱动启动组是SCSI class group,这个组是很早的,这时候注册表好像还没有被载入呢。
我只能凭以前primo官方论坛里面帖子的记忆来回答问题,回答不一定很准,但是总体方向肯定是对的

点评

和哪里的磁盘签名作比较?vdf吗? 也就是说 vdf 要和它所在硬盘的磁盘签名一致? 文件路径呢?  详情 回复 发表于 2020-12-18 20:05
回复

使用道具 举报

 楼主| 发表于 2020-12-18 20:05:12 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-18 19:28
primo是遍历了所有的磁盘,查看磁盘签名,通过磁盘签名确定vdf所在的路径,我记忆中是这个样子,官方论坛 ...
通过磁盘签名确定vdf所在的路径

和哪里的磁盘签名作比较?vdf吗?
也就是说 vdf 要和它所在硬盘的磁盘签名一致?
文件路径呢?

点评

经过论坛询问和email咨询,romex官方很保守,说的不详细。 您好,grub4dos UEFI版本需要与primo驱动进行对接,需要了解以下方面的信息: primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的? 是通过磁盘签  详情 回复 发表于 2020-12-23 10:45
romex官方论坛很不稳定,很难访问,我找了半天没找到那个帖子,我试图发帖,半天发不出去,郁闷。 当时官方的回复大概是这样子,primo驱动加载后,把d:\vdf\xxx.vdf加载到内存,好像是绝对路径写死的,  详情 回复 发表于 2020-12-18 21:14
回复

使用道具 举报

发表于 2020-12-18 21:14:38 来自手机 | 显示全部楼层
wintoflash 发表于 2020-12-18 20:05
和哪里的磁盘签名作比较?vdf吗?
也就是说 vdf 要和它所在硬盘的磁盘签名一致?
文件路径呢?

        romex官方论坛很不稳定,很难访问,我找了半天没找到那个帖子,我试图发帖,半天发不出去,郁闷。


当时官方的回复大概是这样子,primo驱动加载后,把d:\vdf\xxx.vdf加载到内存,好像是绝对路径写死的,具体写死在哪里不太清楚,可能是注册表,但我在注册表搜了下也没搜到,对于软件后台的东西不太清楚,还需要咨询他们哪些信息?我晚点在romex官方论坛发个帖子。
回复

使用道具 举报

发表于 2020-12-18 22:10:16 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-19 15:02 编辑
wintoflash 发表于 2020-12-18 14:47
看了一下,vdf 没有文件头,和固定大小vhd差不多。
你这个 vdf 里面没有 bootmgfw.efi 啊,没法测试。
...

链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7

上传了个2.34GB的FT81.vdf完全镜像用于测试,这是单镜像模式,你的内存足够了吧。

感觉grub2需要采用类似NTBOOT的那套机制,确保能过BCD。


点评

没看到? NTBOOT的哪套机制?我怎么不知道? ntboot, wimboot, map 创建虚拟盘用的是同一套东西。  详情 回复 发表于 2020-12-19 23:05
回复

使用道具 举报

 楼主| 发表于 2020-12-19 23:05:44 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-18 22:10
链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7

上传了个2.34GB的FT81.vdf完全 ...

上传了个2.34GB的FT81.vdf完全镜像用于测试,这是单镜像模式,你的内存足够了吧。

没看到?
感觉grub2需要采用类似NTBOOT的那套机制,确保能过BCD。

NTBOOT的哪套机制?我怎么不知道?
ntboot, wimboot, map 创建虚拟盘用的是同一套东西。

点评

链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7 不好意思,我上传的时候改了个名字,上传到原目录了,UEFI目录有个2.34GB的FT81.vdf完全镜像用于测试,这是单镜像模式  详情 回复 发表于 2020-12-20 15:07
我说的是在内存中建立个img启动镜像,里面放bootmgfw.efi,bcd这些,只要过了BCD,加载system之后,img启动镜像的任务就完成了,这是我纯粹瞎猜,不懂瞎说的。 技术细节 wimboot 可以生成一个 bootmgfw.exe/bootmgr  详情 回复 发表于 2020-12-20 08:12
回复

使用道具 举报

发表于 2020-12-20 08:12:14 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-20 09:07 编辑
wintoflash 发表于 2020-12-19 23:05
没看到?

NTBOOT的哪套机制?我怎么不知道?

我说的是在内存中建立个img启动镜像,里面放bootmgfw.efi,bcd这些,只要过了BCD,加载system之后,img启动镜像的任务就完成了,这是我纯粹瞎猜,不懂瞎说的。你在NTBOOT移植的时候,说了下原理。

技术细节
wimboot 可以生成一个 bootmgfw.exe/bootmgr.exe 可识别的单分区 FAT32 虚拟盘, 将 bootmgfw.efi, bcd 等文件放入其中即可启动。BCD 文件为 bootmgfw.efi 读取的启动配置文件,其格式为 REGF (Windows 注册表)。关于 REGF,可以到这里了解更多。boot.sdi 文件为 bootmgfw.efi 启动 WIM 必须的 System Deployment Image 文件,可以到这里了解更多。wimboot 内置了一个 REGF/BCD 解析器,可以解析并自动修改 BCD 的内容;同时也内置了 boot.sdi 生成工具,可以自动生成所需的 boot.sdi。wimboot 启动方式与 NTBOOT 启动方式的主要区别是 wimboot 启动时,WIM 文件也放入FAT32虚拟盘中,而 NTBOOT 启动时,WIM 不在启动盘中。因此,wimboot 方式可以虚拟修改 WIM 内容,向其中插入文件而不用改变实际文件内容,NTBOOT 则不可以。wimboot 会将除了 bcd, boot.sdi, WIM 自身之外的所有文件都射入 WIM 的 \Windows\System32 目录下。但是由于 VHD 启动过程中需要从真实硬盘读取 VHD,所以 wimboot 方式无法启动 VHD。

点评

grub里面 (或者说 UEFI,以及操作系统) 都是要把硬件/硬件上的数据抽象化,是一层一层的。 文件这一层级的下面是文件系统,文件系统的下面是分区、分区表、磁盘。 wimboot/NTBOOT 创建的 FAT32 盘并不是真实存  详情 回复 发表于 2020-12-20 11:06
回复

使用道具 举报

发表于 2020-12-20 09:06:48 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-20 09:36 编辑

另外,我说为啥访问romex论坛速度这么慢,原来他们的论坛服务器在国外,上个论坛还需要翻墙,发个帖子都发不了,发email杳无音讯,真难啊!https://forum.romexsoftware.com/zh-cn/viewtopic.php?f=35&t=2060&p=10254#p10254
为什么现在上主页得翻墙?否则打不开??连激活都得翻墙,否则打不开也激活不了
服务器是在国外的,可能是最近qiang的原因。。。




primo更新建议 - Romex Software 中文论坛 https://forum.romexsoftware.com/zh-cn/viewtopic.php?f=35&t=1695
a277383761 » 周一 7月 11, 2016 10:09 am
不知道官方是怎么想的,都过去了4年了,更新了一下5.7版本却只是这点小修复

官方难道不知道primo现在民间许多人用来制作ramos么,就是把c盘克隆进ramdisk盘里了。

我只是提个小小的意见如下,不管官方看不看的见,反正我是提了再说了

1.希望默认关联镜像为VHD格式--方便挂载或修改
2.希望生成的关联镜像无绝对路径。比如C:/XXX/XXX.VDF 未来把vdf复制到D:/XXX/XXX.VDF也可以启动
3.希望取代民间的ramos玩法自带克隆c进ramdisk盘中。

Support » 周二 7月 12, 2016 10:19 pm
谢谢您的建议!
5.7 版本主要是为了确保软件的稳定性,仅对发现的严重问题进行修复,不涉及到软件架构的改动。
目前我们正在开发6.0版本,将重新设计软件架构,优化性能并修复其它问题。您的建议我们也会逐步实现中。谢谢!

民间的ramos玩法是将c盘克隆进vdf,再修改注册表,然后利用G4D加载这个vdf启动。如果改用VHD为关联格式应该可以直接使用BCD这个VHD了。也同时解决了G4D不兼容UEFI启动的问题。




希望关联的镜像不要绝对路径 - Romex Software 中文论坛 https://forum.romexsoftware.com/zh-cn/viewtopic.php?f=35&t=1565
希望关联的镜像不要绝对路径
帖子  由 a277383761 » 周四 10月 16, 2014 4:26 pm

我们修改BCD时或者用G4D时,都能自动搜索加载 比如 E:\VHD\WIN7.IMG文件 可以直接写成 \VHD\WIN7.IMG

但我们的E:\VHD\P.VDF文件就不一样了,这必须是绝对路径,有时候我们机器发生了改变,盘符变了,它就挂载失败了。

以上这些细小的不同在固定的电脑上使用倒是没什么大问题的。

但把VDF文件关联到U盘上制作好的系统后,再将这个系统和VDF一起复制到另一个U盘上,百分百搜索不到此VDF文件了。希望PRIMO软件加载开机自动查找某文件夹里的VDF文件并自动挂载好哈哈哈哈

只是来提小意见的,只是希望下一个版本能有这方面的改进

谢谢建议!

不过这样也可能产生一个问题就是如果在不同分区下存在相同的镜像文件,可能就会产生混淆。另外一个问题就是软件实现上可能存在一定问题,不过这个我们会想办法解决。

希望下一版有这样的功能变化 - Romex Software 中文论坛 https://forum.romexsoftware.com/zh-cn/viewtopic.php?f=35&t=1682
帖子  由 a277383761 » 周日 5月 22, 2016 8:57 am

我只是随便提提,能有当然最好。不能就算了

1.直接采用vhd为关联镜像
2.没有绝对路径的要求,可以开机扫描每一个盘符的xxx.vdf镜像名加载
3.修复动态回收机制,目前的动态回收好像不可控也不是时时的
4.自动对齐4K

感谢您的建议!第1~2点我们有在考虑增加,第3点我们已经在改进了,不过涉及到底层结构改动比较大,所以还需要一段时间。第4点对于ramdisk来说,4K对齐没有必要,现在的方式是为了最大向下兼容。


primo 是怎么知道大镜像vdf的位置在哪呢 - Romex Software 中文论坛 https://forum.romexsoftware.com/ ... php?f=34&t=5164
由 liuzhaoyzz » 周日 12月 20, 2020 9:35 am

您好,grub4dos和grub2 UEFI版本需要与primo驱动进行对接,需要了解以下方面的信息:

primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的?
是通过磁盘签名确定磁盘的是吗?
和哪里的磁盘签名作比较?vdf吗?
也就是说 vdf 要和它所在硬盘的磁盘签名一致?
文件路径呢?

能否详细地说明下?越详细越好,谢谢!

romex官方论坛不能在国内建个镜像站吗?上个网站还要翻墙,翻墙软件都没有。太难了!



回复

使用道具 举报

 楼主| 发表于 2020-12-20 11:06:39 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-20 08:12
我说的是在内存中建立个img启动镜像,里面放bootmgfw.efi,bcd这些,只要过了BCD,加载system之后,img启 ...
我说的是在内存中建立个img启动镜像,里面放bootmgfw.efi,bcd这些,只要过了BCD,加载system之后,img启动镜像的任务就完成了,这是我纯粹瞎猜,不懂瞎说的。你在NTBOOT移植的时候,说了下原理。


grub里面 (或者说 UEFI,以及操作系统) 都是要把硬件/硬件上的数据抽象化,是一层一层的。
文件这一层级的下面是文件系统,文件系统的下面是分区、分区表、磁盘。
wimboot/NTBOOT 创建的 FAT32 盘并不是真实存在于内存中的。内存中只有 FAT 文件系统的一些数据结构,文件本身还是在你本地的。它们只是作用在文件及文件系统这一层面。至于这个虚拟磁盘,是 map 通过 UEFI 的一些接口创建出来的虚拟设备。只要 bootmgfw.efi/winload.efi 退出 UEFI 启动服务,这些东西就灰飞烟灭了,没有区别。

点评

看起来似懂非懂的。 grub2直接map xxx.vdf好像能够正确加载BCD,只是在进一步启动的时候winload.efi出错,可能是winload.efi不能正确加载grub2仿真虚拟磁盘里面的文件。也有可能是BCD不能正确加载它所指向的grub2  详情 回复 发表于 2020-12-20 12:06
回复

使用道具 举报

发表于 2020-12-20 12:06:51 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-20 12:16 编辑
wintoflash 发表于 2020-12-20 11:06
grub里面 (或者说 UEFI,以及操作系统) 都是要把硬件/硬件上的数据抽象化,是一层一层的。
文件这一 ...

看起来似懂非懂的。

grub2直接map xxx.vdf好像能够正确加载BCD,只是在进一步启动的时候winload.efi出错,可能是winload.efi不能正确加载grub2仿真虚拟磁盘里面的文件。也有可能是BCD不能正确加载它所指向的grub2仿真虚拟磁盘里面的winload.efi,导致抛出那个0xc0000225或者0xc000000f错误。


winload.efi我们是动不了了的,只有看下grub2在仿真磁盘方面能否单方面修改,以适配windows的BCD,winload.efi这些启动文件,骗过windows,达到启动的目的。


要么就想办法绕路解决,map一个img/vhd作为引导镜像:map --nb boot.img (hd0),但不启动,然后再map xxx.vdf (hd1),用img引导镜像里面的去启动xxx.vdf,chainloader (hd0)。不知道这样子加个img/vhd作为引导镜像中转与直接map xxx.vdf (hd1)启动,有没有区别,现在都是摸索着前进,前面没有路,没有理论。




点评

应该是你的vdf上bcd的配置不对。因为不存在你说的这种适配,winpe, VHD 都能正常启动。 BCD 上路径不应该用 BOOT/LOCATE。  详情 回复 发表于 2020-12-20 12:25
回复

使用道具 举报

 楼主| 发表于 2020-12-20 12:25:16 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-20 12:06
看起来似懂非懂的。

grub2直接map xxx.vdf好像能够正确加载BCD,只是在进一步启动的时候winload.efi出 ...
只有看下grub2在仿真磁盘方面能否单方面修改,以适配windows的BCD,winload.efi这些启动文件,骗过windows,达到启动的目的。

应该是你的vdf上bcd的配置不对。因为不存在你说的这种适配,winpe, VHD 都能正常启动。
BCD 上路径不应该用 BOOT/LOCATE。
回复

使用道具 举报

发表于 2020-12-20 15:07:55 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-20 17:00 编辑
wintoflash 发表于 2020-12-19 23:05
没看到?

NTBOOT的哪套机制?我怎么不知道?

链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7

不好意思,我上传的时候改了个名字,上传到原目录了,UEFI目录有个2.34GB的FT81.vdf完全镜像用于测试,这是单镜像模式

BCD指向的问题,我晚点再试试。但是BIOS下面用boot/locate定位primo内存盘没问题呀,为啥UEFI下面不能定位?BIOS下面查找0x80,UEFI下面不是的吧?因为VHD用grub2直接map启动,好像没有磁盘序号的问题啊。

顺便问下,直接map模式,有没有各种类型之说?

点评

有区别。比如光盘启动,BIOS下 BOOT/LOCATE 读的是bootmgr同分区的文件,而 UEFI 下则是第一个 CDROM 设备里面的文件。硬盘可能也有这种区别。 现在grub2的map,如果不指定设备类型,会自己判断。优先级如下  详情 回复 发表于 2020-12-20 17:25
回复

使用道具 举报

发表于 2020-12-20 17:05:23 | 显示全部楼层
本帖最后由 江南一根葱 于 2020-12-20 17:11 编辑

HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices 这里盘符对应的数值,是跟签名关联的
以下是我瞎想的启动过程(真的是我瞎想的)
  • 一个屁驱镜像启动(启动到蓝屏或黑屏,并不需要对应mountedDevices),
  • 启动过程中有一个内存盘生成
  • (待解决的问题)从内存盘里读取所谓屁驱镜像,再次生成真正的系统内存盘(内存盘像wimboot的盘一样,有固定uuid-?签名)
  • mountedDevice里的盘符,对应了这个再次生成的内存盘签名,“接管”原系统盘符,继续启动


总之就是,镜像内部自我套娃
如果固定硬盘签名,BCD里也写死,不管硬盘挂几个,bootmgfw都能自动找到它要启动的盘
回复

使用道具 举报

 楼主| 发表于 2020-12-20 17:25:30 | 显示全部楼层
本帖最后由 wintoflash 于 2020-12-21 08:49 编辑
liuzhaoyzz 发表于 2020-12-20 15:07
链接: https://pan.baidu.com/s/1gbTRQiwgrLbF04SciMBp-Q 提取码: dwe7

不好意思,我上传的时候改了个 ...

但是BIOS下面用boot/locate定位primo内存盘没问题呀,为啥UEFI下面不能定位?

有区别。比如光盘启动,BIOS下 BOOT/LOCATE 读的是bootmgr同分区的文件,而 UEFI 下则是第一个 CDROM 设备里面的文件。硬盘可能也有这种区别。
顺便问下,直接map模式,有没有各种类型之说?

现在grub2的map,如果不指定设备类型,会自己判断。优先级如下:
(1) 文件扩展名,如果是iso,判断为光盘。
(2) 从文件的第 32769 字节开始读,如果找到 ISO9660 的卷描述符,判断为光盘。
(3) 读取前512字节(MBR),如果没有 55AA 标记,判断为软盘。
(4) 分区表类型:MBR 或 GPT。
设备类型都是一样的,不含 软盘、硬盘、光盘之类的信息,只是扇区大小有区别:光盘 2048,软盘/硬盘 512。
对于硬盘或者光盘,还要检查启动分区信息。

点评

非常感谢wintoflash大神详细的指导! 重大好消息!win8.1-primo-uefi-ramos成功启动!!!wintoflash给RAMOS-er打开了一个全新世界的大门!一个崭新的UEIF-RAMOS时代即将到来! 世界上第一个基于primo单驱动+gru  详情 回复 发表于 2020-12-20 20:44
回复

使用道具 举报

发表于 2020-12-20 20:44:53 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-20 20:51 编辑
wintoflash 发表于 2020-12-20 17:25
有区别。比如光盘启动,BIOS下 BOOT/LOCATE 读的是bootmgr同分区的文件,而 UEFI 下则是第一个 CDROM ...

非常感谢wintoflash大神详细的指导!

重大好消息!win8.1-primo-uefi-ramos成功启动!!!wintoflash大神给RAMOS-er打开了一个全新世界的大门!一个全新的UEFI-RAMOS时代即将到来!
世界上第一个基于primo单驱动+grub2制作的UEFI-WIN8.1RAMOS单镜像制作成功!
双镜像制作在路上!
WIN7、WIN10-primo-uefi-ramos在路上!


g4e启动失败,0xc000000e错误,原因不明。

win8.1-primo-uefi-ramos.jpg
回复

使用道具 举报

发表于 2020-12-21 11:30:07 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-12 22:07
另外想请问下,grub2是否支持vdf镜像直接map?比如map xxx.vdf (hd0)这样子,我忘了以前的帖子了。

我是往这方面整,直接MAP VDF多爽,没必要多一个VHD
回复

使用道具 举报

发表于 2020-12-22 19:51:21 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-22 19:57 编辑

好消息!g4e/grub2成功启动WIN10-PRIMO-UEFI-RAMOS!

但是g4e/grub2直接map有碎片的文件好像都不行。g4d提示too many fragments,grub2好像是直接返回主菜单了。

点评

你说这个没意义啊。要手动执行命令,看报错。  详情 回复 发表于 2020-12-22 20:10
回复

使用道具 举报

 楼主| 发表于 2020-12-22 20:10:02 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-22 19:51
好消息!g4e/grub2成功启动WIN10-PRIMO-UEFI-RAMOS!

但是g4e/grub2直接map有碎片的文件好像都不行。g4d ...
grub2好像是直接返回主菜单了。

你说这个没意义啊。要手动执行命令,看报错。

点评

以后再试试看,文件碎片我已经消除了,我对MS-DOS还算熟悉,在g4e/grub2界面,就是两眼一抹黑了,记不住命令,记不住文件路径,TAB命令补全有时候路径好像不行。  详情 回复 发表于 2020-12-22 21:22
回复

使用道具 举报

发表于 2020-12-22 21:22:24 | 显示全部楼层
wintoflash 发表于 2020-12-22 20:10
你说这个没意义啊。要手动执行命令,看报错。

以后再试试看,文件碎片我已经消除了,我对MS-DOS还算熟悉,在g4e/grub2界面,就是两眼一抹黑了,记不住命令,记不住文件路径,TAB命令补全有时候路径好像不行。

点评

tab补全区分大小写。  详情 回复 发表于 2020-12-22 21:28
回复

使用道具 举报

 楼主| 发表于 2020-12-22 21:28:37 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-22 21:22
以后再试试看,文件碎片我已经消除了,我对MS-DOS还算熟悉,在g4e/grub2界面,就是两眼一抹黑了,记不住 ...

tab补全区分大小写。

点评

哦,知道了。 另外,我看到命令里面有fucksb这样子的命令,是不是不那么雅观,Bypasssb,skipsb不好吗,就不担心国际友人笑话吗?  详情 回复 发表于 2020-12-23 07:47
回复

使用道具 举报

发表于 2020-12-23 07:47:45 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-23 07:48 编辑
wintoflash 发表于 2020-12-22 21:28
tab补全区分大小写。

哦,知道了。

另外,我看到命令里面有fucksb“干掉安全启动”这样子的命令,是不是不那么雅观,Bypasssb,skipsb不好吗,就不担心国际友人笑话吗?

点评

我总感觉很多国人还是有一种自卑感,跟洋人交流时总是小心翼翼的,生怕洋人笑话。 看点好玩的: https://github.com/nvbn/thefuck https://github.com/sorellabs/fuck-you https://www.bilibili.com/video/av883  详情 回复 发表于 2020-12-23 09:09
回复

使用道具 举报

 楼主| 发表于 2020-12-23 09:09:52 | 显示全部楼层
本帖最后由 wintoflash 于 2020-12-23 09:17 编辑
liuzhaoyzz 发表于 2020-12-23 07:47
哦,知道了。

另外,我看到命令里面有fucksb“干掉安全启动”这样子的命令,是不是不那么雅观,Bypass ...

我总感觉很多国人还是有一种自卑感,跟洋人交流时总是小心翼翼的,生怕洋人笑话。
看点好玩的:
https://github.com/nvbn/thefuck
https://github.com/sorellabs/fuck-you
https://www.bilibili.com/video/av883169284
"知名游戏"DOOM的源码:
https://github.com/id-Software/D ... 1.10/s_sound.c#L858
https://github.com/id-Software/D ... 1.10/am_map.c#L1000

很多向我反馈问题的人是土耳其人、越南人、阿拉伯人,一点英语都不会,不照样可以谈笑风生?

点评

Linus Torvalds真的是什么都敢怼!怼天怼地怼宇宙的。 我感觉以前的boot-land,现在的reboot.pro上面,聚集了很多自由软件的技术大神、牛逼人物,你们似乎都挺喜欢在上面混的,我上这个论坛很少,网页打开慢,牛  详情 回复 发表于 2020-12-23 10:54
回复

使用道具 举报

发表于 2020-12-23 10:45:31 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-23 10:48 编辑
wintoflash 发表于 2020-12-18 20:05
和哪里的磁盘签名作比较?vdf吗?
也就是说 vdf 要和它所在硬盘的磁盘签名一致?
文件路径呢?

经过论坛询问和email咨询,romex官方很保守,说的不详细。

您好,grub4dos UEFI版本需要与primo驱动进行对接,需要了解以下方面的信息:
primo 是怎么知道大镜像vdf的位置在哪呢?注册表写死的?
是通过磁盘签名确定磁盘的是吗?
和哪里的磁盘签名作比较?vdf吗?
也就是说 vdf 要和它所在硬盘的磁盘签名一致?
文件路径呢?

您好!
是需要做RAMOS吗?Primo Ramdisk是根据创建ramdisk时指定的镜像文件的路径(盘符)加载镜像的。
如有问题,欢迎来信来电。
谢谢!
Romex Software 技术支持

是保存在注册表中的,不能修改的。您现在遇到的是什么问题?

具体是保存在注册表那个位置的?能否详细讲下?我没有搜索到,现在制作UEFI-WIN10-RAMOS失败,需要了解primo驱动的一些底层问题。

PrimoRamdisk创建ramdisk时使用的数据包是私有格式的,很抱歉这是不公开的。


无所谓了,已经做成功了,不需要知道那么底层的东西了。


回复

使用道具 举报

发表于 2020-12-23 10:54:07 | 显示全部楼层
wintoflash 发表于 2020-12-23 09:09
我总感觉很多国人还是有一种自卑感,跟洋人交流时总是小心翼翼的,生怕洋人笑话。
看点好玩的:
https: ...

Linus Torvalds真的是什么都敢怼!怼天怼地怼宇宙的。

我感觉以前的boot-land,现在的reboot.pro上面,聚集了很多自由软件的技术大神、牛逼人物,你们似乎都挺喜欢在上面混的,我上这个论坛很少,网页打开慢,牛人很多,但我都没怎么打过交道,所以也不敢胡乱说话。
回复

使用道具 举报

发表于 2020-12-27 20:35:39 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-27 20:51 编辑

大神,请问下这是怎么回事?grub2的crscreenshot模块截图反馈问题真的太爽了!


g4e情况类似。

27165416.png

点评

map之后,再ls一下看看。 map之后的盘符默认是 vdX,比如 (vd0)。启动分区比如是 (vd0,1),启动这里面的efi试一试。  详情 回复 发表于 2020-12-27 21:00
回复

使用道具 举报

 楼主| 发表于 2020-12-27 21:00:54 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-27 20:35
大神,请问下这是怎么回事?grub2的crscreenshot模块截图反馈问题真的太爽了!

map之后,再ls一下看看。
map之后的盘符默认是 vdX,比如 (vd0)。启动分区比如是 (vd0,1),启动这里面的efi试一试。
回复

使用道具 举报

发表于 2020-12-28 07:47:16 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2020-12-28 07:57 编辑

直接上图,好像没有成功。
另外,请问下,grub2有没有类似g4e的vol这样子的命令,用于快速确定盘符?

28074436.png

点评

chainloader 没有报错啊。你得执行boot命令才能启动。 看你这种情况,应该是ntfs驱动没有正常工作吧。进efi shell看一下就知道了。 在控制台输 ls (hd0,1) 就可以显示各种信息。输入 ls (hd0 然后按 tab,就可  详情 回复 发表于 2020-12-28 09:56
回复

使用道具 举报

 楼主| 发表于 2020-12-28 09:56:04 | 显示全部楼层
liuzhaoyzz 发表于 2020-12-28 07:47
直接上图,好像没有成功。
另外,请问下,grub2有没有类似g4e的vol这样子的命令,用于快速确定盘符?
直接上图,好像没有成功。

chainloader 没有报错啊。你得执行boot命令才能启动。
看你这种情况,应该是ntfs驱动没有正常工作吧。进efi shell看一下就知道了。
另外,请问下,grub2有没有类似g4e的vol这样子的命令,用于快速确定盘符?

在控制台输 ls (hd0,1) 就可以显示各种信息。输入 ls (hd0 然后按 tab,就可以显示各分区的信息。
想获取某分区的卷标,并保存到变量,可以用 probe -l --set=aaa (hd0,1)
想搜索定位,设为 root,就用 search -l --set=root "XXX"

点评

当时直接用菜单启动,选择之后直接跳回菜单。boot命令晚点试下。 ntfs驱动有可能有一定兼容性的问题,我试过了这台电脑上面,手工制作的单镜像可以启动,用批处理创建的单镜像又不行,WIN7单镜像出问题的概率似  详情 回复 发表于 2020-12-28 10:34
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-19 08:34

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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