无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: pseudo
打印 上一主题 下一主题

基于grub4dos的合盘,新突破,★11.14新增续尾法

  [复制链接]
31#
发表于 2009-11-14 23:21:55 | 只看该作者
P大:

1.WINPE.IS_用空白文件。。。
如何创建相同大小的空白文件

2.原来的WINPE.IS_放哪里,或是你提供的模版的grldr已包括定制的用gzip压缩文件

[ 本帖最后由 go2 于 2009-11-14 23:30 编辑 ]
回复

使用道具 举报

32#
 楼主| 发表于 2009-11-14 23:32:33 | 只看该作者
原帖由 玄天 于 2009-11-14 23:11 发表
懒得折腾,直接用grub启动iso合盘更方便吧:)

有所不同。

以往启动的是整个iso,iso内含启动相关文件setupldr.bin、ntdetect.com、winnt.xpe等。整个iso被启动后,有的pe可能找不到“外置程序”。整体启动iso可能慢、耗内存。
现在被grldr启动的是不含上述启动相关文件的、本身不可启动的pe核心WINPE.IS_,启动后可以正常找到外置。pe结构还是原来的结构,核心不变,但引导部分单文件化了。

稍加改造做成通用模板,使用起来比原来并不折腾。
回复

使用道具 举报

33#
发表于 2009-11-14 23:35:54 | 只看该作者
“将副本中WINPE.IS_用同体积空白文件替换,目的是减少压缩后体积,WINPE.IS_实际长度为26655412
;4、副本iso用gzip压缩后体积为208897,占409个扇区”

好像有些明白了。。。这些只是为了得到一个数字,为后面的map --mem (rd)435+409,208897 (0xff)做准备吧

[ 本帖最后由 go2 于 2009-11-14 23:37 编辑 ]
回复

使用道具 举报

34#
 楼主| 发表于 2009-11-14 23:39:17 | 只看该作者
原帖由 go2 于 2009-11-14 23:21 发表
P大:
1.WINPE.IS_用空白文件。。。
如何创建相同大小的空白文件
2.原来的WINPE.IS_放哪里,或是你提供的模版的grldr已包括定制的用gzip压缩文件

1、
  1. FILESIZE.COM WINPE.IS_ 26655412
复制代码
2、WINPE.IS_等在iso副本里,压缩后拼接到grldr尾部,得到模板里最终大体积grldr。

说明:
若压缩就按压缩后的体积算,不压缩也可以,但要按原体积算。我在注释里提供的数值,就是后面命令中用到的数据,不难对应变通。

整个改造过程没有改动原版文件内容,比较忠实于原版,只是做引导文件单一化处理。许多pe都可以这么处理。

[ 本帖最后由 pseudo 于 2009-11-14 23:48 编辑 ]

FILESIZE.rar

6.11 KB, 下载次数: 106, 下载积分: 无忧币 -2

回复

使用道具 举报

35#
发表于 2009-11-14 23:59:57 | 只看该作者
收到,谢谢,P大,现在的0PE是否来个终结。

或说0PE将会以新的高度出现?
回复

使用道具 举报

36#
 楼主| 发表于 2009-11-15 00:13:10 | 只看该作者

回复 #36 go2 的帖子

去年的圣诞版、今年的〇peZip扩展版二合一090620.zip和ftp上最新版(可能后面还有点变动)是0PE比较好的版本。

不一定有时间再出个终结版,有可能是不了了之的淡出。

谢谢go2兄和其他朋友关心支持。
回复

使用道具 举报

37#
发表于 2009-11-15 10:01:41 | 只看该作者
請問沒有 "匯編知識", 是否也可以個人將 原来 setupldr.bin、ntdetect.com、winnt.xpe 等文件,
续上 grldr 的尾部.
有否一步一步的教程, 讓個人也嘗試 將文件, 续上 grldr 的尾部.
回复

使用道具 举报

38#
发表于 2009-11-15 10:22:40 | 只看该作者

回复 #31 pseudo 的帖子

谢谢,我就是用7-zip压缩的,启动无反应
回复

使用道具 举报

39#
 楼主| 发表于 2009-11-15 13:20:44 | 只看该作者
原帖由 nu852 于 2009-11-15 10:01 发表
請問沒有 "匯編知識", 是否也可以個人將 原来 setupldr.bin、ntdetect.com、winnt.xpe 等文件,
续上 grldr 的尾部.
有否一步一步的教程, 讓個人也嘗試 將文件, 续上 grldr 的尾部.

不需要什么汇编语言知识。

把老毛桃的iso文件BootCD_070911.ISO用UltraISO工具打开,删除文件,保留setupldr.bin、ntdetect.com、winnt.xpe、WINPE.IS_四个文件(我给的模版中好像还多了个winpe.ini忘记删掉),再按#35楼方法弄个同体积的空白文件WINPE.IS_覆盖iso内同名文件,就得到要附于grldr尾部的iso文件。

用7-zip工具以gzip格式将其压缩(只是为了减少体积,其实不压缩也可以),假设压缩后文件为BootCD_070911.ISO.gz,那么,将其续于grldr后的dos命令是
  1. copy /b grldr+BootCD_070911.ISO.gz /b
