无忧启动论坛

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

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

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

本软件基于葛明阳大师【一盘走天下】修改而成。葛明阳大师原版地址是


http://wuyou.net/forum.php?mod=viewthread&tid=440693


如果上述链接无效,请在论坛搜 “一盘走天下”,很容易找到。

【自由拼装修改版】不发布成品,只发布制作方法。有需要成品的朋友,请点击上述原版链接。


按照以下步骤制作完成后,可以同时支持 BIOS 和 UEFI 启动。


步骤1、U 盘准备工作(分区、格式化、写引导代码、激活)


准备一个 U 盘(大小随意),把它格式化为 FAT32 分区,在其 MBR 上安装 grldr.mbr,或者 wee,分区根目录下放置 grldr 文件。您也可以先启动 bootmgr,再由 bootmgr 来加载 grldr,无论偏爱哪种方式都行。


有朋友指出,上述这段写得太简略,不容易操作。为此,特别作出以下补充说明:


先说说为什么需要 FAT32。这是为了更好地兼容 BIOS 和 UEFI 启动。有些电脑可能直接支持 NTFS 作为启动分区。但是,不一定所有的电脑都支持 NTFS 作为启动分区。所以,没办法,我们就采用 FAT32 分区,来保证最大的兼容性。其实,通常您还需要有个 NTFS 分区,来放置您的 ISO 文件或 WIM 文件,因为这些文件都有可能超过 4G 的大小。



好吧,就假定您需要这两个分区了。FAT32 是主分区,用来 “启动” 的。NTFS 是用来存放 “超大” 文件的,它可以是主分区,也可以是逻辑分区。我们就采用 MBR 分区格式吧。我对 GPT 格式不熟悉,不敢乱说。GPT 也许能行,也许会出毛病,对此我不能确定。


在 “进行分区” 这一步,很关键。大家知道,分区表后面留了一段空间是闲置的(属于 “隐藏扇区” 这个概念)。有些分区工具会把这段空间弄得很大,比如,1M 那么大。而有些分区工具把它留得很小,只有 32 个扇区(包括 MBR 这个扇区在内;也就是说,MBR 扇区之后的隐藏扇区就只有 31 个了)。如果将来想要在这个 U 盘安装 wee,那是不行的,因为 wee 需要占据 62 个扇区(含 MBR 在内)。如果您不打算安装 wee,而只安装 grldr.mbr 或者微软的引导扇区,那就没啥可担忧的了,随便使用哪个分区工具都没事。如果您将来要安装 wee 的话,您现在就需要考虑 “隐藏扇区数” 的问题。diskgen 这个分区工具能够给您很大的自由,让您可以指定第一分区从哪里开始。如果您很懒,不想动脑筋,在进行分区时,您可以指定分区按照 1M 来对齐,这样,您的隐藏扇区数就很庞大了,绝对够用,不存在任何问题。安装 wee 算是高级话题,我们以下不涉及 wee,而只讨论 grldr.mbr 以及微软的引导扇区。


以下是 “U 盘准备工作” 的简要操作步骤:



(第1步)用您的分区工具,把这个 U 盘重新分区,里面的数据,当然就要毁掉了。如果您的 U 盘碰巧已经是 FAT32 格式了,那就不需要重新分区了,此时您的数据完好无损,不会丢失。如果您的 U 盘容量很大,建议第一分区 FAT32 的大小为 31G 或更小一点。剩余的空间作为 NTFS 分区。其实分区大小没有硬性规定,自己权衡即可。


(第2步——grldr.mbr用 BootICE 把 grldr.mbr 安装到 U 盘的 MBR 上。位于 MBR 上的 grldr 代码,总共占用的扇区数不多,通常不超过 20 个。因此,这一步通常总可以成功。这一步很安全,不会损坏您的分区数据。也就是说,您现有的分区结构,不会受到任何破坏。BootICE 写引导扇区数据,只会写入隐藏区,不会破坏任何已经存在的分区数据。所谓隐藏扇区,其实就是专门为引导扇区而保留的空间。任何一款写引导扇区的软件,都不应该破坏分区数据。当然了,一个不成熟的工具,倒是真有可能毁掉分区数据。BootICE 是很成熟的工具,它不会犯这类严重错误。如果您的隐藏扇区数足够多,这一步您也可以安装 wee。由于安装 wee 属于高级话题,细节还有不少,因此这里不涉及。位于 MBR 上的 grldr 代码(或 wee 代码)能够查找和加载各分区根目录下的 grldr,不管各分区是否激活。



其实您不必安装 grldr.mbr (或 wee),您有另一个选择,就是安装微软的引导代码到 MBR:


(第2步——微软 NT 引导代码用 BootICE 把微软的 NT 代码安装到 U 盘 MBR 上,也安装到 FAT32 分区上。安装微软引导代码到 MBR 后,要记得激活 FAT32 分区,否则,MBR 上的微软引导代码不会加载 FAT32 上的分区引导代码(PBR)。现在您应该明白您走到哪一步了:MBR 接管控制后,控制权成功递交给 PBR 了。而 PBR 上的引导代码,是准备将控制权递交给 NTLDR 或 BOOTMGR 的。在接下来的步骤中,您会在 FAT32 分区的根目录放置 grldr 文件。现在您要明白,微软的引导代码不可能加载 grldr,因此,您需要把 grldr 复制为 ntldr 或 复制为 bootmgr。保险起见,您可以既复制为 ntldr,也复制为 bootmgr。如此一来,微软的引导代码就不会落空了,因为 ntldr、bootmgr 已经有了(虽然看起来有点 “欺骗” 的意味)。


以上两个小步骤做完了,那么 “U 盘准备工作” 也就完成了。这其实是最难的一步了——对 “生手” 来说,主要是理解起来有难度。剩余的步骤全是拷贝文件,最多再加上一个整理 iso 碎片的工作,都不难理解。


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

步骤2、拷入文件

一、用于 BIOS 启动的 grldr 文件,需放在 U 盘(FAT32 分区,下同)根目录(即“/”之下)。文件来自 grub4dos for legacy BIOS 的发布包。需要注意一点,如果在 “步骤1、U 盘准备工作” 中您采用的是微软的引导代码,此刻您需要把 grldr 复制为 ntldr 和 bootmgr,目的是让微软的引导代码实际上加载的是 grldr。

二、用于 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 盘的制作全部完成。


点评

感谢分享经验  发表于 2025-2-6 09:00

评分

参与人数 2无忧币 +10 收起 理由
wangjf + 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, 2025-12-2 12:27

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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