无忧启动论坛
标题: 菜鸟个性化U盘之路第6篇(DIY篇) [打印本页]
作者: 110654 时间: 2016-3-16 14:22
标题: 菜鸟个性化U盘之路第6篇(DIY篇)
本帖最后由 110654 于 2016-3-16 14:22 编辑
菜鸟个性化U盘之路第6篇(DIY)
你还在为U盘根目录乱七八糟的文件夹分不清楚而烦恼吗?
你还在为grub2该如何使用苦苦找寻教材吗?
你还在为使用那个PE更好,而无法合并到自己的U盘吗?
你还在为efi该如何应用而郁闷吗?
这篇教材适用于才接触grub2的新手,需要自定义U盘引导的,喜欢折腾的,老手飘过。。。
DIY(个性化)的宗旨:
对于原作者的作品,我们可以修改外观,修改布局,修改功能以及快捷方式,但我不赞成修改原作者的标签,这种“毁尸灭迹”的剽窃是对所有致力于IT技术研究的前辈们莫大的打击,我们无偿地使用了他人的劳动成果就应该铭记和感谢他们,那些将“转帖”称为“原创”的家伙是大家所不齿的。
其实很多懂代码的根本看不起DIY这样的工具党,那是因为有些逗比把人家的作品标签都改成自己,还说自己的原创。
下载地址:
这个压缩包包含了全部成品的文件,集合了各类大神的作品修改版,还有很多很多实用工具。
这些工具总之很实用,不要谢我,回帖鼓励一下吧,我会分享更好的东西给大家的。
已知BUG:
在这个压缩包里面缺少一个文件,就是老毛桃0911撒手不管版ISO里面的OP.WIM文件,其实就是XP-PE的外置程序打包文件,大家可以下载原本复制到boot/p/目录里面,
也可以不用添加,这样的话进PE相当于没有任何的工具使用,但你可以使用U盘里面的工具,
安装:(也可参考神雕的帖子)
把U盘格式化成FAT32格式
把压缩包解压到U盘
运行\winly文件夹grubinst文件夹里面的grubinst_gui.exe
就可以使用了
目录结构大致说明
Boot=存放了各类PE,
EFI=EFI引导需要的
Winly=神雕作品引导关键文件
Winlyldr=这个文件是grub2引导文件
Winlyldr.mbr=引导文件mbr备份,用于恢复引导
看过第5篇的会发现根目录是不是少了很多文件夹,没错,DIY的目的就是要这样。把各种你喜欢的PE丢到一个文件夹里面去引导,然而还不会跟EFI引导冲突,自己也不会做PE,只能修改别人的怎么办?怎么修改别人的PE?
从下面几个实例中你会发现大多数PE都可以采用这样的办法去解决DIY无法合并的问题
第一个:XP -PE
随便下载个XP的PE,听说老毛桃0911撒手不管版很强大,驱动集成兼容超强,下载一个来DIY一下。
打开看一下发现是个ISO文件,用ULTRAISO提取全部文件出来。百度一下发现XP-PE引导文件说明
WinPE毕竟是MS的附属产品,包含文件如下(分别对应XP启动盘中的那几个文件):
1、PEBOOT.BIN,2、SETUPLDR.BIN(PELDR),3、NTDETECT.COM,4、WINNT.SIF(WINNT.XPE)必须放在根目录。另外还要附带WINPE的ISO文件WINPE.ISO,此文件被CAB压缩后仍然可以被PELDR调用。
具体启动过程是:PEBOOT.BIN在制作光盘时被写入光盘引导轨道,光盘启动后调用光盘:\I386\SETUPLDR.BIN,找到根目录下的WINNT.SIF,根据WINNT.SIF文本中的配置信息找到WINPE.ISO,并将WINPE.ISO载入一个内存虚拟盘X:,在此过程中,要求 WINNT.SIF(WINNT.XPE)必须放在根目录,SETUPLDR.BIN(PELDR)和NTDETECT.COM必须在同一个目录中,如果要将此两个文件放在wxpe目录中,必须同时修改peboot.bin和setupldr.bin的内容,通过ASCII编辑器将其中的i386改成wxpe,同样,如果需要修改 winnt.sif(winnt.xpe)文件名也要通过这个办法修改setupldr.bin的内容。
WXPE下面的NTDETECT.COM,SETUPLDR.BIN2个文件是引导关键文件
根目录下面WINNT.XPE用记事本打开看一下
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=MiniPE\WinPE.IS_"
发现了指引minipe下面的WINPE.IS文件,分析一下资料发现
XP PE引导过程SETUPLDR.BIN------NTDETECT.COM---WINNT.XPE-----WINPE.IS-----winpe.wim
于是我直接用他这个安装程序安装到一个空白的新U盘,发现对应的文件被改名了,现在就手动改名也行
U盘新建立BOOT目录,里面再建文件夹P,为什么是一个字母呢,后面有解释
把SETUPLDR.BIN 改文件名为LDRXPE(注意不是LDRXPE.BIN),WINNT.XPE改名成PE(不是PE.XPE),NTDETECT.COM改名成NTCOM(不是NTCOM.COM),以及winpe.ini,winpe.is_ OP.wim复制到p文件夹
编辑菜单
menuentry "启动 windowsxp-pe"{
insmod part_msdos
insmod fat
ntldr /boot/p/LDRXPE
}
根据WINNT.XPE(改名后PE)引导会发现指引的路径是minipe文件夹里面这里要改成
[SetupData]
BootDevice="ramdisk(0)"
BootPath="\WXPE\SYSTEM32\"
OsLoadOptions="/minint /fastdetect /rdexportascd /rdpath=boot\p\WinPE.IS_"
就差最好一步修改MBR引导了,这个PE的引导文件SETUPLDR.BIN也相当于win7pe的bootmbr引导文件,怎么修改这个文件默认指引路径呢,先把这个文件右键-属性-里面的只读不要勾选,用WinHex (16进制编辑器)打开这个文件
修改前
修改后
根据占用的字符发现刚好把位置用完,这我就可以把这些文件丢在boot目录下面了,所以才建立一个英文的文件夹,当然大神级别的高手忽略,这种DIY方式确实有点丢人,能用就行。
然后把所有的minipe都改成这样后保存
这样就成功DIY了PE默认引导路径问题了,然后给这个PE添加一些工具,更新一下版本,打开WINPE.INI,
“Desktop”就是桌面,“Programs”就是程序,“LINK %Desktop%\”后面紧跟着是快捷方式的名称,这个随意,逗号后面紧跟着的是程序的绝对路径,这个必须要准确,错一个标点符号都不行。
要往里面添加程序也是一样的,将程序放进对应的文件夹。按照他的格式添加几行就好了对于的文件添加方式:
用这个软件gimagex-wim,挂载这个op.wim到一个目录
直接把对应的程序放在对应的文件夹,编辑那个winpe.ini修改添加对应的路径即可。
到这里XP PE简单的DIY差不多可以了。XP PE中有个winpe.is_这个的文件,其实这个文件可以用winrar软件打开,里面是一个iso打包的xp pe核心文件。这里面修改主要是集成一些驱动等,对于添加软件等操作可以不动它。
下面说明WIN7PE 添加到你的U盘及grub2的应用。
Win7PE差不多也是如此,
这里
注意修改背景壁纸,及路径,有的win7pe是在里面修改背景,有的是加载外部图片为背景,里面的背景存放在 修改配置的软件在windows目录system32文件夹里面
主要修改点是挂载wim文件镜像后找到Program Files文件夹下pecmd.ini记事本打开。
修改了好了,要注意勾选提交更改,这样就完成了win7pe的修改
重点是如何修改bootmgr去指引需要的文件路径,参考这个帖子
至于菜鸟级仍然找不到修改方法,可以直接下载对应的成品替换下面是实例:
比如我需要这个
下载后
这个7pe=bcd菜单文件
7pe_mgr=bootmgr引导文件
他们的路径都是存放在boot这个目录,也就是说你的引导grub菜单去指引bootmgr(也就是7pe_mgr),然后这个7pez_mgr会再指引boot目录的文件bcd菜单,后续加载wim等PE内核文件
例如:
我下载的是通用win7pe
他默认指引的路径是7777,而我要修改为boot。找不到修改的办法,就可以采用替换法。
把下载的那个7pe及7pe_mgr替换掉对应的文件,再用bootice.exe去打开这个7pe文件后编辑指引的wim文件sdi文件就可以了
如果还是找不到修改路径的办法可以参考下面链接这个帖子,直接按提示输入对应路径及文件名就可以获得成品即可使用
比喻,请输入你的boot路径:boot
请输入你的bcd名称: x86
请输入你的bootmgr名称:10pex86
则文件夹boot中自动生成:10pex86和x86两个文件。
10pex86--------bootmgr
x86 -------------bcd (可用BOOTICE.exe编辑)
这样就成功修改了别人的PE以及路径自定义的合盘。
至于win8pe的修改方式,借用别人的话:
有了win7pe的修改经验,修改win8pe就驾轻就熟了吧,所以我也不打算重复那些具体过程,只说两个重点:
1, 不管谁制作的pe系统,首先要找到它用于加载外置程序和桌面背景的配置文件。
2, 这个配置文件存放的地方各有不同,有的放在windows目录下,有的放在system32目录下,命名也各不相同,但是配置文件的扩展名一定是INI。
3, 同时还会存在多个不同作用的INI配置文件,我们需要一一打开查看里面的内容,确定哪个是用于定义外置程序快捷方式的配置文件,再进行修改。
4, 用于加载驱动和注册组件的配置文件和批处理文件,我们千万不要随意去修改,在这个阶段我们还无法将修改错误的地方改正过来。
作为菜鸟级新手,DIY折腾出自己喜欢的U盘引导,需要参考各类大神的帖子,EFI引导,我推荐采用天意PE3.2版,可直接拆分合到你自己的U盘,等于直接给你U盘添加了win8pe-32-efi版,win8pe-64-efi版,顺带还有bios引导的32及64位版如:
找到了他这个PE的菜单,就可以初步判断出他的引导过程及结构,再分析他的boot目录
发现光盘引导的引导文件,03PE核心文件,bcd菜单文件都有了,所以他是整合了03pe,win8-32,win8-64等3个PE到boot目录,bcd菜单都改好了,完全可以直接套用了,
直接复制整个boot里面的文件到自己u盘的boot目录,为了在efi引导时候不于自己采用的神雕grub2-winly引导冲突把efi引导改名
这样就分别表示天意PE的efi引导了。给grub2的菜单添加对应的引导,可根据他原来的菜单引导,他原来这个是采用grub4dos,看菜单上有title这个 就大概识别出来了,都是一个妈生,区别不大,格式不一样的而已。
添加前
title 【01】 Win2003PE迷你维护系统
echo $[1106] Loading TYPE, Please Wait ...
()/boot/grub/F6IMG || find --set-root /boot/grub/F6IMG && /boot/grub/F6IMG
map --e820cycles=3
map --rehook
chainloader ()/boot/SETUPLDR.BIN || find --set-root /boot/SETUPLDR.BIN && chainloader /boot/SETUPLDR.BIN
title 【02】 Native03PE极速维护系统
()/boot/grub/F6IMG || find --set-root /boot/grub/F6IMG && /boot/grub/F6IMG
map --e820cycles=3
map --rehook
chainloader ()/boot/NVPELDR.BIN || find --set-root /boot/NVPELDR.BIN && chainloader /boot/NVPELDR.BIN
title 【03】 Win8PE精简全能版(32位)
find --set-root /BOOT/bootmgr
chainloader /BOOT/bootmgr
title 【04】 Win8PE精简维护版(64位)
find --set-root /BOOT/bcfmgr
添加后
menuentry "启动 windows2003PE迷你维护版"{
insmod part_msdos
insmod fat
set root='hd0,msdos1'
ntldr /boot/SETUPLDR.BIN
}
menuentry "启动 Windows8 64位PE 维护版" {
echo "正在加载 Win8 PE,请等待...."
search --file /BOOT/bcfmgr --set=root
ntldr /BOOT/bcfmgr
}
menuentry "启动 Windows8 32位PE 全能精简版" {
echo "正在加载 Win8 PE,请等待...."
search --file /BOOT/bootmgr --set=root
ntldr /BOOT/bootmgr
}
menuentry "启动 windows2003PE全内置版" --class windows --class os {
insmod part_msdos
insmod fat
set root='(hd0,msdos1)'
linux16 (hd0,msdos1)/winly/memdisk iso raw
initrd16 (hd0,msdos1)/winly/iso/2003_PE.ISO
}
EFI菜单添加
menuentry "启动windows8-PE-X32efi系统" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/boot/win8pex32.efi
}
menuentry "启动windows8-PE-X64efi系统" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/boot/win8pex64.efi
}
menuentry "启动EFI-shell模式" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/boot/Shell.efi
}
menuentry "启动MEMTEST内存条测试32位版" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/boot/neicun32.EFI
}
menuentry "启动MEMTEST内存条测试64位版" --class windows --class os {
insmod part_msdos
insmod fat
chainloader /efi/boot/neicun64.EFI
}
顺便再分享2个好东西,从上面EFI菜单中可以看到新增了EFI模式下测试内存条的东西,这个可以哦,很实用,还有shell模式,这个对于新手来说用处不大,有这个总比没有好,万一要用呢,在efi模式再引导要注意,如果你的处理器是那种平板电脑啊,32版的你引导64PE是会报错误的,但你处理器支持64位去引导32位的PE是不会报错的,还有要注意在64位PE里面个别PE无法直接运行32位版的软件,它会报错提示确实dll程序。
但天意PE3.2版就修复了这个问题,不会再出这样的错误了。成品中已包含了2个工具,你也可以复制下来添加到你的U盘
作者: konglong83 时间: 2016-3-16 14:45
师傅 徒弟来给顶贴了。。。
祝你 科二早日挂科 永远不能毕业了
冒失很**感觉 我只有收藏慢慢来了。
作者: lbw2007 时间: 2016-3-16 17:07
好长啊,一定很辛苦。无论如何支持一下
作者: 青青草 时间: 2016-3-16 17:09
精神可佳!支持一下。
作者: rengrancunzai 时间: 2016-3-16 17:34
造福菜鸟,有时间学习之
作者: 2012心落尘埃 时间: 2016-3-16 23:25
造福菜鸟,有时间学习之
作者: python 时间: 2016-3-17 07:52
但我不赞成修改原作者的标签,这种“毁尸灭迹”的剽窃是对所有致力于IT技术研究的前辈们莫大的打击,我们无偿地使用了他人的劳动成果就应该铭记和感谢他们
作者: 2011npwjm 时间: 2016-3-17 09:02
不错的教程,谢谢分享
作者: 电脑強 时间: 2016-3-17 12:57
无论如何支持一下
作者: wjlovezzd 时间: 2016-3-17 16:45
无论如何支持一下
作者: tanghe791 时间: 2016-3-18 09:15
支持一下哈
作者: mougua783 时间: 2016-4-14 12:27
众里寻他千百度,蓦然回首在这里!
作者: kyvi 时间: 2016-6-10 18:58
标记一下,回来自己也做一个,谢谢分享
作者: zyy 时间: 2016-9-29 01:10
支持,学习中
作者: fanggong 时间: 2016-9-30 08:11
一直用天意的,简单方便。
作者: 猴惊喜onvij 时间: 2016-11-2 14:17
提示: 作者被禁止或删除 内容自动屏蔽
作者: khwzz 时间: 2016-11-3 02:01
在下对你的景仰之情有如滔滔长江之水
作者: dlwfdlikuan 时间: 2016-11-29 08:42
好帖子,学习了!!
作者: gl542400 时间: 2017-3-21 16:02
一定很辛苦。无论如何支持一下
作者: qbz 时间: 2020-3-16 13:58
您好啊...您给的链接失效了呀,找不到了...
作者: 2012bc 时间: 2021-4-7 09:26
感谢分享!
作者: 779062985 时间: 2021-5-13 14:48
下载学习一下
作者: snaca 时间: 2021-5-31 14:53
新手学习,感谢分享。
欢迎光临 无忧启动论坛 (http://wuyou.net./) |
Powered by Discuz! X3.3 |