NTFS硬盘完美启动 - 让Windows 7支持BackTrack3(BT3)
2009-10-19 00:00:00 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

* Bootsect.bak: bootsect.bak 是该活动分区的前 16 个扇区的备份文件,所以它的大小是 8KB, 就是 pbr 的备份。
* PBR : 分区引导代码
* /boot/[ 语言 ]/bootmgr.exe.mui: 在主分区 boot 目录下包括 24 个语言的 BOOTMGR.EXE.MUI ,用来和 bootmgr 组合形成启动菜单
* /boot/bcd: 相当于 xp 时代的 boot.ini ,不过 bcd 是基于数据库的,不是基于文本的,也是为了安全性考虑吧。微软专门提供了一个修改 bcd 的程序 bcdeit 来修改相应的参数
* /boot/bcd.log&bcd.log1&bcd.log2 : log 文件,具体干嘛的未知。
* /boot/bootstat.dat : 引导时候用来记录引导状态的数据文件
* /boot/ memtest.exe :内存测试工具
下面来解释一下 Window 7 的启动原理。(正常流程 , 因为还有很多非正常的情况启动过程有些区别,就不再这里赘述了)
首先加电之后是 bios 程序启动, bios 自检完成之后,将 mbr 的代码读入内存,管理权交给 mbr , mbr 再读取 dpt ,从 dpt 找出硬盘的所有分区哪一个是激活的主分区。到这里为止,所以系统都是一样的。下面就有区别了。 Dpt 读完找到主分区之后然后找到这个主分区的 pbr , pbr 位于激活主分区的第一个扇区。安装不同操作系统的时候 pbr 是会被改变的, XP 的 pbr 写死的代码是去找 ntldr 。而 vista 和 Win7 的 pbr 里写进的就是去找 bootmgr 。
这个时候显示器上还没有显示引导管理器的界面。 Bootmgr 被找到之后管理权就交到了 bootmgr 。 Boot Manager 首先从 BCD 中读取 Boot Manager 菜单的语言版本信息,然后再调用 BOOTMGR 与相应语言的 BOOTMGR.EXE.MUI 组成相应语言的启动菜单,之后才会在显示器上显示引导管理器,也就是选择多操作系统的那个文字界面。最后,当你选择了相应的操作系统,这里当然是 7 (如果选择 xp, 会转入 xp 的启动流程,找到 xp 的 ntldr 然后启动), bootmgr 就去寻找系统分区(系统分区和主分区的概念不是一样的哦) windows/system32 下的 winload.exe 加载操作系统内核。剩下的事就是启动 Windows7 了。
图片看不清楚?请点击这里查看原图(大图)。
虽然不能利用 GRLDR 直接启动 BT3 ,但是还是可以利用 mbr 来引导的,也就是把 mbr 文件和 boot.ini 文件放到 C 盘,再读取 menu.lst 去启动 bt3 ,但是此方法不支持中文菜单。不过基本上没影响。
请下载以下附件,请注意目录里面的 boot.ini 文件,此文件是带隐藏属性的。
安装方法:解压缩附件
boot.ini:引导文件
bt3.xpm:背景图片
FONTS:字体文件
GRLDR:跨平台引导文件
grldr.mbr:写入硬盘 mbr 或者 NT 引导系统中 boot.ini 来调用
menu.lst:GRUB的配置文件,启动菜单
以上文件全部复制到 C 盘,当然你可以修改 boot.ini 和 menu.lst 文件来个性化你的 BT3 启动菜单。
menu.lst 文件默认 BT3 的启动盘符是 hd0,7 ,也就是 G 盘,这个看个人喜好来决定,C 盘式 hd0,3 ,D 盘是 hd0,4 ,依此类推。菜单的停留时间是 4 秒!
重启之后你就会发现多了一个菜单出来。
更多精彩
赞助商链接