syslinux6.03设置win10启动

syslinux6.03设置win10启动,第1张

我们需要先进入WinRE环境,具体的进入方法上次详细讲过,这次我们就不罗嗦了,具体见win10自动更新失败后,黑屏无法启动的解决方法这篇文章。

2、在WinRE,我们选择“疑难解答”,然后再选择“命令提示符”,复制输入下面的MBR主引导记录修复代码,回车即可。

bootrec /fixmbr

3、一般情况下,如果你的电脑是MBR引导问题,到这里,win10系统应该就能正常启动了。

1、bootmgr 说明

bootmgr 版本必须用 vista sp0,即:原始的,没打过补丁的 vista 的 bootmgr。原因是目前bootmgr的版本有:

Window 7 sp1 CRC32

E51A3C4

Window 7 sp0 CRC32:EE471B58

Vistasp2 CRC32:E6CDE422

Vistasp1 CRC32:6442A4AD

Vistasp0 CRC32:543E715A

Vista sp0的bootmgr由2部分组成,16位的引导,和32位的bootmgr.exe。

vista sp1、sp2,Window 7 sp0、sp1的bootmgr由3部分组成,16位的引导,32位的资源,32位的bootmgr.exe。而且,关键是,这个32位的bootmgr.exe是经过压缩的,也因此大家最多只能改 \boot\bcd 中最后的2个字符“CD”,其他的字符经过压缩算法,早已面目全非。MS 使用的压缩算法是其内部算法,非公开,目前没有找到能 uncompress/compress 的程序。所以,不能使用这几个版本的 bootmgr。

而 Vista sp0 的 bootmgr 中的 bootmgr.exe 是非压缩的,可以清楚看到 \boot\bcd 字样,可以任意更改字符。

2、文件

将所有W7PE的文件放到目录下,例如: \W7PE

BCD

bcdedit.exe

BOOT.SDI

BOOT.WIM

BOOTMGR

MEMTEST.EXE

3、Vista sp0 的 bootmgr 的修改

a.、去除 checksum

位置 0xE28 ,将 7403 改为 EB08

b、\boot\bcd 路径

位置 0x54B6C ,随意改,但需注意:其字符是unicode编码,显示为".",16进制值为"00"的地方不能改。例如:改为 \W7PE\BCD

4、修改 BCD 的内容

注意:如果只做了第2步,没有做这步,仍然不能启动成功。

bcdedit /store bcd /enum all

先查看一下配置,然后依次更改

a.、去除签名

bcdedit /store BCD /set {bootmgr} nointegritychecks yes

b、boot.sdi位置

bcdedit /store BCD /set {your_sdi_id} ramdisksdipath \W7PE\boot.sdi

c、device 和 osdivice

bcdedit /store BCD /set {default} device ramdisk=[boot]\W7PE\boot.wim,{your_sdi_id}

bcdedit /store BCD /set {default} osdevice ramdisk=[boot]\W7PE\boot.wim,{your_sdi_id}

最后,运行bcdedit /store bcd /enum all 检查。

5、用syslinux引导

LABEL W7PE

MENU LABEL Win7 PE

KERNEL chain.c32 ntldr=/W7PE/BOOTMGR

完成

6、限制

区域语言限制:

在bootmgr中,MUI文件的位置为"%s\$s\%s.mui",其真实路径是动态生成的。目前,还没有找到好的更改方法,所以,bootmgr的多语言问题无法解决。但可以显示中文字符:

a、bootmgr的0x56EF0处,默认为en-US,改为中文zh-CN

b、bootmgr的0x56804处,各种字体的位置,直接改\boot\fonts

通过这种方法,bootmgr默认菜单是英文的,但自己的菜单,可以显示中文字符。

7、bootmgr 区域语言限制更改 - 突破限制:

将默认英文区域改成中文,启动盘中需要fonts目录,不需要zh-cn目录

a.、资源文件

用reshacker打开bootmgr相同版本的bootmgr.exe.mui文件,另存为bootmgr.exe.zh.res。

用winhex打开bootmgr文件,查找ASCII码MZ,第二个位置,字符为“MZ\90”,将此位置前面部分存为0.bin,将此位置后面部分,包括“MZ\90”,存为bootmgr.exe。

用reshacker打开bootmgr.exe,菜单“ *** 作->添加一个新资源”,“打开新资源文件”,选择bootmgr.exe.zh.res,将res文件中的资源一个一个都添加进去,然后将资源文件中所有1033部分删除,只保留2052部分,存盘退出。

合成新的中文版的bootmgr, 命令 “copy 0.bin /b + bootmgr.exe /b bootmgr /b”。

注意:bootmgr.exe 和 bootmgr.exe.mui 必须是相同版本的,可以在资源文件中的版本信息看到。

b、语言设置

bootmgr的0x56EF0处,默认为en-US,改为中文zh-CN

c、字体路径

bootmgr的0x56804处,各种字体的位置,直接改\boot\fonts

8、memtest.exe 区域语言限制更改 - 将默认英文区域改成中文:

a、资源文件

用reshacker打开 memtest 相同版本的 memtest.exe.mui文件,另存为 memtest.exe.zh.res。

用reshacker打开 memtest.exe,菜单“ *** 作->添加一个新资源”,“打开新资源文件”,选择 memtest.exe.zh.res,将res文件中的资源一个一个都添加进去,然后将资源文件中所有1033部分删除,只保留2052部分,存盘退出。

注意:memtest.exe 和 memtest.exe.mui 必须是相同版本的,可以在资源文件中的版本信息看到。

b、语言设置

memtest的0x4BAB0处,默认为en-US,改为中文zh-CN

c、字体路径

memtest.exe 的0x4B55C处,各种字体的位置,直接改\boot\fonts

d、PE文件检验和

更新memtest.exe文件的PE校验和,我用的是stud_pe

e、去除memtest.exe的签名

bcdedit /store BCD /set {memdiag} nointegritychecks yes


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6748608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存