无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)虚位以待广告联系 QQ:184822951 微信:wuyouceo
楼主: wintoflash

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

    [复制链接]
 楼主| 发表于 2019-11-6 11:11:33 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 10:53
能否map --mem --disk --type=HD vhd0这样?能否启动?
grub4dos用map --mem启动vhd,需要vhd里面 ...
能否map --mem --disk --type=HD vhd0这样?

可以。
grub4dos用map --mem启动vhd,需要vhd里面安装firadisk/winvblock/svbus这一类的驱动,因为grub4dos运行于实模式下,进入保护模式之后实模式下仿真的内存盘会失效,所以需要这一类的驱动来带入到保护模式下。而grub2是否直接运行于保护模式,还要不要类似的驱动呢?

需要。
这跟cpu的模式其实没有太大关系。跟操作系统/启动管理器的设计有关。
比如UEFI下,其他启动管理器/uefi shell读文件都是直接用SimpleFileSystemProtocol,grub2不用这一套。所以uefi固件的ntfs驱动grub2用不了,反之亦然。
回复

使用道具 举报

发表于 2019-11-6 11:15:40 | 显示全部楼层
您说的第一个问题grub2可以map --mem --disk --type=HD vhd0可以启动,是加载到内存盘,然后从内存盘启动的吗?
第二个问题说需要类似firadisk/winvblock/svbus这一类的驱动,那这个驱动是grub2提供的吗?        

点评

是的。操作系统想读内存盘,需要的这个驱动是操作系统的驱动。  详情 回复 发表于 2019-11-6 11:20
回复

使用道具 举报

 楼主| 发表于 2019-11-6 11:20:43 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 11:15
您说的第一个问题grub2可以map --mem --disk --type=HD vhd0可以启动,是加载到内存盘,然后从内存盘启动的 ...

是的。操作系统想读内存盘,需要的这个驱动是操作系统的驱动。
回复

使用道具 举报

发表于 2019-11-6 11:29:21 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-11-6 16:54 编辑

期望wintoflash大神更新grub filemanager以支持PE.iso的遍历,我试了下你修改的grub2里面的map --mem pe.iso已经很稳定了啊。你那个帖子删了,我只能顺着别人修改过的版本来测试grubfm,之前我没有学习grub2,因为之前grub2虽然支持UEFI,但是不支持map --mem pe.iso,bootmgr本身就能够支持wim启动,我更喜欢ISO整体仿真启动的模式,所以没有学习grub2,现在想学着用用grub2,结果您的帖子清空了,世界就是这样子,好的东西失去的时候才会让人后悔莫及,好的软件的被发现并被使用是需要时间的,可能需要很长的时间。        

点评

世界就是这样子,好的东西失去的时候才会让人后悔莫及!  发表于 2019-11-7 14:53
支持liuzhaoyzz,好好研究下功能强大的grubfm造福坛友  发表于 2019-11-6 17:27
grub2-filemanager/我修改的grub2一直都在github上发布。在Linux下,论坛上发帖并不方便,而且论坛有敏感词过滤系统,有些词莫名其妙。之前的帖子想编辑下,改改上面的代码,结果提示有非法词汇,研究了半天才发现le  详情 回复 发表于 2019-11-6 16:24
回复

使用道具 举报

发表于 2019-11-6 15:38:26 | 显示全部楼层
W大,WIM格式的PE如何启动?

点评

wimboot命令。要自备bootmgfw.efi, bcd. boot.sdi 可以参考 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=413597  详情 回复 发表于 2019-11-6 16:18
回复

使用道具 举报

 楼主| 发表于 2019-11-6 16:18:51 | 显示全部楼层
liaonf 发表于 2019-11-6 15:38
W大,WIM格式的PE如何启动?

wimboot命令。要自备bootmgfw.efi, bcd. boot.sdi
可以参考 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=413597
回复

使用道具 举报

 楼主| 发表于 2019-11-6 16:24:24 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 11:29
期望wintoflash大神更新grub filemanager以支持PE.iso的遍历,我试了下你修改的grub2里面的map --mem pe.is ...

grub2-filemanager/我修改的grub2一直都在github上发布。在Linux下,论坛上发帖并不方便,而且论坛有敏感词过滤系统,有些词莫名其妙。之前的帖子想编辑下,改改上面的代码,结果提示有非法词汇,研究了半天才发现led是敏感词,太蛋疼了。
另外,在论坛上发布就对国际友人不太友好。
https://github.com/a1ive/grub
https://github.com/a1ive/grub2-filemanager

我试了下你修改的grub2里面的map --mem pe.iso已经很稳定了啊

因为我还要让它支持32位UEFI,,时机成熟自然会更新。
回复

使用道具 举报

发表于 2019-11-6 16:38:46 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-11-6 16:43 编辑

