|
本帖最后由 wintoflash 于 2019-11-22 19:06 编辑
本帖内容不再更新,项目中止。愿意接手的可以到GitHub发PR和issue。
-----------------------------------------------------------------------
grub2 下载:https://github.com/aIive/builds/archive/master.zip
使用方法:
- map [--pause] [--mem] [--type=CD|HD|FD] [--disk] FILE
- -m, --mem 加载到内存
- -p, --pause 启动前暂停以查看调试信息
- -d, --disk 将磁盘当作文件加载
- -t, --type 指定虚拟盘类型
- --type=CD 指定为光盘,块大小为2048
- --type=HD 指定为硬盘,块大小为512
- --type=FD 指定为软盘,块大小为512
复制代码
示例:
- #未指定虚拟盘类型时,如果文件扩展名为ISO,则为光盘,否则为硬盘。
- map /winpe.iso
- #加载到内存 如果是网启,请使用此参数
- map --mem --type=CD /wepe_64.iso
- #加载VHD文件,支持动态VHD,使用--disk参数时,默认类型为硬盘
- vhd vhd0 /test.vhd
- map --disk --type=HD vhd0
复制代码
示例定制命令:
- 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
复制代码
附注:
1. 虚拟盘是只读的。
2. 硬盘镜像支持MBR分区表(已测试)和GPT分区表(未测试)
3. 尽量不要嵌套加载此版本grub(grub加载grub再map),也不要多次执行map。
4. map的相关代码不只在map.mod中,只复制这个模块到其他版本的grub中是无效的。
鸣谢:
参考了以下项目的代码,感谢相关作者的开源。
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
|
评分
-
查看全部评分
|