初哥福利:怎样去掉Win10原版安装盘启动时的“Press any key to boot form CD”提示
本帖最后由 1400700226 于 2017-2-5 16:17 编辑忽然发现现在各位大神的PE合盘ISO在EFI启动时基本都没有了“Press any key to boot form CD”提示,
但是原版的安装盘是有的。
于是我搜索了一下论坛,只找到了去掉BIOS启动时的“Press any key to boot form CD”提示的方法:
删除ISO里面的bootfix.bin(Win10的原版安装盘这个文件在\boot\下)。
可是关于如何去掉EFI模式下这个提示的方法,还真没找到。
于是我就研究了一下。
首先我找到了ISO内的\efi\microsoft\boot\下有
cdboot_noprompt.efi和efisys_noprompt.bin,
于是我首先将efisys_noprompt.bin从ISO里面解出来,尝试用UltrsISO加载引导文件将这个文件设为ISO的引导文件:
这样做确实UEFI下启动正常,提示没有了。
但是BIOS系启动不了了:
真TM囧。
想了想,这可能是UltraISO把ISO的BIOS启动段也给删除了。
于是我用WinImage打开这个Win10原版安装ISO,查看其引导扇区:
发现其引导有两个,于是基本可以确定一个是用于BIOS,另一个是用于EFI。
我将第一个引导导出,然后用7-Zip打开,发现打不开。这应该说明第一个是用于BIOS的(这个引导只有4KB,当然是用于BIOS的)。
于是我又将第二个引导导出,这个引导我发现有1.4MB大(与efisys_noprompt.bin体积相同),并且可以用7-Zip打开。
这个应该就是用于EFI启动的了。
现在问题就明确了:
我们只需要用efisys_noprompt.bin替换掉原ISO里面的那个用于EFI的引导就可以了。
怎么做呢?
首先我们用UltraISO将原版ISO内的所有文件删除(因为ISO格式保存时并未重新编码内部的文件,所以内部所有的文件都是以二进制方式直接保存的;由于efisys_noprompt.bin这个文件存在于ISO内,所以我们没法定位所需修改的文件头到底是用于EFI引导的这个文件的头还是ISO内的efisys_noprompt.bin文件的头)。
然后另存这个ISO:
然后,我们要用WinHex()这个Hex十六进制编辑工具打开删除掉所有内部文件的ISO:
选择另存的CENA_X64FREV_ZH-CN_DV5.iso并在WinHex打开后,我们看到的是这样的一幅画面:
对了,忘了一件事情。efisys_noprompt.bin就是微软提供的不会有“Press any key to boot form CD”提示的用于EFI的引导文件。
所以我们要将原版ISO里面的这个文件另存出来用:
然后我们再在WinHex里面打开这个文件,打开后看到的是这样的:
看着这个英文界面不要看晕了,因为我也已经看晕了。{:3_159:}
咳咳,我们要做的是将ISO里面的引导文件替换为efisys_noprompt.bin这个文件。
科普一下。不同类型的文件仅仅靠文件扩展名区分吗?显然不是。我们将压缩文件.zip文件重命名压缩文件.bmp,然后用画图打开这个压缩文件.bmp,也是打不开的。
这是为什么呢?我也不懂。。。{:3_159:}
但是我猜测,这有两种可能:
1:画图在打开压缩文件.bmp时,首先看了下这个文件的头。画图发现,这个文件的头不是.bmp文件的头,也不是.gif、.jpg文件的头(什么是文件头?你用WinHex打开多少.bmp文件。看看开头的那几行,你会发现所有的.bmp文件开头的那几行都是一样的,这就是文件头(注意,有些文件是没有头的或者它的头有偏移所以这么看开头找不到规律))。所以画图不会继续解码打开这个文件。
2:画图直接把这个压缩文件.bmp从头到尾看了一遍(尝试解码),结果没成功。所以打不开。
个人觉得,如果压缩文件.bmp特别巨大,那么第二种可能就显得不太有效率(等你半天你从头到尾看了一遍结果打不开我CNM)。
所以,第一种可能先判断文件头是比较合理的。
扯远了。如果你没晕的话,你应该知道ISO文件的用于EFI引导的文件,跟那个efisys_noprompt.bin,它们的头是一样的(因为UltraISO可以拿efisys_noprompt.bin作为新的引导且成功引导EFI了么,所以这个efisys_noprompt.bin跟ISO自带的引导文件是同一种文件类型)。
所以,我们怎么办呢?
首先,我们在WinHex的efisys_noprompt.bin选项卡下,从00000000那行的开头开始拖动,拖一行(拖太多或者太少都是不行的,因为区分一个文件头需要一定的长度,不然那么多文件类型他们的头不都重复了;拖太多会超出文件头部分):
然后我们在选中的部分上点右键,再点Edit,再选择Copy Block-再选择Hex Values(这种复制模式是直接二进制复制原始数据):
相信你已经看到了,这部可以直接选中后按Shift+Ctrl+C完成,哈哈!
然后我们切换到CENA_X64FREV_ZH-CN_DV5.iso选项卡:
然后,我们在WinHex的菜单栏选择Search-Find Hex Values.....(这步可以直接按Ctrl+Alt+X来实现):
然后我们在出现的窗口内的输入框中右键点粘贴(或者直接Ctrl+V):
然后点OK或者按Enter:
然后,我们发现,我们来到了ISO的用于EFI引导的引导文件的文件头:
既然微软给了我们efisys_noprompt.bin,那么这个文件应该就是直接可以替换原ISO内的用于EFI引导的引导文件的。
所以它们的大小应该是一样的(废话,前面不是用WinImage导出了第二个引导发现了它们一样大了么。。)。
所以,我们现在要做的是,将原ISO内的内的用于EFI引导的引导文件去掉,然后把efisys_noprompt.bin塞进去替换原有。
很可惜这步不能通过记事本的查找替换(Ctrl+H)功能实现(或许其他程序或者大神写的WHS脚本可以实现直接替换,但我不知道{:3_159:})。
所以我们现在怎么办呢?
首先,我们要知道原ISO内的内的用于EFI引导的引导文件的大小(前面用WinImage发现了它跟efisys_noprompt.bin一样大)。
efisys_noprompt.bin有多大?
我们切换到WinHex的efisys_noprompt.bin选项卡。然后把滚动条拉到最底下:
然后我们发现,这个efisys_noprompt.bin有00167FF0行:
这是十六进制,也就是Hex。
那这个数到底是什么呢?
我们点击WinHex上的Calculator图标:
然后计算器就会出现:
我们点击查看-科学型:
然后点击十六进制:
然后输入00167FF0:
然后点十进制:
是的。这个efisys_noprompt.bin有1474544行大。
但我这只是让你知道它在十进制有多少行,实际上这对这次我们要搞的没有用,所以我们切换回到十六进制:
然后我们回到WinHex,点击CENA_X64FREV_ZH-CN_DV5.iso选项卡:
我们发现,现在光标闪烁的那个地方,就是原ISO内的内的用于EFI引导的引导文件的开始。
然后,我们知道,原ISO内的内的用于EFI引导的引导文件体积与efisys_noprompt.bin是相同的,所以,原ISO内的内的用于EFI引导的引导文件的结尾所在行,也就是原ISO内的内的用于EFI引导的引导文件的开头所在行数加上efisys_noprompt.bin有多少行。
刚才我们看了,原ISO内的内的用于EFI引导的引导文件的开头所在行是83800,efisys_noprompt.bin有167FF0行,所以,
原ISO内的内的用于EFI引导的引导文件的结尾所在行就是83800加上167FF0。
这步不用我教了吧?在计算器内输入83800+167FF0:
计算结果是1EB7F0。
然后,我们回到WinHex,在菜单栏选择Navigation-Go To Offset(Alt+G):
然后输入1EB7F0,点OK:
然后我们就来到了这里:
对比一下efisys_noprompt.bin的结尾处:
都是0。啊哈,说明可能对了。
然后,我们在CENA_X64FREV_ZH-CN_DV5.iso选项卡下刚才到的1EB7F0行,在这行的最后一列点右键-End of block(Alt+2):
然后,我们再按Alt+G,输入刚才找到的ISO的用于EFI引导的引导文件的文件头的位置83800,然后点OK,我们就又来到了这里:
然后我们在83800行的第一列点右键-Beginning of block:
然后我们就发现,原ISO内的内的用于EFI引导的引导文件就被全部选中了应该:
然后,我们在选中的上面点右键-Edit-Remove(或直接按Delete键):
然后在出来的提示框里点Yes-OK,然后就这样了:
然后呢,我们切换到WinHex的efisys_noprompt.bin选项卡,然后直接按键盘上的Alt+A,然后按Shift+Ctrl+C:
然后切换到CENA_X64FREV_ZH-CN_DV5.iso选项卡,将闪烁的光标点在83800行的第一列:
然后按Ctrl+V,在出来的提示框点OK,然后就这样了:
到这里,文件的修改就基本完成了。我们点WinHex菜单栏的File-Save(或直接按Ctrl+S):
出来的提示框点OK。。
大功告成!去测试!
用UltraISO将原版ISO内的所有文件加进改好的ISO(注意别把bootfix.bin加进去了),然后开机测试:
你就会发现,不论BIOS还是EFI启动,“Press any key to boot form CD”提示都没有了!!!!!!
附上本例改好的Win10x64(cn_windows_10_enterprise_version_1607_updated_jul_2016_x64_dvd_9057083.iso)的空ISO文件:
祝大家成功!通宵写了这个教程!
论坛服务器比较囧,有些图片显示错了,编辑了几次帖子也弄不好,大家凑活看吧。。。
多谢分享。
请问这样修改后对开着安全引导的机子有没有影响?
我发现有小部分没有 “Press any key to boot form CD”提示的iso,在开着安全引导的机子上是起不来的。
其实没那么复杂,用微软自己的命令行制作ISO,
引导文件指定那个N 的即可. 同时删除那个BIN.
如果直接修改原版ISO, EFI部分已经写入ISO引导区了,当然就麻烦了.
另外,那个文件不过是一个软盘镜像,多个工具都可以打开修改.如果使用BOOT里面的替换BIN里面的,光盘根目录的几个文件也可以不用了,
如果3264都放里面,BIN2.88M,就可以自动选择3264的EFI 大神威武 楼主辛苦了感谢感谢 这钻研精神{:2_122:} 佩服楼主的钻研精神! 大神!!威武!!
威武!!大神!! 感谢分享宝贵经验 版主威武 2012bzsb 发表于 2017-2-5 10:36
其实没那么复杂,用微软自己的命令行制作ISO,
引导文件指定那个N 的即可. 同时删除那个BIN.
没错!其实没那么复杂!! devilma 发表于 2017-2-5 10:47
没错!其实没那么复杂!!
你是说用 oscdimg打包iso时候,引导文件指向 efisys_noprompt.bin
同时删除 efisys.bin,这样就行?
另外我要做UEFI和传统BIOS双起的iso,bootfix.bin也要删除吗? 2012bzsb 发表于 2017-2-5 10:36
其实没那么复杂,用微软自己的命令行制作ISO,
引导文件指定那个N 的即可. 同时删除那个BIN.
上面回复错了,两位大神,都看看我上面的问题吧。谢谢 moran 发表于 2017-2-5 10:17
多谢分享。
请问这样修改后对开着安全引导的机子有没有影响?
我发现有小部分没有 “Press any key to bo ...
个人感觉应该不会有问题的 。因为修改的都是官方的文件。 本帖最后由 1400700226 于 2017-2-5 15:58 编辑
2012bzsb 发表于 2017-2-5 10:36
其实没那么复杂,用微软自己的命令行制作ISO,
引导文件指定那个N 的即可. 同时删除那个BIN.
谢谢。这我肯定知道啦。微软给了bin文件当然不可能不给替换的方法啦。
最大光圈不可能让我们用Hex方式搞啦。
我只是说一下用WinHex换光盘引导的思路啦。哈哈,我写的一看就是给小白看的,大神就请略过吧~ 2012bzsb 发表于 2017-2-5 10:36
其实没那么复杂,用微软自己的命令行制作ISO,
引导文件指定那个N 的即可. 同时删除那个BIN.
嘿,还是你有经验,还能x86 64都塞进去,有意思,等会看看~ 我也都试过,确实重新打包更方便。
WinHex整个汉化版的就更好了。 rgy 发表于 2017-2-5 16:24
我也都试过,确实重新打包更方便。
WinHex整个汉化版的就更好了。
嘿嘿。
WinHex的汉化版其实真的只是汉化版。。。而且各汉化水平参差不齐。。版本也不怎么对应。。所以错误繁多 。。
爱玛,其实官方的英文版错误也很多好吧。。毕竟德国人的软件 实在佩服折腾精神! 看着看着我就晕了。谢谢楼主。 做光盘用的上。 有的人保守,有的人分享。
赞楼主! 无论如何,大神的钻研精神,值得学习! 楼主辛苦了感谢感谢 这个提示有目的的,有些人CD放光驱里,就自动安装了。 首先支持楼主的研究精神,其次奉上本人整合的双启动光盘模版,
所有文件都是win10最新版本光盘提取的 zhxy9804 发表于 2017-2-9 22:21
首先支持楼主的研究精神,其次奉上本人整合的双启动光盘模版,
所有文件都是win10最新版本光盘提取的
感谢版主支持! LZ总结的不错。
其实oscdimg里的-bootdata就能指定各个引导选项呀。例如
-bootdata:2#p0,e,bEtfsboot.com#pEF,e,befisys_noprompt.bin 不不得不佩服楼主,你是怎么想到这个思路的? myBOOT 发表于 2017-3-5 12:46
LZ总结的不错。
其实oscdimg里的-bootdata就能指定各个引导选项呀。例如
-bootdata:2#p0,e,bEtfsboot.co ...
嘿嘿,谢谢,收藏!
我也是菜鸟,都一直在学习~没有认真研究过oscdimg。。。
页:
[1]
2