2024年4月13日发(作者:)

NOVO键实现多菜单启动(不破坏原联想一键恢复)

2010-01-16 23:46

下载联想一键恢复6.0工程师版v1.2的光盘,解压目录LEOS(Windows PE)到硬

盘,开始-程序-附件-打开命令提示符(win+r,cmd,enter),cd到

LEOS(Windows PE)下面,键入 回车,vista/win7

直接在我的电脑就能看到多了一个盘,xp下需要注销才能看见。我们还是按照联

想的规矩,到磁盘管理更改驱动器号为O盘(我的电脑/计算机-右键-管理-

磁盘管理-找到刚打开的隐藏盘-右键-更改驱动器号)。

看看其根目录文件,不难发现boot文件夹和bootmgr文件,可以判断:联想一

键恢复启动是通过nt60引导的,也就是nt6.0之后的系统,如vista/win7启动

方式。我推测,联想一键恢复的启动过程是这样的(我是业余的,说错了大家不

要拍砖):DOS下安装LEODOS的作用就是在磁盘最后一个分区第一扇区写入nt60

引导记录,标记该磁盘。根据bios预先设置好的程序,在按下NOVO键开机和电

源键开机bios执行不同操作。按novo时,bios自检,如果硬盘有标记且为隐

藏的盘,则直接读取第一扇区bootsector的引导记录,执行bootmgr,bootmgr

读取配置文件bcd来决定启动系统。否则要是bios检测不到上述条件,则交给

mbr,找到活动分区,读取引导记录正常启动,这种情况就是一键恢复被破坏了,

按NOVO键效果和开机一样的原因。

懂得了联想一键恢复启动原理之后,想必装过多系统的朋友就有眉目了。没错,

我们只需要在他原有启动管理器中,添加要启动的winpe系统即可。

三通过bootmgr引导多系统

再来看看winpe的启动,我没有玩过winpe3.0的核心,不知道是怎样启动的,

不过就手头的pe2.0来看,是nt52启动,即和XP差不多。通过ntldr读取

来启动。