复制代码

这样就得到一个由两个文件拼接起来的grldr了。grub4dos在使用这个grldr时,会忽略后面拼接的部分。

当然,拼接前对grldr应处理一下:
一是内置好菜单,不内置也可以,但外面多个菜单文件,稍微不爽,另外菜单外置找起来困难,还容易找错。
二是扇区对齐,就是说使grldr的体积刚好为512的整数倍,这样便于将来定位访问后面拼接的BootCD_070911.ISO.gz部分。由于菜单内置,可以通过增减菜单内容,例如加些垃圾注释来调整grldr的大小达到扇区对齐。
原帖由 zxw 于 2009-11-15 10:22 发表
谢谢,我就是用7-zip压缩的,启动无反应

用7-zip工具以gzip格式将其压缩
回复

使用道具 举报

40#
发表于 2009-11-15 13:23:03 | 只看该作者
原帖由 pseudo 于 2009-11-14 23:32 发表

有所不同。

以往启动的是整个iso,iso内含启动相关文件setupldr.bin、ntdetect.com、winnt.xpe等。整个iso被启动后,有的pe可能找不到“外置程序”。整体启动iso可能慢、耗内存。
现在被grldr启动的是不含 ...

是有可能,不过直接将ISO中的外置程序剪切到合盘上还是没问题的,这样够简单
也许将字体和背景文件内置进去或许可解决光盘版的中文和背景图问题?
回复

使用道具 举报

41#
 楼主| 发表于 2009-11-15 13:39:56 | 只看该作者

回复 #41 玄天 的帖子

原理上字体、背景等等,随便什么都可以,甚至整个pe都可以做成单个grldr文件,不过那样意义不大。
我主要是提倡引导相关东西单文件化,即使合盘也可以做到。总之,按这样的理念去做会有利于清爽:
统一引导文件,用于引导的文件、目录尽量少,盘上目录清爽,单独存在的文件一般都是可删除组件,否则尽量打包合并
回复

使用道具 举报

42#
发表于 2009-11-15 14:27:39 | 只看该作者
原帖由 pseudo 于 2009-11-15 13:20 发表

用7-zip工具以gzip格式将其压缩 ...

最开始我请教提问之前就是这样压缩的。
看来还要多研究一下。
回复

使用道具 举报

43#
 楼主| 发表于 2009-11-15 14:56:09 | 只看该作者
原帖由 zxw 于 2009-11-15 14:27 发表
最开始我请教提问之前就是这样压缩的。
看来还要多研究一下。

附件是拼接前的两个文件以及用来执行拼接的批处理。拼接后就得到#1楼模板的最终grldr文件。

拼接前.rar

281.87 KB, 下载次数: 158, 下载积分: 无忧币 -2

回复

使用道具 举报

44#
发表于 2009-11-15 14:59:18 | 只看该作者
等以后的通用版本,,,
回复

使用道具 举报

45#
发表于 2009-11-15 15:35:31 | 只看该作者
原帖由 pseudo 于 2009-11-15 13:39 发表
原理上字体、背景等等,随便什么都可以,甚至整个pe都可以做成单个grldr文件,不过那样意义不大。
我主要是提倡引导相关东西单文件化,即使合盘也可以做到。总之,按这样的理念去做会有利于清爽:
统一引导文 ...