led
我试了可以发送啊,难道对于windows和linux操作系统过滤的关键字还不同啊?

我看了您在github发布的release版本,grubfm-zh_CN.7z,大小有6.76MB,为啥有的网友修改的版本只有几百KB(不包括boot.sdi),似乎是基于您的grubfm修改的。

点评

那个led是我call站长删掉的  详情 回复 发表于 2019-11-6 19:43
不同时间/日期 似乎过滤程度不一样。前段时间不是10.1嘛,可能严一些。 他们修改的是我写的适用于任意版本grub2的简化菜单。 https://github.com/a1ive/grub2-filemanager/blob/master/samples/grubfm.cfg  详情 回复 发表于 2019-11-6 16:47
回复

使用道具 举报

 楼主| 发表于 2019-11-6 16:47:59 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 16:38
led
我试了可以发送啊,难道对于windows和linux操作系统过滤的关键字还不同啊?

不同时间/日期 似乎过滤程度不一样。前段时间不是10.1嘛,可能严一些。
他们修改的是我写的适用于任意版本grub2的简化菜单。
https://github.com/a1ive/grub2-f ... /samples/grubfm.cfg
回复

使用道具 举报

发表于 2019-11-6 17:08:51 | 显示全部楼层
干嘛用的 我是菜鸟   是不是类似G4D中五大的siso模块啊???

点评

差不多类似5大的siso,5大的siso里面run模块似乎也是源自sratlf的run模块,不知道改动了哪些。  详情 回复 发表于 2019-11-6 19:20
回复

使用道具 举报

发表于 2019-11-6 19:20:02 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-11-6 22:14 编辑
879792799 发表于 2019-11-6 17:08
干嘛用的 我是菜鸟   是不是类似G4D中五大的siso模块啊???


差不多类似5大的siso,5大的siso里面run模块似乎也是源自sratlf的run模块,不知道改动了哪些。现在的grubfm支持wim,txt等等文件的遍历查看或者直接起动,还不支持iso遍历启动,当然对于wintoflash大神来说,只是举手之劳,a piece of cake。        

点评

终于明白了!!! efi电脑终于可以折腾了 多谢斑竹大人  详情 回复 发表于 2019-11-6 19:28

评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2019-11-6 19:28:22 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 19:20
差不多类似5大的siso,5大的siso里面run模块似乎也是源自sratlf的run模块,不知道改动了哪些。现在的gr ...

终于明白了!!! efi电脑终于可以折腾了 多谢斑竹大人
回复

使用道具 举报

发表于 2019-11-6 19:43:29 | 显示全部楼层
liuzhaoyzz 发表于 2019-11-6 16:38
led
我试了可以发送啊,难道对于windows和linux操作系统过滤的关键字还不同啊?

那个led是我call站长删掉的
回复

使用道具 举报

发表于 2019-11-7 16:37:47 | 显示全部楼层
楼主有x86 EFI 的grubia32.efi吗?

点评

32位的map搞不定,目前放弃了。  详情 回复 发表于 2019-11-7 16:56
回复

使用道具 举报

 楼主| 发表于 2019-11-7 16:56:15 | 显示全部楼层
ddsony 发表于 2019-11-7 16:37
楼主有x86 EFI 的grubia32.efi吗?

32位的map搞不定,目前放弃了。

点评

可惜了  详情 回复 发表于 2019-11-7 17:02
回复

使用道具 举报

发表于 2019-11-7 17:02:41 | 显示全部楼层
wintoflash 发表于 2019-11-7 16:56
32位的map搞不定,目前放弃了。

可惜了
回复

使用道具 举报

发表于 2019-11-7 17:21:59 | 显示全部楼层
可惜啊

点评

mdy老大不知道有兴趣研究不。 我是觉得32位efi的价值不大。  详情 回复 发表于 2019-11-7 18:00
回复

使用道具 举报

 楼主| 发表于 2019-11-7 18:00:12 | 显示全部楼层

mdy老大不知道有兴趣研究不。
我是觉得32位efi的价值不大。

点评

他兴趣很浓啊,正等着你的map版grub2改造升级他的MBROSTool EFⅠ启动呢?他纳闷为啥32,64还要分开处理。  详情 回复 发表于 2019-11-7 18:47
回复

使用道具 举报

发表于 2019-11-7 18:47:25 | 显示全部楼层
wintoflash 发表于 2019-11-7 18:00
mdy老大不知道有兴趣研究不。
我是觉得32位efi的价值不大。


他兴趣很浓啊,正等着你的map版grub2改造升级他的MBROSTool EFⅠ启动呢。他纳闷为啥32,64还要分开处理。

点评