winpe启动的必备文件:*.im_/*.is_(pe的压缩系统文件)、、

(这个和xp下的差不多)、ntldr(引导文件,很多pe为了安

装在硬盘不和系统冲突,将其改成了其它名字)

复制这些文件到O盘根目录,我们来手动添加bcd的配置文件,让bootmgr可以

发现winpe入口。

在命令提示符下运行bcdedit修改bcd,bcdedit在vista/win7下的

windowssystem32下面,没安装vista/win7的自己到网上搜索下载。两样cd

到bcdedit的目录下,键入(#号之后为说明)

bcdedit /store O:bootbcd #回车之后,会列出bcd的配置,可以看到这时只

有一个{default}的入口,即联想一键恢复默认启动那个winpe。/store这个参

数表示对o盘下的bcd进行操作

bcdedit /store O:bootbcd /create {ntldr} /d "winpe" #添加winpe的入

口,引号中的内容看你自己喜欢命名,这是启动菜单的名称

bcdedit /store O:bootbcd /set {ntldr} device partition=O: #设置winpe

启动的分区O盘

bcdedit /store O:bootbcd /set {ntldr} path ntldr #指定启动路径,ntldr

可能是其它名字,不能少

bcdedit /store O:bootbcd /displayorder {ntldr} /addlast #把启动winpe

的入口添加到bootmgr启动菜单

到这一步bcd基本功能修改完成,这时再cd到LEOS(Windows PE)下面,键入

回车,把分区隐藏。这时关机按novo键,就可以出

现2个启动菜单,一个windows setup[ems](原联想一键恢复),另一个winpe(你

自己的winpe)。进入原联想一键恢复肯定是没问题的,要想进入你自己的winpe,

需要注意,你的winpe的环境目录不能错,比如里面指定*.im_在什

么地方。如果怕出错,可以先把winpe安装到硬盘/U盘,然后原封不动复制到O

盘。

美化一下使启动菜单好看点,继续在cmd下键入

bcdedit /store O:bootbcd /set {default} /d "Lenovo OneKey Recovery 6.0"

#修改联想启动菜单为你想要的名字(默认为windows setup)

bcdedit /store O:bootbcd /timeout 3 #设置默认等待时间为3秒

bcdedit /store O:bootbcd /set{bootmgr} local zh-cn #根改启动菜单语言

为中文,这是仍不能显示中文,因为联想一键还原bootmgr是英文版的,复制

vista/win7盘boot目录下的zh-cn语言文件夹到O盘相应位置,用vista/win7

的bootmgr替换O盘相应文件即可

至此bootmgr多菜单启动已经完成。

四NOVO键启动更多工具

谈到多系统引导,不得不说下grub4dos,非常优秀。也许你们早就用了,只是

还不知道,比如DOS工具箱,一键ghost,一些winpe都是通过grub来引导的。

NOVO键启动更多菜单,为了简便起见,我们将采用bootmgr引导grub,通过grub

二级菜单添加其它工具,而bootmgr引导grub原理和三差不多。

grub引导文件需要有grldr、、,复制到O盘根目录。这些

可以下载grub4dos获得。

和前面一样cd到bcdedit的目录下,键入(#号之后为说明)

bcdedit /store O:bootbcd /create /d "Grub4Dos" /application bootsector

#添加grub引导的入口,引号中的内容看你自己喜欢命名,这是启动菜单的名称,

系统为自动分配一串{id}

bcdedit /store O:bootbcd /set {id} device partition=O: #设置grub启

动的分区O盘,{id}按实际显示的填,字符有点多,不要出错。

bcdedit /store O:bootbcd /set {id} path #指定启动路径,

不能少

bcdedit /store O:bootbcd /displayorder {id} /addlast #把启动grub4dos

的入口添加到bootmgr启动菜单

这是,novo启动后有2个菜单,一个windows setup(原联想一键恢复),另一个

Grub4Dos,选择后便可进入grub菜单。

grub通过读取菜单,列出菜单表。下面来编辑菜单。

打开记事本编辑

title winpe #这里启动winpe,需要O盘下有ntldr

find --set-root /ntldr

chainloader /ntldr

title DOS工具箱 #这里启动DOS映像,需要把dostoolimg复制到O盘

map --mem / (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

map --floppies=1

boot

保存成放O盘即可

通过grub启动,不但可以启动多种系统,还可以简单设置密码,提高安全性,

password=123456 #你自己设置密码

title winpe

lock

find --set-root /ntldr

chainloader /ntldr

title DOS工具箱

lock

map --mem / (fd0)

map --hook

chainloader (fd0)+1

rootnoverify (fd0)

map --floppies=1

boot

这样要进入相应功能,需要先按P输入密码才能进入

关于的编辑可以去查阅相关资料,以便增加自己想要的功能。

五其它引导方式

总结下,以上讲的,都是通过bootmgr来引导的。三为bootmgr->ntldr启动

winpe;四为bootmgr->grub->ntldr、*.img等启动winpe及软盘镜像,当然grub

可启动的不只是这些。

弄清楚了启动原理。我们可以直接改成用grub或者ntldr来引导。

vista/win7光盘boot目录下有一个,复制出来,在cmd下运行

bootsect /nt52 o:即可把O盘第一扇区bootsector由原来的nt60(bootmgr)改

成nt52(ntldr)引导。

也有一个简单的工具“bootdic”可以改写引导,网上搜索下载吧,可以改成

grub引导。需要特别说明的是,改写的是分区引导,不是mbr。别搞错了到时候

连系统都进不了。^_^

思路:

nt52 引导记录->ntldr(这里可以启动winpe)->grub(这里再引导bootmgr启动

联想一键恢复),因为ntldr不能直接引导 bootmgr,所以用grub中继。ntldr

的来加载grub是很常见的,安装ghost还原之类的,一般都改了

,打开来看一下就明白了。

grub引导记录->grub,在添加ntldr/bootmgr等来启动