专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Windows » windows开机声音:windows nt 4.0中文版的开机过程  »正文

windows开机声音:windows nt 4.0中文版的开机过程 

来源: 发布时间:星期二, 2008年12月30日 浏览:2次 评论:0
● 文 / 赖 荣 枢

  了解作业系统开机过程是任何想要深入作业系统核心人所必备知识, windows nt 本身支援多重开机, 开机过程复杂程度已经不是从前 dos 可以比拟

   当你开启安装了 windows nt 4.0 workstation 电脑电源, 你电脑就开始了 载入 windows nt 系统动作, 虽然光就电脑萤幕上画面显示, 感觉不出windows nt 开机动作繁复, 但是只要你稍微比较 windows 95 和 windowsnt 开机时间, 你定会发现 windows nt 开机动作确繁杂许多

   对 windows nt 而言, 从你开启电脑电源开始, 直到萤幕上出现要你同时按 下 ctrl、alt、del 按键登入交谈窗为止整个过程都是 windows nt 开机 过程, 在这个过程当中, windows nt 开机程式负责将整个系统核心载入记忆 体对於想要了解 windows nt 系统核心读者而言, 有其必要先了解整个系 统载入情况, 所以在这期关於 windows nt 4.0 workstation 文章, 就让 我们起来探讨 windows nt 4.0 workstation 开机过程

  从开启电脑电源开始, 直到萤幕上出现登入交谈窗这段过程, 都属於 windows nt 开机过程当然, 任何作业系统开机过程不外乎是将系统核心 档案从磁碟或 bios 中载入记忆体、并加以执行, 接着再对整个系统进行动作, 然後等待使用者操作; windows nt 亦然, 现在就让我们起来瞧 瞧 windows nt 开机过程

   post

  从开启电脑电源开始, 直到萤幕上出现登入交谈窗这段过程, 都属於 windows nt 开机过程当然, 任何作业系统开机过程不外乎是将系统核心 档案从磁碟或 bios 中载入记忆体、并加以执行, 接着再对整个系统进行动作, 然後等待使用者操作; windows nt 亦然, 现在就让我们起来瞧 瞧 windows nt 开机过程

  经常自己组装、维修电脑读者或许都曾经在电脑 post 时候发生些小问 题, 关於这方面问题解决, 您可以参考主机板所附上使用手册, 或是参考坊 间电脑 diy 书籍

   mbr 载入 active partition pbs

  完成 post 动作的後, bios 会根据 cmos 上设定, 到开机磁碟(通常都 是硬碟)第0轨读取、执行 mbr(master boot record)里面程式mbr 作用是读取磁碟分割表(partition table)里面所设定 active partition, 说得更 精准点, mbr 会读取、执行 active partition 第 0 个磁区(sector 0)内容, 这个磁区称为 partition boot sector, 而在 pbs 里面放着段可以用来载入作业 系统程式, 这段程式是安装作业系统时, 由作业系统所放入 mbr 启动了 pbs 执行, 所以现在整个电脑即将进入载入作业系统动作 当然, 如果 mbr 找不到 active partition, 那麽 mbr 就会在萤幕上显示像 missing operating system 等等讯息, 所以如果您 windows nt 无法正 常开启, 而您又在萤幕上看到类似这样讯息, 原因大多就是出在硬碟磁 碟分割表

   pbs 载入 windows nt os loader

   pbs 是段由作业系统提供程式, 它是用来载入作业系统, 而首先被 pbs 载入 windows nt 开机档案就是 ntldr, 您可以在 windows nt 电脑颗硬碟根目录找到这个档案, 而且 ntldr 也只能放在这里, 否则 windows nt 将无法启动 ntldr 是个系统档案, 所以您必须调整档案总管档案检 视选项, 或者在 dos 视窗中替 dir 指令加上 /a 参数, 才能找到这个档案 ntldr 肩负着启动 windows nt 作业系统重责大任, 整个 windows nt 系统 载入过程都是由它所主导不过除了 ntldr 的外, 还有些档案也必须和它同在 第颗硬碟根目录的中:

   * ntdetect.com 是 windows nt 开机时, 用来检测硬体周边程式

   * bootfont.bin 提供了 windows nt 中文版开机时中文字形

   * boot.ini 这是个 text 文字档案, 它记录了 windows nt 时选项内容

   * bootsect.dos 它内容是 windows 95 或 dos 版本 pbs, 如果您利用 nt os loader 对 dos 和 windows nt 进行多重开机, 那麽也必须有这个档案

   * ntbootdd.sys 如果您安装了 scsi 界面硬碟, 那麽也必须有这个驱动程式

   多重开机选项

  当 ntldr 开始执行的後, 您会在萤幕上看到如图1 多重开机选项画面, 多重开 机选项是 ntldr 根据 boot.ini 内容而决定, 而 boot.ini 是个 text 文字档, 因此您可以自行修改 boot.ini 内容而改变多重开机选项 的前曾经提到 bootsect.dos, 这个档案内容是 windows 95/dos 版本 pbs, 如果您利用 os loader 多重开机选项选择以的前安装 windows 95 或 dos 来开机, 那麽 ntldr 将会载入 bootsect.dos 内容, 并将控制权转交给 它, 接下来, 您电脑就会以 windows 95 或 dos 来开机了

   侦测硬体周边设备

  如果您在多重开机选项中是以 windows nt 作为开机作业系统, 那麽接着 ntldr 还会执行 ntdetect.com 来检测电脑硬体周边设备, 而 ntdetect.com 会将电脑 硬体侦测结果传回给 ntldr, 这时候萤幕上会显示「ntdect v1.0 正在检查硬 体...」

   选择硬体设定档

  接下来 ntldr 会在萤幕上显示段文字, 提示您是否要更换硬体设定档, 如果您 这时按下了空白键, ntldr 会出现个让您选择硬体设定档画面; 但如果您并 没有按下空白键, ntldr 将会载入预设硬体设定档

  或者您也可以先按下空白键, 再在进入选择硬体设定档画面以选择上次可以 顺利开机硬体设定, 有时候您可能会需要这个功能让您顺利启动 windows nt

  您可以利用滑鼠按钮双按控制台中系统图示, 再以系统内容交谈窗硬体设定 档页来处理有关硬体设定档设定如图2, 您可以复制、删除硬体设定档, 也 可以更改更改硬体设定档内容或名称, 还可以调整 ntldr 等待使用者选择硬体 设定档时间

   载入系统核心

  接下来, ntldr 将要载入 windows nt 系统核心了, 在这个时候, ntldr 将会 载入 windows nt 核心档案, 也就是 ntoskrnl.exe, 以及 hal.dll(hardware adaptation layer)您会在黑底白字萤幕上看到许多点(.)陆续显示在萤幕 上, 然後 ntldr 将读取登录系统 hkey_local_machine\system 内容

   windows nt 将开启作业系统时, 所有和硬体相关资料通通放在 hkey_local_machine\system\controlxxx 里面, 如下页图3, 这是我电 脑 windows nt 登录系统资料, 你可以发现其中有 control001、 control002 等两笔 controlxxx 机码然而, 到底哪个机码会在 windows nt 系统开机时被载入使用呢?

  关键就在於 select 机码 default 数值内容了如图3 右窗格, select 机 码 default 数值是 1, 这表示hkey_local_machine\system\control001 机码中资料将会被用作windows nt 系统开机时硬体预设资料, 如果你曾 在如图4 硬体设定档/设定复原功能表选择其他硬体设定档, 那麽 ntldr 将 会载入该硬体设定档所对映到 control

  而且 ntldr 还会将开机时所用 control 编号记录到 select 机码 current 数值里面, 例如这次开机是以 control001 硬体资料作为硬体设定档内 容, 那麽 select 机码 current 数值内容就会是 1不过 ntldr 并不会直接使 用 hkey_local_machine\system\controlxxx 里面所记录资料, 而 是将资料复制到 hkey_local_machine\system\currentcontrol 机码里 面

  在 hkey_local_machine\system\currentcontrol 底下有个 services 子机码, service 底下个子机码所记录都是 windows nt 系统在开机时 应该要载入服务(service)项目, 这时 ntldr 将会检查 hkey_local_machine\system\currentcontrol\service 底下每笔服务 项目子机码 start 数值内容, 如果 start 数值内容是 0, 那麽 ntldr 将会在 这时载入该服务项目驱动程式 这时 ntldr 是在 cpu 为 real mode 状态的下, 利用 bios 13 系统呼 叫来载入这些驱动程式; 如果你硬碟是 scsi 界面, 那麽这时 ntbootdd.sys 将 可以派上用场, 用来载入这些驱动程式

   系统核心

  接下来 windows nt 开机过程即将进入系统核心步骤, 当 windows nt 系统核心开始进入时候, 系统主导权已经从 ntldr 转交给 ntoskrnl.exe 手上, 而整个萤幕会呈现蓝色画面, 并显示 windows nt 版 本、build 序号, 以及电脑上所配置 cpu 和记忆体数量 ntoskrnl.exe 首先会根据 ntldr 所给予资料(实际上是由 ntdetect.com 所侦 测, 再传给 ntldr)建立个 hkey_local_machine\hardware 机码, 也就是说这个机码内容会因每次开机而透过 ntdetect.com 重新侦测而有所 更新

  接下来 ntoskrnl.exe 将会检查hkey_local_machine\system\currentcon trol\service 底下每笔服务项目子机码 start 数值内容, 如果 start 数值 内容是 1, 那麽 ntldr 将会在这时载入该服务项目驱动程式

   session manager(smss.exe) 作用就是用来载入这些 start 数值内容为 1 服务项目, 而在 这时 ntldr 将会检查hkey_local_machine\system\cu rrentcontrol\control\sessionmanager机码里面将有足够资料供 session ma nager 使用

   登入系统

  接着, windows nt 将会进入 gui 画面, 并且由 ntoskrnl.exe 启动winlogon.exe 准备让使用者进行登入动作, winlogon.exe 会再启动个称为local security administration 程式(lsass.exe), lsass.exe 将负责显示登入交谈窗等等让使用 者输入使用者名称、密码动作这时候 windows nt 可能还在进行些诸 如对网路相关驱动程式工作, 不过你依旧可以进行登入动作

  接着 service control(screg.exe)还会再对hkey_local_machine\system\cu rrentcontrol\service 底下每笔服务项目子机码 start 数值内容进行检查, 如果 start 数值内容是 2, 那麽screg.exe 将会在这时载入该服务项目驱动程式 直到这里为止, windows nt 总算完成整个开机动作, 而使用者也登入到 windows nt 系统的中, 开始操作 windows nt图3 显示在登录编辑器中机码资料

   结论

  了解作业系统开机过程是任何想要深入作业系统核心人所必备知识, 对於 windows nt 这个庞大作业系统而言, 它开机过程也不单纯, 也windows nt 本身支援多重开机, 所以使得开机过程更形繁复从 mbr、pbs、ntldr, 再到 ntoskrnl.exe 载入、众多服务项目, 到最後利用 winlogon.exe让使用者登入, windows nt 开机过程复杂程度已经不是从前 dos 可以比拟

  了解作业系统从了解作业系统开机过程开始, 而且从本文中, 你应该也发现了 登录系统内资料对於 windows nt 开机过程相当重要, 不过登录系统资 料不只对於开机非常重要, 它可以说是整个 windows nt 作业系统灵魂, 如 果有机会话, 我将和读者聊聊关於 windows nt 登录系统议题

   start 数值内容意义

   hkey_local_machine\system\currentcontrol\service 底下每笔服务项目子机码都有个 start 数值, 这个数值内容依照每个服务项目状况而又有区别从上述 windows nt 开机过程当中你会发现, 当 ntldr 载入系统核心时, 会起将 start 数值为 0 服务项目驱动程式载入; 当系统进入化阶段时候, ntoskrnl.exe 会载入 start 数值为 1 服务项目驱动程式; 而当使用者登入系统的後, session manager 还会将 start 数值为 2 服务项目驱动程式载入

  原来 start 数值内容所记录就是服务项目驱动程式该在何时被载入, 目前微软对 start 内容定义有 0、1、2、3、4 等 5种状态, 0、1、2 分别代表 boot、 system、auto load 等叁种意义而 start 数值内容为 3 服务项目代表让使用者以手动方式载入(load on demand), 4 则是代表停用状态, 也就是不载入

  你可以滑鼠按钮双按控制台服务图示, 再按下服务交谈窗启动设定钮, 就可以利用这时出现服务交谈窗(如图4)来调整服务项目启动值, 其中服务交谈窗中自动、手动、停用分别就是 2、3、4 等叁个 start 数值内容

相关文章

读者评论

  • 共0条 分0页

发表评论

  • 昵称:
  • 内容: