无忧启动论坛

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

[发布] 一盘走天下【自由拼装修改版】

    [复制链接]
跳转到指定楼层
1#
发表于 2024-11-10 13:21:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 不点 于 2024-11-17 13:30 编辑

本软件基于葛明阳大师“一盘走天下”修改而成。

本软件不发布成品,只发布制作方法。

步骤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,无论偏爱哪种方式都行。

【更新】感谢 baosheng00 指出错漏。不要忘了,FAT32 分区需要激活,否则 U 盘可能无法成功启动。如果您把 grldr.mbr 或 wee 安装到了 U 盘的 MBR 上,您就不需要激活这个 FAT32 分区了。如果您在 U 盘 MBR 上安装的是 Windows NT 引导代码,那要记住必须激活 FAT32 分区才行,否则 FAT32 分区中的 NTLDR 或 BOOTMGR 不能取得控制权。

步骤2、拷入文件

一、用于 BIOS 启动的 grldr 文件,需放在 U 盘根目录(即“/”之下)。文件来自 grub4dos for legacy BIOS 的发布包。

二、用于 BIOS 启动的 menu.lst 文件,需放在 U 盘根目录(即“/”之下)。内容如下:

  1. # This is a sample menu.lst file. You should make some changes to it.
  2. # The old install method of booting via the stage-files has been removed.
  3. # Please install GRLDR boot strap code to MBR with the bootlace.com
  4. # utility under DOS/Win9x or Linux.
  5. #
  6. # It must be UTF-8 encoding for multi-lingual support. Font lines can be
  7. # appended to the file. The font lines should be in the unifont.hex format.

  8. color blue/green yellow/red white/magenta white/magenta
  9. timeout 10
  10. color border=0xEEFFEE
  11. graphicsmode -1 640:800 480:600 24:32 || graphicsmode -1 -1 -1 24:32
  12. font /unifont-16.0.01.hex.gz
  13. #把【退出 grub4dos】设为默认启动项,平常不经意插入 U 盘时,让它正常进入操作系统而不是进入 PE
  14. default 7
  15. ## Menu AutoNumber
  16. write 0x8274 0x2001

  17. title 一盘走天下 EFI.iso, 用于 Win11 电脑
  18. find --set-root --ignore-floppies --ignore-cd /gmy/EFI.iso
  19. map /gmy/EFI.iso (255)
  20. map --hook
  21. chainloader (255)

  22. title 一盘走天下 10PE.iso, 用于 Win7、8、10 电脑
  23. find --set-root --ignore-floppies --ignore-cd /gmy/10PE.iso
  24. map /gmy/10PE.iso (255)
  25. map --hook
  26. chainloader (255)

  27. title 一盘走天下 03PE.iso, 用于 XP 电脑
  28. find --set-root --ignore-floppies --ignore-cd /gmy/03PE.iso
  29. map /gmy/03PE.iso (255)
  30. map --hook
  31. chainloader (255)

  32. title 一盘走天下 ghost.img, 老电脑不支持 PE, 只好启动 DOS
  33. find --set-root --ignore-floppies --ignore-cd /gmy/ghost.img
  34. map /gmy/ghost.img (fd0)
  35. map --hook
  36. chainloader (fd0)+1
  37. rootnoverify (fd0)

  38. title 尝试加载电脑上的 BOOTMGR 来启动 Win7/8/10+
  39. find --set-root --ignore-floppies --ignore-cd /bootmgr
  40. chainloader /bootmgr

  41. title 尝试加载电脑上的 NTLDR 来启动 WinNT/2K/XP
  42. find --set-root --ignore-floppies --ignore-cd /ntldr
  43. map () (hd0)
  44. map (hd0) ()
  45. map --rehook
  46. find --set-root --ignore-floppies --ignore-cd /ntldr
  47. chainloader /ntldr

  48. title commandline (进入 grub4dos 命令行)
  49. commandline

  50. title Exit grub4dos (退出 grub4dos, 控制交给主板, 继续启动)\n这将启动本机原有的操作系统,就像未插入 USB 启动盘一样。
  51. boot -1

  52. title reboot (重启)
  53. reboot

  54. title halt (关机)
  55. halt

  56. # In the end, font lines for unicode chars in unifont.hex format.
  57. # It should include all unicode chars used in the above menu code.
  58. # Surely normal ASCII chars are not necessary to be included here.

  59. 5173:10100810082000003FF8010001000100FFFE010002800280044008203018C006
  60. 542F:010000801FFC1004100410041FFC10001000100017FC24042404440487FC0404
  61. 673A:100011F011101110FD10111031103910551055109110111211121212120E1400
  62. 91CD:001000F83F000100FFFE01001FF011101FF011101FF001003FF80100FFFE0000
复制代码

注意,您需要用 UTF-8 格式来保存菜单文件,否则中文是乱码。

三、用于 UEFI 启动的 BOOTX64.EFI,BOOTIA32.EFI,都放在 U 盘 /EFI/boot/ 文件夹下。文件来自 grub4dos for UEFI 的发布包。
四、用于 UEFI 启动的 menu.lst 文件,需放在 U 盘 /EFI/grub/ 文件夹下。内容如下:

  1. # 这是一个样品 menu.lst 文件。你应该对它做些改动。
  2. # 它必须是 UTF-8 编码,以支持多种语言。
  3. # 字体应该是 unifont.hex 格式。

  4. #设置倒计时(秒)
  5. timeout 10

  6. #把【退出 grub4dos】设为默认启动项,平常不经意插入 U 盘时,让它正常进入操作系统而不是进入 PE
  7. default 4

  8. #设置字符颜色(高32位是背景色,低32位是前景色。在命令行执行:echo -rrggbb,可查看对应的颜色。)
  9. color normal=0xff9933 highlight=0xffff00 helptext=0xff00ff heading=0x66ff00

  10. #中文支持必须设置图形模式(可使用 graphicsmode 探测系统支持的图形模式)
  11. # graphicsmode -1 800(水平像素)
  12. graphicsmode -1 640:800 480:600 || graphicsmode -1
  13. #加载背景图
  14. #splashimage /efi/grub/splashimage.jpg || splashimage /boot/grub/splashimage.bmp
  15. #加载unifont字体(如果不是 16*16 字体,需增加参数,如 --font-high=24)
  16. #font /efi/grub/unifont.hex.gz
  17. font /unifont-16.0.01.hex.gz

  18. #设置菜单框
  19. #setmenu --box x=4 w=60 y=6 h=9 l=2
  20. #设置中文菜单按键帮助
  21. #setmenu --lang=zh
  22. #设置自动菜单编号
  23. #setmenu --auto-num-on
  24. #设置字符串信息
  25. #setmenu --string=x=y=颜色="字符串"
  26. #设置日期时间
  27. #setmenu --string=x=y=颜色="date&time=yyyy-MM-dd  HH:mm:ss"
  28. #设置倒计时
  29. #setmenu --timeout=x=y=颜色
  30. #更多菜单编辑功能、动画、图像菜单等等,可参考http://bbs.wuyou.net/forum.php?mod=viewthread&tid=369720&extra=page%3D3

  31. title 一盘走天下 EFI.iso, 用于 Win11 电脑
  32. find --set-root /gmy/EFI.iso
  33. map /gmy/EFI.iso (255)
  34. map --hook
  35. chainloader (255)

  36. title 一盘走天下 10PE.iso, 用于 Win7/8/10 电脑
  37. find --set-root /gmy/10PE.iso
  38. map /gmy/10PE.iso (255)
  39. map --hook
  40. chainloader (255)

  41. title 尝试启动电脑上现存的 Windows 系统
  42. find --set-root /efi/microsoft/boot/bootmgfw.efi
  43. chainloader /efi/microsoft/boot/bootmgfw.efi

  44. title commandline (进入 grub4dos 命令行)
  45. commandline

  46. title Exit grub4dos (退出 grub4dos, 控制交给主板, 继续启动)\n这将启动本机原有的操作系统,就像未插入 USB 启动盘一样。
  47. exit_g4d

  48. title reboot (重启)
  49. reboot

  50. title halt (关机)
  51. 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 参数(不占用内存)。

【提示】 这最后建立的 /gmy/ 文件夹下的 iso、img 文件比较大,您也可以先不建立这个文件夹,待到您确认您的菜单能够正常显示之后,再建立这个 /gmy/ 文件夹也行。如果没有 /gmy/ 文件夹,菜单仍然是可以正常显示出来的,只不过当您选择那些菜单项的时候,由于 map 命令找不到 /gmy/ 下的 iso、img 文件,这会报错。当然,如果这些 iso、img 是存在的,但却有碎块,那也会报错。

至此,启动 U 盘的制作全部完成。


评分

参与人数 1无忧币 +5 收起 理由
879792799 + 5 很给力!谢谢大佬分享

查看全部评分

2#
发表于 2024-11-10 13:32:57 | 只看该作者
厉害!
回复

使用道具 举报

3#
发表于 2024-11-10 13:36:14 | 只看该作者
收藏备用。
回复

使用道具 举报

4#
发表于 2024-11-10 13:36:50 | 只看该作者
感谢群主,历史高明的啊
回复

使用道具 举报

5#
发表于 2024-11-10 13:54:43 | 只看该作者
谢谢分享。
回复

使用道具 举报

6#
发表于 2024-11-10 14:03:48 | 只看该作者
授人人鱼不如授人于渔,谢谢了。
回复

使用道具 举报

7#
发表于 2024-11-10 14:43:20 | 只看该作者
感謝你無私的分享,感恩喔 ^^!辛苦了!
回复

