dvbbs
收藏本页
联系我们
论坛帮助
dvbbs

秋雁南回文学社区技术论坛网络技术 → [分享]教你认识多系统启动引导原理(转)


  共有871人关注过本帖树形打印

主题:[分享]教你认识多系统启动引导原理(转)

帅哥哟,离线,有人找我吗?
逍遥∮叹
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 墮落de廢物↓
等级:版主 贴子:446 积分:1779 威望:0 精华:0 注册:2005-10-22 20:06:00
[分享]教你认识多系统启动引导原理(转)  发贴心情 Post By:2006-8-13 19:55:49

[转]教你认识多系统启动引导原理 多系统启动引导原理简介 同样鉴于诊所里一部分会员对多重系统引导原理的一知半解,并经常发贴求助,我把我知道的一点皮毛简单介绍下。 我先来介绍分区,从启动引导的角度讲,磁盘分区可以分为系统分区和引导分区。系统分区主要用于启动Windows系统,通常,系统分区总是C:\。而引导分区则是装有Windows操作系统的分区,即%SystemRoot%所在分区。 我们知道,主盘系统分区的第一个扇区中储存着系统的主引导记录,就是通常说的MBR区。它负责搜索磁盘上可启动的分区,然后把引导代码装入内存。对于DOS来说,MBR由Fdisk生成。主引导记录所在分区是系统分区,除此之外装有操作系统并能引导启动的分区是引导分区,引导分区的第一扇区储存着引导代码,用来引导本分区相应的操作系统。 下面我们来看下启动文件,Win98一般为: io.sys、msdos.sys、command.com、config.sys、autoexec.bat。五个。其中最重要的是头三个,是启动必需要的。 Win2000/XP的启动文件:ntldr、ntdetect.com、boot.ini、bootfont.bin、bootsect.dos、ntdetect.com、ntbootdd.sys等。其中ntldr和ntdetect.com 对于2000与XP共存的系统引导至关重要。 我简单介绍下各个文件的作用 ntldr,操作系统载入程序,位于系统分区根目录下。 boot.ini, 用于指定Windows的安装位置和磁盘属性。位于系统分区根目录下。 bootfont.bin, 对非英文操作系统的启动菜单标题提供文字支持。不是必需的。 bootsect.dos, 用于启动旧版操作系统所需要的引导扇区。 ntdetect.com, 用于检测计算机的硬件配置信息,并将这些信息返回给ntldr。 ntbootdd.sys, 当ATA技术被禁用或磁盘控制器是SCSI类型或磁盘控制器不支持扩展INT 13调用时,提供驱动支持。而不用通过BIOS来直接访问。不是必需的。 在含有98或更旧版的多重启动上,问题就复杂点,要由OS Loaer来引导启动。先来认识下OS Loaer,它是Windows自带的多操作系统引导管理工具。注意OS Loaer存在于引导分区第一扇区而非MBR,就是在98或更旧版本系统所在分区。而常见的几种引导工具软件如BootMagic和System Commander则位于MBR区。 现在我们假设硬盘里装有98、2000、XP三个系统,那么系统启动时首先由BIOS把MBR装入内存,并把控制权交给MBR引导启动,计算机搜索MBR中的分区表,找出活动分区,如果在引导分区中有OS Loaer时,主引导记录加载OS Loaer,由OS Loaer读取boot.ini文件,并出现启动选择菜单,如果用户选择启动Win98,那么就装载Bootsect.dos这个文件。Bootsect.dos文件是Win98引导扇区的镜像,位于系统分区根目录下。如果多个操作系统中没有9X或更旧版本的话,则该文件不会存在。 如果选Win2000/WinXP,那么就装载Ntldr和Ntdetect.com,由Ntldr和Ntdetect引导启动Win2000/WinXP。(有必要说明一下,2000系统里的Ntldr和Ntdetect与XP里的Ntldr和Ntdetect是不同的,2000可由XP的Ntldr和Ntdetect引导启动,反过来,2000里的Ntldr和Ntdetect却不能引导XP,这就是为什么在2000与XP共存的机里,重装了2000后不能引导XP的原因。因为2000会用它的Ntldr和Ntdetect覆盖掉XP的) 呵呵我可能讲得有点啰嗦,不过大家看到这里也许明白我们在多系统环境下重装某一系统要做什么了吧?没错,就是备份系统分区根目录下的Ntldr、 Ntdetec.com、Bootsect.dos和boot.ini。 假设我们现在想重装98(98在C盘),当你兴高彩烈地备份完,并重装98系统后无奈发现,还是不能实现多种引导。这时你可能认定我是个骗子,很想海扁我一顿。但事实上我话还没讲完,你考虑下为什么会引导失败呢?其实我前面就强调过,98实现多重引导由OS Loaer这个工具实现,你很快会发现以前的由OS Loader控制的系统引导扇区已被覆盖变成了Win98的系统引导扇区。等等。。。。这里有必要再解释一下,OS Loaer这个工具是由2000\XP安装时生成的(如果系统装有9X或更旧版本的话,2000\XP安装系统会检测识别到并生成OS Loaer,它存在于引导分区下)。。。因此你当然不能成功引导罗。所以。。阿弥陀佛,施主息怒。补救的方法还是有滴,我们可以用Win2000或WinXP的故障控制台来恢复引导扇区。方法是,用光盘启动进入故障控制台(这个不用我教了吧)输入 Fixboot C:,exit,重启。 呵呵,什么?你说你没有备份?唉命苦!又要打多几个字!嗯,你听着我只讲一遍哦!用Win2000或WinXP安装盘修复(如果系统里有2000就用XP盘修复),也就用XP光盘安装系统,到重启并出现多种启动菜单时(哈哈多么熟悉的界面啊)中断安装。这时Ntldr、 Ntdetec已经复制到系统盘下了,你要做的只是用Fixboot命令来恢复引导扇区。正常进入系统后,把C盘根目录下$开头的文件夹删除,就大功告成了。 那如果重装的是2000呢,应该怎么备份?XP呢?这个我就不详细写了,你自己思考一下。如果你还是看得一头雾水,那证明你没什么基础,需要补课。下面我在楼下再贴点资料供大家参考下。 PS:昨晚写得太仓促(呵呵困了),很多东西没写全,现在补上。 有错欢迎指出, 有问题可以短息联系我。


水底有明月,水上明月浮!水流月不去,月去水还流!~

0 支持(0中立(0反对(0回到顶部
帅哥哟,离线,有人找我吗?
忘不了的爱
  2楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:钩文诗童 贴子:18 积分:108 威望:0 精华:0 注册:2005-5-28 21:58:00
  发贴心情 Post By:2006-8-13 21:32:49

顶了``在看

0 支持(0中立(0反对(0回到顶部