免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1265 | 回复: 0
打印 上一主题 下一主题

深入了解Win2000 引导与启动 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-01-01 13:54 |只看该作者 |倒序浏览

计算机实际上有两个引导过程。首先是它本身的引导,然后是操作系统的引导。
一、引导过程
在安装过程中,Windows2000的安装程序将数据写入计算机主分区(引导分区)的第一个扇区中。这些数据就是“主引导记录(MBR)”,它包含了X86计算机可执行的指令。除了可执行指令外,MBR还有一个最多包含4个项目的表,它定义主分区在磁盘上的位置。安装程序还把两个初始化Windows2000引导序列的文件(Ntldr和Ntdetect.com)复制到引导驱动器的根目录下。同时,文件boot.ini也放置在了引导驱动器的根目录下,该文件包含了启动选项。
MBR代码执行
在BIOS引导过程的最后一步,计算机将MBR读入内存,然后将控制交给MBR。可执行代码在分区上搜索分区表,查找一个标识了可引导标记的分区。找到第一个可引导分区后,它会读取该分区的第一个扇区,这就是引导扇区。Windows2000的启动文件位于系统分区上,操作系统文件位于引导分区上,对这两种分区的说明如下:
  .系统分区包含引导Windows2000所需要的硬件规格文件,包括MBR。在X86计算机中,这个分区必须是标记为活动的(active)主分区。它始终是驱动器0,因为它是BIOS将要访问并把引导进程交给其MBR的驱动器。
  .引导分区包含了操作系统文件,%SystemRoot%目录。支持文件(%SystemRoot%System)也必须位于引导分区。
屏幕菜单的内容由boot.ini确定。但是boot.ini的作用不仅仅是为用户提供菜单选项。这个文件是控制操作系统引导过程的一个重要机制。
Boot.ini的内容
boot.ini是一个包含完成引导过程所需信息的文本文件。用户可在任何文本编辑器中编辑它(这个文件是只读和隐藏的,所以你必须在保存编辑结果之前更改它的属性——编辑完后,不要忘记将属性还原)。
  象任何.ini文件一样,文件的每一节都由方括号内的一个节标题开始。文件中的信息是在操作系统安装过程中创建的,所以它是针对计算机。文件有两节:
  .[bootloader]
  .[operating systems]
  [bootloader]节包含了超时规定和操作系统的默认路径。超时规定是一个时间量,以秒计。警告如果在boot.ini文件中只有一个操作系统,Windows2000就不会等指定的时间过去后再引导它,即使你规定超时时间为30秒、60秒,操作系统会在3秒钟后开始加载。
   [operatingsystem]节包含了安装在计算机上的操作系统的路径。在基于X86的计算机上,每个操作系统的路径都在它自己的行上输入。信息的格式基于“高级RISC计算(ARC)”规定中的约定。用引号括起来的文本串会显示在屏幕上。
X86ARC路径语句
在X86计算机上有两种可用的ARC路径:以multi()开始的行或以scsi()开始的行。
  multi(X)disk(Y)rdisk(Z)partition(Q)WINXP="Microsoft Windows XP Professional" /fastdetect
    SCSI(X)disk(Y)rdisk(Z)partition(Q)WIN98="Microsoft Windows 98" /fastdetect
1.partition(Q) 表示操作系统的系统根目录所在的分区在同一快硬盘上主分区的顺序号(Q从1开始)。
2.rdisk(Z) 若以multi开头,则Z植表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘顺序号(Z从0开始)。
若以SCSI开头,则Z值无意义,恒等于0。
3.disk(Y) 若以SCSI开头,则Y植表示操作系统的系统根目录所在的分区所在的硬盘在同一个磁盘控制器上的硬盘顺序号(Y从0开始)。
若以multi开头,则Y值无意义,恒等于0。
4.若计算机中既有IDE盘又有SCSI盘(或只有IDE),且BIOS中SCSI的设置设为enable,则以multi(X)开头,其中X表示操作系统的系统根目录所在的分区所在的硬盘所在的磁盘控制器在同一磁盘控制器上的顺序号(X从0开始计数)。
若计算机中只有SCSI控制器,则以SCSI(X)开头,其中X表示操作系统的系统根目录所在的分区所在的硬盘所在的磁盘控制器在同一磁盘控制器上的顺序号(X从0开始计数)。
/*********************************************************************
    multi(A)disk(B)rdisk(C)partition(D)
  scsi(A)disk(B)rdisk(C)partition(D)
  在这里:
  .A是适配器的顺序号(第一个适配器是0,它应当是可引导的适配器)。
  .B是磁盘参数信息,而且只与scsi()语法一起使用。
  .C是连接到适配器上的磁盘的顺序号。
  .D是分区号,第一个编号是1(与适配器和驱动器相反,它们从0开始编号)。
*************************************************************************/
加强boot.ini
你可以在boot.ini的行中添加开关,一些常用的参数包括如下:
  ./BASEVIDEO强制系统进入640×480,,16色的VGA模式。
  ./BAUDRATE=NNNN设置调试端口的波特率。默认的波特率为19200,但是9600是通过Modem进行远程调试的首选速率。若使用/BAUDRATE开关,则自动使用/DEBUG开关。
  ./BOOTLOG将引导过程的日志写入到%SystemRoot%ntbtlog.txt中,日志文件包含了在引导过程中加载或没有加载的驱动程序清单。
  ./CRASHDEBUG如果Windows2000崩溃(有停止(STOP)错误),则为调试启用COM端口,但允许用户为正常的Modem操作而继续使用COM端口。
  ./DEBUG启用内核调试程序,通过COM端口执行远程实时调试。
  ./DEBUGPORT=COMX选择一个调试端口。默认情况下,如果存在的话,调试端口是COM2。如果不存在,则默认为COM1。
  ......
隐藏菜单选项
你可以隐藏屏幕菜单选项。要使菜单项不可访问,在boot.ini文件中,在希望屏幕菜单结束的地方添加[anytext]项,那么该项以下的内容都是不可见和不可访问的。例如,这里有一个禁止用户访问Windows95的boot.ini文件:
  [bootloader]
  timeout=30
  default=multi(0)disk(0)rdisk(0)partition(1)WINNT
  [operatingsystems]
  multi(0)disk(0)rdisk(0)partion(1)WINNT="Windows2000Professional"
  [anytext]
  c:="Microsoft Windows"
在自己的系统上创建引导软盘
1)将一张软盘插入到驱动器中。
  2)打开“我的电脑”或“Windows资源管理器”,右击软盘驱动器对象。
  3)从快捷方式菜单中选择“格式化”,并使用默认的选项格式化软盘上。
  4)将以下文件从硬盘驱动器的根目录复制到软盘上:
  .Ntdetect.com
  .Ntldr.com
  .Boot.ini
  .Ntbootdd.sys
  通过启动操作系统来测试这张软盘。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3075/showart_9128.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP