无忧启动论坛

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

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

    [复制链接]
跳转到指定楼层
#
发表于 2019-11-3 09:27:39 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
本帖最后由 wintoflash 于 2021-3-2 19:09 编辑

本项目已停止开发,不再维护。
-----------------------------------------------------------------------

grub2   下载:
https://github.com/a1ive/grub/releases/tag/latest
若下载慢可用 http://gitd.cc/ 下载
使用方法:
  1. map [--pause] [--mem] [--type=CD|HD|FD] FILE
  2.     -m, --mem  加载到内存
  3.     --rt 指定内存盘在操作系统加载后不被释放
  4.     -l, --blocklist 强制转换为 blocklist 格式可写磁盘
  5.     -t, --type  指定虚拟盘类型
  6.          --type=CD  指定为光盘,块大小为2048
  7.          --type=HD  指定为硬盘,块大小为512
  8.          --type=FD  指定为软盘,块大小为512
  9.     -o, --ro  禁用虚拟盘写入支持
  10.     -e, --eltorito=DISK  同时指定挂载 El Torito 镜像的盘符
  11.     -n, --nb  加载虚拟盘后不立即启动
  12.     -g, --no_g4d  不向内存写入 GRUB4DOS map 信息
  13.     -f, --first 使该设备位于磁盘列表的第一位
复制代码

示例:

  1. #未指定虚拟盘类型时,map 会自动判断磁盘类型。
  2. map /winpe.iso
  3. #加载到内存  如果是网启,请使用此参数
  4. map --mem --type=CD /wepe_64.iso
  5. #加载某磁盘/分区为虚拟盘
  6. map --type=HD (hd0)
  7. #加载VHD文件。
  8. map --mem --rt (hd1,4)/ramos.vhd.xz
复制代码


示例定制命令:
  1. grub-mkimage -d x86_64-efi -p /boot/grub -o grubx64.efi -O x86_64-efi acpi affs afs all_video bfs bitmap bitmap_scale blocklist boot bsd btrfs cat chain cmp commandline configfile cpio crc date datehook dd disk dm_nv echo efi_gop efi_uga efifwsetup efiload eval exfat expr ext2 extcmd f2fs fat fb file font fshelp getenv getkey gfxmenu gfxterm gfxterm_background gfxterm_menu gptsync gzio halt hashsum help hexdump hfs hfsplus iso9660 jfs jpeg keystatus legacycfg linux linuxefi loadbios loadenv loopback ls lsacpi lua lvm lzopio mdraid09 mdraid09_be memdisk minicmd multiboot multiboot2 newc normal ntfs part_apple part_bsd part_gpt part_msdos partnew parttool png probe progress raid5rec raid6rec random read reboot regexp reiserfs sbpolicy search setenv shell sleep squash4 syslinuxcfg tar terminal terminfo test tga time true udf vhd video video_colors video_fb videoinfo wimboot xfs xnu xzio zfs map
复制代码

附注:
  硬盘镜像支持MBR分区表和GPT分区表。
鸣谢:
参考了以下项目的代码,感谢相关作者的开源。
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=414814
http://www.lab-z.com/stu132rd
https://gitlab.com/Jay_Repos/grub2eh/tree/wip
https://github.com/tianocore/edk2
https://sourceforge.net/projects/gnu-efi
https://github.com/ipxe/wimboot
源码:
https://github.com/a1ive/grub
许可协议:GPL v3

评分

参与人数 31无忧币 +154 收起 理由
小贝贝 + 5 很给力!
蓝星明月 + 5 很给力!
johnyou + 3 赞一个!
jneny + 5
xman00 + 5 赞一个!
2012kwy + 5 很给力!
jack612 + 1 很给力!
dido0379 + 5 好东西终于出来了。
2011yaya2007777 + 5 很给力!
826773297 + 5 赞一个!
longhai2018 + 5 很给力!
adef + 5
ht1021873332 + 5 很给力!
879792799 + 5 赞一个!
liaonf + 5 很给力!
bardlet + 5 神马都是浮云
wuxin9712 + 5 很给力!
lhb9900 + 5 很给力!
dian + 5 很给力!
282198284 + 5 建议和原作者一样,加一个外置配置文件
zhangmi + 5 很给力!
jxdeng2017 + 5 里程碑!很给力!
liuzhaoyzz + 10 很给力!
纯脆entropy + 5 很给力!
freesoft00 + 5
hilsonma + 5 很给力!
sghihor + 5
ddsony + 5 很给力!
ksafei + 5 赞一个!
jdcgzb + 5 很给力!

查看全部评分

659#
发表于 2024-11-15 19:31:05 | 只看该作者
回复

使用道具 举报

658#
发表于 2024-10-9 09:01:44 | 只看该作者
感谢分享
回复

使用道具 举报

657#
发表于 2024-10-9 08:23:59 | 只看该作者
感谢分享
回复

使用道具 举报

656#
发表于 2024-9-4 12:14:14 来自手机 | 只看该作者
谢谢你的共享
回复

使用道具 举报

655#
 楼主| 发表于 2024-7-4 17:57:26 | 只看该作者
回复

使用道具 举报

654#
发表于 2024-7-4 16:07:07 | 只看该作者
wintoflash 发表于 2019-11-3 18:56
这片区域是连续的啊,有自己的文件系统,相当于一个分区,不就等于一个不带分区表的img吗?

回复

使用道具 举报

653#
发表于 2024-7-4 16:06:44 | 只看该作者
wintoflash 发表于 2019-11-3 19:30
blocklist那一套东西一直没搞懂。
grub2应该是支持直接用blocklist当文件用的吧,比如我见过这种写法:
...

点评

滚。别捣乱。  详情 回复 发表于 2024-7-4 17:57
回复

使用道具 举报

652#
发表于 2024-7-4 16:06:24 | 只看该作者
wintoflash 发表于 2019-11-3 19:39
试了一下,可以直接用blocklist啊

回复

使用道具 举报

651#
发表于 2024-7-4 16:06:12 | 只看该作者
回复

使用道具 举报

650#
发表于 2024-6-28 15:34:56 来自手机 | 只看该作者
blocklist,我试了一下,map加|参数,不行
回复

使用道具 举报

649#
发表于 2024-6-28 08:37:59 | 只看该作者
wintoflash 发表于 2019-11-3 19:30
blocklist那一套东西一直没搞懂。
grub2应该是支持直接用blocklist当文件用的吧,比如我见过这种写法:
...

回复

使用道具 举报

648#
发表于 2024-6-28 08:37:45 | 只看该作者
wintoflash 发表于 2019-11-3 19:39
试了一下,可以直接用blocklist啊

回复

使用道具 举报

647#
发表于 2024-6-28 08:37:32 | 只看该作者
回复

使用道具 举报

646#
发表于 2024-6-25 20:11:37 来自手机 | 只看该作者
感谢wintoflash大神的杰作,解决了efi启动下的磁盘仿真,让我实现了efi启动下的win7+vhd+svbus的内存系统ramos驱动。真的很兴奋,但有一点遗憾:grub2的map加载vhd到内存速度55m/s,而grub4dos(mbr版)的加载速度可达500m/s,都是用固态硬盘测试。希望wintoflash大神改进一下map的加载到内存的速度,相信wintoflash大神肯定能行。另外,说实话:wintoflash的grub2比老外的grub2强多了,功能丰富而且实用,用了后直接把老外的grub2win卸载了。
回复

使用道具 举报

645#
发表于 2024-6-25 20:10:26 来自手机 | 只看该作者
感谢wintoflash大神的杰作,解决了efi启动下的磁盘仿真,让我实现了efi启动下的win7+vhd+svbus的内存系统ramos驱动。真的很兴奋,但有一点遗憾:grub2的map加载vhd到内存速度太慢,只有55m/s,而grub4dos(mbr版)的加载速度可达500m/s,都是用固态硬盘测试。希望wintoflash大神改进一下map的加载到内存的速度,相信wintoflash大神肯定能行。另外,说实话:wintoflash的grub2比老外的grub2强多了,功能丰富而且实用,用了后直接把老外的grub2win卸载了。
回复

使用道具 举报

644#
发表于 2024-6-23 11:59:08 | 只看该作者
wintoflash 发表于 2019-11-3 19:30
blocklist那一套东西一直没搞懂。
grub2应该是支持直接用blocklist当文件用的吧,比如我见过这种写法:
...

回复

使用道具 举报

643#
发表于 2024-6-23 11:58:54 | 只看该作者
回复

使用道具 举报

642#
发表于 2024-6-22 08:28:07 | 只看该作者
回复

使用道具 举报

641#
发表于 2024-6-20 19:14:38 | 只看该作者
回复

使用道具 举报

640#
发表于 2024-6-14 10:23:58 | 只看该作者
回复

使用道具 举报

639#
发表于 2024-4-30 13:55:47 | 只看该作者
谢谢分享
回复

使用道具 举报

638#
发表于 2024-4-29 23:46:48 | 只看该作者
wintoflash 发表于 2024-4-29 16:25
对于Linux的启动,基本没有什么改动。
各Linux发行版基本上都是用的grub2启动,grub2肯定对Linux的支持 ...

哦,了解了。
回复

使用道具 举报

637#
 楼主| 发表于 2024-4-29 16:25:54 | 只看该作者
liuzhaoyzz 发表于 2024-4-29 09:31
想请教下,对于你魔改的grub2和官方GNU grub2,对于启动linux方面,具体有哪些革命性的改进,就是说原来G ...

对于Linux的启动,基本没有什么改动。
各Linux发行版基本上都是用的grub2启动,grub2肯定对Linux的支持是最完善的,这也没什么改进空间啊。

点评

哦,了解了。  详情 回复 发表于 2024-4-29 23:46
回复

使用道具 举报

636#
发表于 2024-4-29 09:31:13 | 只看该作者
本帖最后由 liuzhaoyzz 于 2024-4-29 09:37 编辑
wintoflash 发表于 2021-6-17 20:04
我也是醉了。你下载 grub-2.06.tar.gz (或者 tar.xz),里面有个 NEWS。

想看详细的,就看它的提交历 ...

想请教下,对于你魔改的grub2和官方GNU grub2,对于启动linux方面,具体有哪些革命性的改进,就是说原来GNU grub2做不到的,你做到了?我感觉linxu用loopback+内核支持挂载iso的话,感觉很多都可以启动。map启动linux的话,感觉不能算是革命性的改进。map对于WINPE和RAMOS支持可以算是革命性的改进。
过安全启动支持算不算是改进?我对安全启动没怎么研究。

有优点尽管说!请不要谦虚!











点评

对于Linux的启动,基本没有什么改动。 各Linux发行版基本上都是用的grub2启动,grub2肯定对Linux的支持是最完善的,这也没什么改进空间啊。  详情 回复 发表于 2024-4-29 16:25
回复

使用道具 举报

635#
发表于 2023-11-24 21:09:34 | 只看该作者
感谢分享
回复

使用道具 举报

634#
发表于 2023-11-24 17:45:45 | 只看该作者
谢谢分享
回复

使用道具 举报

633#
发表于 2023-11-24 16:38:53 | 只看该作者
初学者前来学习一下,感谢分享
回复

使用道具 举报

632#
发表于 2023-10-6 17:25:58 | 只看该作者
学习了!!!!!!!!!!!
回复

使用道具 举报

631#
发表于 2023-9-13 12:57:43 | 只看该作者
    用来网启不错,可以支持proxydhcp了,哈哈



回复

使用道具 举报

630#
发表于 2023-8-14 14:36:12 | 只看该作者
感谢楼主分享,谢谢!
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 11:00

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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