|
本帖最后由 不点 于 2024-11-14 23:03 编辑
本软件基于葛明阳大师“一盘走天下”修改而成。
本软件不发布成品,只发布制作方法。
步骤1、制作 grub4dos 启动盘
方法一(此法已判死刑,请放弃!):准备一个 32G 以上大小的 U 盘,用 multimbr 制作可启动 U 盘,将 multimbr 发布包里面的 mbr_16G.img 写入 U 盘。写入的工具,可以用 dd for windows,或者 linux 下的 dd 命令,或者也可以尝试用 bootice 的 “导入”MBR 引导记录功能来将 mbr_16G.img 写入 U 盘。写完之后,U 盘就是一个单一 16G 的 FAT32 文件系统分区。剩余的空间,如果不想浪费掉的话,可以用 Windows 的磁盘工具、diskgen 等来添加分区,新添加的分区的文件系统格式建议采用 NTFS(可以直接添加为主分区;也可以先添加扩展分区,再在扩展分区里面添加逻辑分区)。相关下载:
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=320244
【更新】用 multimbr 制作的 FAT32 分区,在一台 Lenovo 机器上不能 UEFI 启动,只能 BIOS 启动。尝试用 Win11 的磁盘工具为 U 盘再添加一个 FAT32 主分区,然后把 multimbr 分区上的 EFI 文件夹复制到这个新建的 FAT32 分区上(EFI 文件夹很小,总共不足 1M 大小;别的都不用复制),完成之后,经过测试,证实可以 UEFI 启动了。下面的“方法二(适合懒人)”不存在此问题,也就是说,不需要再添加一个 FAT32 主分区。
【再更新】用 multimbr 制作的 FAT32 分区,在一台 HP 机器上进行 UEFI 启动时,主板不承认 U 盘!重新按下面的“方法二(适合懒人)”进行正常的分区、格式化操作之后,一切回归正常。因此,multimbr 被判死刑,不再使用了。
方法二(适合懒人):准备一个 U 盘(大小随意),把它格式化为 FAT32 分区,在其 MBR 上安装 grldr.mbr,或者 wee,分区根目录下放置 grldr 文件。您也可以先启动 bootmgr,再由 bootmgr 来加载 grldr,无论偏爱哪种方式都行。
【更新】感谢 baofeng00 指出错漏。不要忘了,FAT32 分区需要激活,否则 U 盘可能无法成功启动。
步骤2、拷入文件
一、用于 BIOS 启动的 grldr 文件,需放在 U 盘根目录(即“/”之下)。文件来自 grub4dos for legacy BIOS 的发布包。
二、用于 BIOS 启动的 menu.lst 文件,需放在 U 盘根目录(即“/”之下)。内容如下:
- # This is a sample menu.lst file. You should make some changes to it.
- # The old install method of booting via the stage-files has been removed.
- # Please install GRLDR boot strap code to MBR with the bootlace.com
- # utility under DOS/Win9x or Linux.
- #
- # It must be UTF-8 encoding for multi-lingual support. Font lines can be
- # appended to the file. The font lines should be in the unifont.hex format.
- color blue/green yellow/red white/magenta white/magenta
- timeout 10
- color border=0xEEFFEE
- graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
- font /unifont-16.0.01.hex.gz
- #把“退出 grub4dos”设为默认启动项,平常不经意插入 U 盘时,让它正常进入操作系统而不是进入 PE
- default 7
- ## Menu AutoNumber
- write 0x8274 0x2001
- title 一盘走天下 EFI.iso, 用于 Win11 电脑
- find --set-root --ignore-floppies --ignore-cd /gmy/EFI.iso
- map /gmy/EFI.iso (255)
- map --hook
- chainloader (255)
- title 一盘走天下 10PE.iso, 用于 Win7、8、10 电脑
- find --set-root --ignore-floppies --ignore-cd /gmy/10PE.iso
- map /gmy/10PE.iso (255)
- map --hook
- chainloader (255)
- title 一盘走天下 03PE.iso, 用于 XP 电脑
- find --set-root --ignore-floppies --ignore-cd /gmy/03PE.iso
- map /gmy/03PE.iso (255)
- map --hook
- chainloader (255)
- title 一盘走天下 ghost.img, 老电脑不支持 PE, 只好启动 DOS
- find --set-root --ignore-floppies --ignore-cd /gmy/ghost.img
- map /gmy/ghost.img (fd0)
- map --hook
- chainloader (fd0)+1
- rootnoverify (fd0)
- title 尝试加载电脑上的 BOOTMGR 来启动 Win7/8/10+
- find --set-root --ignore-floppies --ignore-cd /bootmgr
- chainloader /bootmgr
- title 尝试加载电脑上的 NTLDR 来启动 WinNT/2K/XP
- find --set-root --ignore-floppies --ignore-cd /ntldr
- map () (hd0)
- map (hd0) ()
- map --rehook
- find --set-root --ignore-floppies --ignore-cd /ntldr
- chainloader /ntldr
- title commandline (进入 grub4dos 命令行)
- commandline
- title Exit grub4dos (退出 grub4dos, 控制交给主板, 继续启动)\n这将启动本机原有的操作系统,就像未插入 USB 启动盘一样。
- boot -1
- title reboot (重启)
- reboot
- title halt (关机)
- halt
- # In the end, font lines for unicode chars in unifont.hex format.
- # It should include all unicode chars used in the above menu code.
- # Surely normal ASCII chars are not necessary to be included here.
- 5173:10100810082000003FF8010001000100FFFE010002800280044008203018C006
- 542F:010000801FFC1004100410041FFC10001000100017FC24042404440487FC0404
- 673A:100011F011101110FD10111031103910551055109110111211121212120E1400
- 91CD:001000F83F000100FFFE01001FF011101FF011101FF001003FF80100FFFE0000
复制代码
注意,您需要用 UTF-8 格式来保存菜单文件,否则中文是乱码。
三、用于 UEFI 启动的 BOOTX64.EFI,BOOTIA32.EFI,都放在 U 盘 /EFI/boot/ 文件夹下。文件来自 grub4dos for UEFI 的发布包。
四、用于 UEFI 启动的 menu.lst 文件,需放在 U 盘 /EFI/grub/ 文件夹下。内容如下:
- # 这是一个样品 menu.lst 文件。你应该对它做些改动。
- # 它必须是 UTF-8 编码,以支持多种语言。
- # 字体应该是 unifont.hex 格式。
- #设置倒计时(秒)
- timeout 10
- #把“退出 grub4dos”设为默认启动项,平常不经意插入 U 盘时,让它正常进入操作系统而不是进入 PE
- default 4
- #设置字符颜色(高32位是背景色,低32位是前景色。在命令行执行:echo -rrggbb,可查看对应的颜色。)
- color normal=0xff9933 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00
- #中文支持必须设置图形模式(可使用 graphicsmode 探测系统支持的图形模式)
- # graphicsmode -1 800(水平像素)
- graphicsmode -1 640:800 480:600 || graphicsmode -1
- #加载背景图
- #splashimage /efi/grub/splashimage.jpg || splashimage /boot/grub/splashimage.bmp
- #加载unifont字体(如果不是 16*16 字体,需增加参数,如 --font-high=24)
- #font /efi/grub/unifont.hex.gz
- font /unifont-16.0.01.hex.gz
- #设置菜单框
- #setmenu --box x=4 w=60 y=6 h=9 l=2
- #设置中文菜单按键帮助
- #setmenu --lang=zh
- #设置自动菜单编号
- #setmenu --auto-num-on
- #设置字符串信息
- #setmenu --string=x=y=颜色="字符串"
- #设置日期时间
- #setmenu --string=x=y=颜色="date&time=yyyy-MM-dd HH:mm:ss"
- #设置倒计时
- #setmenu --timeout=x=y=颜色
- #更多菜单编辑功能、动画、图像菜单等等,可参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=369720&extra=page%3D3
- title 一盘走天下 EFI.iso, 用于 Win11 电脑
- find --set-root /gmy/EFI.iso
- map /gmy/EFI.iso (255)
- map --hook
- chainloader (255)
- title 一盘走天下 10PE.iso, 用于 Win7/8/10 电脑
- find --set-root /gmy/10PE.iso
- map /gmy/10PE.iso (255)
- map --hook
- chainloader (255)
- title 尝试启动电脑上现存的 Windows 系统
- find --set-root /efi/microsoft/boot/bootmgfw.efi
- chainloader /efi/microsoft/boot/bootmgfw.efi
- title commandline (进入 grub4dos 命令行)
- commandline
- title Exit grub4dos (退出 grub4dos, 控制交给主板, 继续启动)\n这将启动本机原有的操作系统,就像未插入 USB 启动盘一样。
- exit_g4d
- title reboot (重启)
- reboot
- title halt (关机)
- halt
复制代码
注意,您需要用 UTF-8 格式来保存菜单文件,否则中文是乱码。
五、多国语言字库文件 unifont-16.0.0.1.hex.gz,需放在 U 盘根目录(即“/”之下)。文件来自 https://www.unifoundry.com/unifont/index.html 。
六、“一盘走天下”中的 iso 和 img 文件,相关下载: http://bbs.wuyou.net/forum.php?mod=viewthread&tid=440693
“一盘走天下.zip” 解压后,在其 “PE” 子文件夹下,就有 EFI.iso 文件。另外三个文件是 03PE.iso, 10PE.iso 和 ghost.img,它们都在 /PE/UD.fba 这个压缩包里面,用 fbinsttool 打开 UD.fba,把这三个文件导出即可。这四个文件 EFI.iso、 03PE.iso、 10PE.iso、 ghost.img 都放在 U 盘 /gmy/ 文件夹下。这四个文件需要整理碎块,保证连续存放;这是因为它们被 map 命令加载时,不带 --mem 参数(不占用内存)。
至此,启动 U 盘的制作全部完成。
|
评分
-
查看全部评分
|