在无忧待了有一段时间,在大师们的耐心指导下学到很多东西,衷心对各位前辈说声谢谢

    在写grub4dos菜单时,碰到了很多经典的问题,但在wuyou坛友们的帮助下都解决很快,我只想用我的经历分享一下Grub4dos菜单中关于启动本地硬盘的问题,希望和我曾经有一样困扰的朋友少走点弯路,呵呵,不再吧唧了,进入正题:
   其实我第一次遇到这个问题是小马pe发布后diy了一下自己的菜单,小马的模块化很让我欣赏,当时用HP格式化工具把U盘格为HDD引导方式,(不过用pauly大师的Bootice相当方便,没办法,先天发育问题,智商低,呵呵),之后引导测试菜单时发现每次点击
【启动Windows NT/2000/XP/2003系统】都会提示找不到C:\windows,之后是本地halt文件损坏,在之后就是重启,再再之后自动从本地硬盘成功启动,菜单命令为:
find --set-root /ntldr 
chainloader /ntldr
rootnoverify (hd0,0)
makeactive chainloader +1
后来想想,问题应该是我用是是一台老机,因为加载硬盘时把U盘识别为HD0,肯定搜索不到windows启动文件,故加载失败,但在其他机子上可以正常使用,后来潜水wuyou,找到 M 大师的方法,磁盘交换,命令为:
title [1]    启动Windows NT/2000/XP/2003
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
title [2]    启动Windows Vista/Windows 7
find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /bootmgr
问题依旧,接着用 2010邪恶海盗提供的命令,
title 【4】  硬盘启动计算机
checkrange 0x80 read 0x8280 && map (hd1) (hd0)
checkrange 0x80 read 0x8280 && map --hook
chainloader (hd0)+1

 
这个可以说是万能菜单了,呵呵,具体因为什么,看到代码谁都明白了,呵呵,并非说是我万能的,也有坛友说启动失败的,只是尽最大可能缩小不可能,
其实还有一种通用性相当高的方法,就是用ntboot.img镜像引导
关于WinPE菜单启动本地计算机 - 第十三支烟 - 第十三支烟
 这个也是相当不错的,而且引导功能特别强,呵呵
好了,不吧唧了,得洗洗睡了,哈哈^_^
chenall大师的这个软镜像有一个好处就是即使系统失去了引导文件一样可以把系统给启动起来,这样对安全特别关注的朋友可以参考,把系统引导删了,然后用grub4dos加入这个ntboot.img镜像引导电脑,比人是打不开的,挺好用吧?以下是chenall大师的博客原文,欢迎参考:
http://chenall.net/post/ntboot/
=====================================分割线======================================================

【说明】
1.本启动软盘可以用于直接启动硬盘上的NT系统.可以从任意地方加载这个镜像文件进行启动。
可以通过本镜像启动硬盘上的Windows系统,不依赖硬盘上的系统引导文件.
也可以用于U盘或光盘启动时,直接启动硬盘上的其它系统.
一盘在手,启动无优.

2.支持的系统32位/64位

Windows 2000 Windows xp Windows 2003 Windows Vista Windows 7 Windows 2008 ram xp IMG镜像(菜单3) VHD WIN7/2008(不需要硬盘上的启动文件,只需要一个VHD文件) WIM PE3.0(同上,只需要一个PE的WIM镜像文件即可)

3.支持的系统目录WINNT和WINDOWS.新版已更新,支持任意目录

4.当硬盘上的系统启动文件丢失或损坏时,可以直接使用本软盘来启动系统应急。

【使用方法】

1.直接写到入软盘启动。

2.使用GRUB4DOS或syslinux等工具调用启动。
例子.
Grub4dos
title ntboot
map –mem /
ntboot.img (fd0)
map –hook
chainloader (fd0)/
grldr
或syslinux例子
kernel memdisk initrd=ntboot.img

注:默认使用的WINDOWS目录是WINDOWS,如果没有找到相应的系统则会提示输入一个新的目录名。

NT5.X RAMDISK和VHD/WIM启动
VHD启动文件默认是 
/boot/boot.vhd
WIM启动文件默认是  /boot/boot.wim
nt5.x ramdisk 默认文件 /boot/ramxp.img

如果硬盘中没有存在以上文件,则会提示输入一个路径
输入功能支持路径自动完成。比如输入(hd0,0)/再按Tab键会显示(hd0,0)下面的文件列表。
(hd0,0)/win再按Tab会显示(hd0,0)下面以win开头的文件列表,如果只有一个会自动输入。

【下载】

http://ishare.iask.sina.com.cn/f/9257702.html

【截图】

关于WinPE菜单启动本地计算机 - 第十三支烟 - 第十三支烟

关于WinPE菜单启动本地计算机 - 第十三支烟 - 第十三支烟

 

其它用途.
删除并备份自己电脑上的引导文件,使之不能引导,这样别人就不能使用你的电脑了.
自己要用时直接使用U盘或其它启动工具启动该镜像进行启动.

 

欢迎有兴趣的朋友一起研究,讨论.

 

若无特别注明,均属本站原创文章,转载请注明: 转载自:chenall's blog