忽然发现github上的源码少了个Makefile,刚加上。  详情 回复 发表于 2019-11-8 18:43
按理说不用分开处理,我也没有分开处理。但是编译出来之后32位的就不顶用。  详情 回复 发表于 2019-11-7 18:51
回复

使用道具 举报

 楼主| 发表于 2019-11-7 18:51:53 | 显示全部楼层
本帖最后由 wintoflash 于 2019-11-7 18:54 编辑
ddsony 发表于 2019-11-7 18:47
他兴趣很浓啊,正等着你的map版grub2改造升级他的MBROSTool EFⅠ启动呢。他纳闷为啥32,64还要分开处理 ...


按理说不用分开处理,我也没有分开处理。但是编译出来之后32位的就不顶用。
我觉得有可能是内存对齐的问题。
map的主体代码在 https://github.com/a1ive/grub/tree/master/grub-core/map
图方便,用gnu-efi编译。
回复

使用道具 举报

发表于 2019-11-8 10:17:50 | 显示全部楼层
vmware虚拟机下的EFI-gpt格式的grub2启动是不是和U盘grub2启动不一样呢?
回复

使用道具 举报

发表于 2019-11-8 18:38:51 | 显示全部楼层
大佬更新了grubfm,怎么也不在论坛回个帖子,这么低调干啥。。。        

点评

每次更新还要在论坛上汇报,多麻烦啊  发表于 2019-11-8 19:04
回复

使用道具 举报

 楼主| 发表于 2019-11-8 18:43:02 | 显示全部楼层
ddsony 发表于 2019-11-7 18:47
他兴趣很浓啊,正等着你的map版grub2改造升级他的MBROSTool EFⅠ启动呢。他纳闷为啥32,64还要分开处理 ...

忽然发现github上的源码少了个Makefile,刚加上。
回复

使用道具 举报

发表于 2019-11-8 21:08:58 | 显示全部楼层
每次更新还要在论坛上汇报,多麻烦啊


但如果老大的产品有更新,不在论坛‘汇报’的话,感兴趣的坛友肯定不知道啊。。。

所以,如果软件、作品、文档等相关内容有变更,在论坛吱一声,让更多坛友知晓,总会氏件好事。


回复

使用道具 举报

发表于 2019-11-8 21:50:44 | 显示全部楼层
厉害!
回复

使用道具 举报

发表于 2019-11-9 17:34:39 | 显示全部楼层
https://github.com/a1ive/grub2-filemanager/releases 请教要如何下载?IE能连上  可下载为零
回复

使用道具 举报

发表于 2019-11-9 18:42:51 | 显示全部楼层
屌屌屌,终于出这个了。太不容易了。
回复

使用道具 举报

发表于 2019-11-9 19:13:07 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-11-9 19:18 编辑

wintoflash大神,我这边实体机启动VHD失败啊?这个VHD用BCD启动正常。
用的一楼的所有模块。
grub.cfg:
menuentry "SX10090329.vhd" "/boot/imgs/SX10090329.vhd" {
search --no-floppy --set --file $2
vhd vhd0 $2
map --disk --type=HD vhd0
}

有一次似乎是缺乏模块,还有一次提示failed to open file/disk(似乎是vhd路径不对)。最后一次上齐了模块修改好了vhd路径,结果c键进入命令行,F10启动,直接进入了命令行,没有任何提示。上图。VHD里面是MBR单分区。主引导是uefi-grub2,类似的菜单引导PE.ISO没问题。


QQ图片20191109191156.jpg
QQ图片20191109191203.jpg

点评

VHD里面是单分区NTFS?  详情 回复 发表于 2019-11-9 19:19
回复

使用道具 举报

 楼主| 发表于 2019-11-9 19:19:01 | 显示全部楼层
本帖最后由 wintoflash 于 2019-11-9 19:26 编辑
liuzhaoyzz 发表于 2019-11-9 19:13
wintoflash大神,我这边实体机启动VHD失败啊?这个VHD用BCD启动正常。
用的一楼的所有模块。
grub.cfg:
...


VHD里面是单分区NTFS?

参考 http://bbs.wuyou.net/forum.php?m ... &fromuid=487838
如果单分区NTFS里面是一个完整的系统(有bootx64.efi等),需要先加载ntfs驱动,固件才能认识里面的bootx64.efi: efiload /ntfs.efi
回复

使用道具 举报

发表于 2019-11-9 19:31:58 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2019-11-9 19:36 编辑

VHD里面是NTFS单分区。似乎里面没有bootx64.efi,efiload ntfs.efi放在grub.cfg?ntfs.efi在哪里下载?放在菜单项哪一句?我有事外出了,晚点试试看

点评

你的这种vhd里面不是完整的系统啊,在BIOS下,这种应该是用NTBOOT启动的。那不能map  详情 回复 发表于 2019-11-9 19:49
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-10-1 00:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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