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等来启动


发布评论