合盘直接引导iso就够清爽的了:(
现在的麻烦大概就是在光盘使用 Grub 菜单的中文字体
回复

使用道具 举报

46#
发表于 2009-11-15 15:38:54 | 只看该作者

回复 #44 pseudo 的帖子

谢谢P大的热心指导。
我测试的是天意的PE.安装在U盘。
grldr内置菜单凑满到435扇区,
副本iso压缩后为376912,占737个扇区。

内置菜单为:
debug off
clear
pause --wait=0 PE loader by Pseudo 2009.11.14
pause --wait=0 Loading /WXPE/TYPE.IS_...
checkrange 0xff3f80 read 0x82b9 || map (fd0) (hd)
map --mem=0xB000 /GRLDR (rd)
map --mem (rd)435+737,376912(0xff)
map --hook
dd if=(hd-1,0)/WXPE/TYPE.IS_ of=(0xff)/MINIPE/TYPE.IS_
chainloader (0xff)
描红处修改是否正确?描蓝处是我增加的一句,不知是否恰当?

[ 本帖最后由 zxw 于 2009-11-15 15:47 编辑 ]
回复

使用道具 举报

47#
 楼主| 发表于 2009-11-15 16:50:54 | 只看该作者

回复 #47 zxw 的帖子

描红处(0xff)前空一格
描蓝处你比我有经验。不过建议先删掉,后面(hd-1,0)处根据具体某台机器情况直接写死为(fd0)、(hd0,0)、(hd0,3)之类。

我觉得成功之前往往怎么弄都弄不好,成功之后往往怎么弄都弄不坏。所以先务求在特定环境尽快成功,有成功先例再考虑通用性。
回复

使用道具 举报

48#
发表于 2009-11-15 16:58:53 | 只看该作者
好方法!
我试试,谢谢楼主!
回复

使用道具 举报

49#
发表于 2009-11-15 19:29:05 | 只看该作者
附加到GRLDR,
我倒是觉得这样做更麻烦,,,
还不如直接打包为一个ISO文件,更简单。
回复

使用道具 举报

50#
 楼主| 发表于 2009-11-16 17:30:02 | 只看该作者
原帖由 chenall 于 2009-11-15 19:29 发表
附加到GRLDR,
我倒是觉得这样做更麻烦,,,
还不如直接打包为一个ISO文件,更简单。

如果是指整体启动iso,这是现成的。
如果是指将准备附加到grldr的东西打包为一个iso文件单独放置,那么外面就多了个文件。
附加到grldr是不改变原来格局,只把引导相关部分单文件化的方式之一。
回复

使用道具 举报

51#
 楼主| 发表于 2009-11-16 17:31:06 | 只看该作者

兼顾光启、U启

原帖由 zxw 于 2009-11-15 15:38 发表
...描蓝处是我增加的一句,不知是否恰当?...

描蓝处可删?试试这样子能不能兼顾光启、U启:

  1. ;说明:
  2. ;1、使grldr内置菜单后体积是512的整数倍,例如体积为222720字节(即435扇区),不满时可通过增加本菜单注释内容凑满。
  3. ;2、复制原版启动光盘iso得到iso副本,对副本保留其中setupldr.bin、ntdetect.com、winnt.xpe、WINPE.IS_四个文件,删除其它文件。
  4. ;3、将副本中WINPE.IS_用同体积空白文件替换,目的是减少压缩后体积,WINPE.IS_实际长度为26655412。
  5. ;4、副本iso用gzip压缩后体积为208897,占409个扇区,
  6. ;5、将副本iso续于grldr尾部,得到最终的大体积grldr,作为最终iso的引导文件。
  7. debug off
  8. clear
  9. pause --wait=0 PE loader by Pseudo 2009.11.14
  10. pause --wait=0 Loading /MINIPE/WINPE.IS_...
  11. map --mem=0xB000 /GRLDR (rd)
  12. map --mem (rd)435+409,208897 (0xff)
  13. map --hook
  14. dd if=()/MINIPE/WINPE.IS_ of=(0xff)/MINIPE/WINPE.IS_
  15. chainloader (0xff)
  16. ;这里随便写些注释使grldr内置菜单凑满435扇区...
  17. ;123456789012345678901234567890123456789012345678901234567890
  18. ;123456789012345678901234567890123456789012345678901234567890
  19. ;123456789012345678901234567890123456789012345678901234567890
  20. ;123456789012345678901234567890123456789012345678901234567890
  21. ;1234567890123456789012345678
复制代码
回复

使用道具 举报

52#
发表于 2009-11-16 18:31:08 | 只看该作者

回复 #52 pseudo 的帖子

描蓝处是我适应fbinst启动而添加的。现为了减少干扰因素,在原硬盘隐藏分区grldr引导来测试,但不好意思,我这里制作还有点问题,目前只能启动到命令行。

[ 本帖最后由 zxw 于 2009-11-17 15:48 编辑 ]
回复

使用道具 举报

53#
发表于 2009-12-2 15:46:57 | 只看该作者
好帖子怎能下沉,顶上来!!!

评分

参与人数 1无忧币 -20 收起 理由
zhxy9804 -20 恶意灌水

查看全部评分

回复

使用道具 举报

54#
发表于 2009-12-4 19:37:27 | 只看该作者
大师:
如果用硬盘使用,应该如何修改?用什么工具?
谢谢!
回复

使用道具 举报

55#
 楼主| 发表于 2009-12-5 01:05:17 | 只看该作者
原帖由 天涯海角1216 于 2009-12-4 19:37 发表
大师:
如果用硬盘使用,应该如何修改?用什么工具?
谢谢!

大师不在。
我代为解答:
#1楼chenall给出的菜单,可以用于从硬盘启动。
我给的菜单,用Ultraedit改为#52楼的,可用于从硬盘启动。此外,使用chenall的新版grldr,还支持将(cd)改为(bd),但新版体积有变,相关数据要相应调整。
回复

使用道具 举报

56#
发表于 2009-12-6 17:29:41 | 只看该作者
请教大师:
你们2位都是大师,就别客气了!

能否给个做好的硬盘启动模板呀,谢谢!
我的PE是在硬盘FAT32分区的,WXPE\TQXZ.IS_
回复

使用道具 举报

57#
发表于 2009-12-6 19:29:09 | 只看该作者
学习中~~~~牛人真多
回复

使用道具 举报

58#
 楼主| 发表于 2009-12-6 21:33:51 | 只看该作者

回复 #57 dhbtljj 的帖子

只给出示例以说明原理和可行性,要做通用模板得编程了
回复

使用道具 举报

59#
发表于 2010-2-8 23:39:14 | 只看该作者
呵呵。。不错。。佩服。。
回复

使用道具 举报

60#
发表于 2022-6-17 13:02:23 | 只看该作者
支持了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-8 10:21

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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