使用道具 举报

8#
发表于 2024-11-10 14:52:37 | 只看该作者
谢谢大佬分享
回复

使用道具 举报

9#
发表于 2024-11-10 14:55:17 | 只看该作者
没有成品就算了
回复

使用道具 举报

10#
发表于 2024-11-10 15:18:18 | 只看该作者
FAT32?FAT32?FAT32?
回复

使用道具 举报

11#
发表于 2024-11-10 15:47:58 | 只看该作者
谢谢分享
回复

使用道具 举报

12#
发表于 2024-11-10 16:05:35 | 只看该作者
多谢楼主分享!!!
回复

使用道具 举报

13#
发表于 2024-11-10 16:22:04 | 只看该作者
不点大大出马了

点评

我其实是来冒泡,向大家汇报最近的学习心得呢。 chenall 为 legacy BIOS 开发的 boot -1 命令真是太棒了!利用这条命令,就可以让 grub4dos 走 “旁路”,不影响主板正常的启动路线。 而 yaya 为 UEFI 开发的  详情 回复 发表于 2024-11-10 19:27
回复

使用道具 举报

14#
发表于 2024-11-10 16:56:59 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
发表于 2024-11-10 17:10:30 | 只看该作者
这个一盘走天下【自由拼装修改版】确实非常的实用的啊。
回复

使用道具 举报

16#
发表于 2024-11-10 18:06:50 | 只看该作者
标记以方便后续学习
回复

使用道具 举报

17#
 楼主| 发表于 2024-11-10 19:27:14 | 只看该作者
gtc 发表于 2024-11-10 16:22
不点大大出马了

我其实是来冒泡,向大家汇报最近的学习心得呢。

chenall 为 legacy BIOS 开发的 boot -1 命令真是太棒了!利用这条命令,就可以让 grub4dos 走 “旁路”,不影响主板正常的启动路线。

而 yaya 为 UEFI 开发的 exit_g4d 命令具有相同的功能,非常牛B!在 UEFI 下,利用这条命令,也可以让 grub4dos 走 “旁路”,不影响主板正常的启动路线。

如果说,我这两个 menu.lst 有什么“亮点”的话,那这两条命令(“boot -1”和 “exit_g4d”)的使用,就算是“亮点”了吧。我真不了解,别人以前是否用过这两条命令;也许早已有人用过了。


点评

这两个指令还真的是少见,学习了,感谢。  发表于 2024-11-12 17:20
gtc
感谢不点大大耐心回复!我想请教一下,PE可以替换为自己修改的或者是论坛内别的作品吗?  详情 回复 发表于 2024-11-10 22:28

评分

参与人数 4无忧币 +20 收起 理由
ali88home + 5 山寨
gtc + 5 很给力!
879792799 + 5 学习了!谢谢大佬
holley2008 + 5 赞一个!

查看全部评分

回复

使用道具 举报

18#
发表于 2024-11-10 19:27:49 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

19#
发表于 2024-11-10 20:01:14 | 只看该作者
多谢大佬的分享。
回复

使用道具 举报

20#
发表于 2024-11-10 20:41:35 | 只看该作者
感谢分享
回复

使用道具 举报

21#
发表于 2024-11-10 21:14:19 | 只看该作者
感谢分享
回复

使用道具 举报

22#
发表于 2024-11-10 21:17:52 | 只看该作者
感谢分享
回复

使用道具 举报

23#
发表于 2024-11-10 21:24:46 | 只看该作者
学习
回复

使用道具 举报

24#
发表于 2024-11-10 21:28:51 | 只看该作者
学习了
回复

使用道具 举报

25#
发表于 2024-11-10 22:21:31 | 只看该作者
收藏学习,好厉害
回复

使用道具 举报

26#
发表于 2024-11-10 22:28:52 | 只看该作者
不点 发表于 2024-11-10 19:27
我其实是来冒泡,向大家汇报最近的学习心得呢。

chenall 为 legacy BIOS 开发的 boot -1 命令真是太棒 ...

感谢不点大大耐心回复!我想请教一下,PE可以替换为自己修改的或者是论坛内别的作品吗?

点评

既然是“自由拼装”,那当然随便了。只需修改菜单,让您的每个任务都能挂到菜单上即可。 顺便再向大家汇报一点心得体会:FAT32 有什么用? 我知道 FAT32 的致命缺点是,不支持 4G 以上的大文件。那么,FAT32  详情 回复 发表于 2024-11-11 06:33
回复

使用道具 举报

27#
发表于 2024-11-10 23:07:39 | 只看该作者

感谢分享
回复

使用道具 举报

28#
发表于 2024-11-11 00:06:04 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2024-11-11 00:06:20 | 只看该作者
谢谢分享
回复

使用道具 举报

30#
发表于 2024-11-11 00:06:38 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-27 21:23

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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