WIN98从蓝天白云后到桌面鼠标出现之前做了些什么?

cnzhzy 2003-12-10 01:52:03
如题,尤其是驱动程序加载部分,能告诉我详细点,谢谢
...全文
129 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
haowh 2003-12-10
  • 打赏
  • 举报
回复
那段时间 98先加载vmm.vxd 然后是注册表中的静态的.vxd 驱动,然后由加载了 system.ini 中的静态.vxd 驱动,然后载加载了第三方开发的动态 .vxd 驱动程序。 当然每类驱动程序有个序列号,系统根据序列号从小到大加载 。
紫郢剑侠 2003-12-10
  • 打赏
  • 举报
回复
操作系统选择
包含了可用操作系统的列表。每一条条目都包括了指向操作系统引导分区的路径、在引导程序屏幕上显示的字符串和可选择的参数。Boot.ini可以支持启动多个版本的Windows 2000,也支持启动其他的操作系统,比如Windows 95、Windows 98、Windows NT 4.0、MS-DOS和OS/2。
当你安装Windows 2000时,安装程序将Boot.ini放在系统分区的根部。
下面是一个Boot.ini 示例:

代码:
--------------------------------------------------------------------------------

[boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\winnt= "Microsoft Windows 2000 Professional" /fastdetect C:\="Windows 98" The information displayed on the boot loader screen is based on the contents of Boot.ini, such as in the following example: Please select the operating system to start: Microsoft Windows 2000 Professional Microsoft Windows 98 Use [up] and [down] to move the highlight to your choice. Please Enter to choose. Seconds until highlighted choice will be started automatically: 29 For troubleshooting and advanced startup options for Windows 2000, press F8.

--------------------------------------------------------------------------------



所列出的第一个操作系统是默认的设置。在这个配置中,如果你不在计数器归零前选择一个操作系统,Windows 2000 Professional就会被启动。

硬件检测
在你选择完操作系统以后,Ntdetect.com将会检测硬件,搜集目前安装了的硬件组件的列表,并将这些信息传递给Ntldr。
Ntdetect.com将会检测下列组件:
•计算机ID
•总线/适配器类型
•显示适配器
•键盘
•通讯端口
•软盘驱动器
•鼠标或者其他指点设备
•并口

选择一个硬件配置
在Ntdetect阶段,如果你有多个硬件配置文件,下面的信息将会出现:
Hardware Profile/Configuration Recovery Menu
This menu allows you to select a hardware profile
to be used when Windows 2000 is started.
注意 配置文件只在非即插即用条件下需要,即插即用不需要配置文件。
引导装入程序在你按下Enter键之前将会暂停几秒钟。如果你只有一个硬件配置文件,Windows 2000 Professional将会使用默认设置。
如果你没有选择一个硬件配置文件,Windows 2000 Professional将会自动使用默认设置。当默认设置应用后,引导装入程序将会使用Windows 2000 Professional在上一次关机完成后存储的注册表信息。在你选择完硬件配置文件后,Ntdetect.com转交控制权回Ntldr。

调用并初始化系统内核
在下一阶段,Ntldr将会调用系统内核和硬件抽象层(HAL)进内存。接着引导装入程序将会调用位于%SystemRoot%\System32\Config\System中的注册表键HKEY_LOCAL_MACHINE \SYSTEM。Ntldr将会创建用于初始化计算机的控制设定。装入程序将会使用默认值确定的控制设定,除非你在硬件配置文件选择中选择了“上一次成功启动的配置”。
系统内核启动Windows 2000 Professional屏幕,并且启动进度条将被显示出来。当进度条到了尽头以后,Ntoskrnl将会准备网络信息。
系统内核将会使用从引导程序中传递过来的信息创建HKEY_LOCAL_MACHINE \HARDWARE键,这个键包含了在系统启动阶段搜集的硬件设计。这些数据包含了在主板上的各种硬件组件信息和分配给每一个设备的系统中断号信息。
系统内核接下来将会建立一个控制设置的副本,这个副本指向目前的控制设置。这个控制设置副本将会重现配置过程中的计算机状态,并且不会被修改和定义。

登录进入操作系统
Windows子系统自动启动Winlogon.exe,这个程序将会启动本地安全管理机制。“开始登录”对话框出现。Windows 2000可能仍然在初始化网络设备驱动程序,但是你已经可以登录了。
服务控制程序在注册表中查找被设置为自动调用的服务。自动调用服务在子键HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \ServicesDriverName中有一个二进制的启动值。在这个过程中被调用的服务基于它们各自的从属关系而被平行的调用。这些从属关系在子键HKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet \ServicesDriverName中的DependOnGroup和DependOnService 条目中描述。
注意 在用户成功登录入系统前,Windows 2000并不会完全的启动。在用户登录后,控制设置副本才会被复制到“上一次成功启动”控制设置中。
紫郢剑侠 2003-12-10
  • 打赏
  • 举报
回复
Windows 2000 Professional启动过程
节选自《Windows 2000 Professional Resource Toolkit》Chapter 6-Setup and Startup
翻译:chen23547(Richard.Edward.Lawrence)

Windows 2000的启动过程和Windows NT 4.0的启动过程很相似,但是却有着一些值得注意的和其他系统不同的启动方式。在MS-DOS、Windows 95和Windows 98种,计算机随着MSDOS.sys和Command.com的调用而调用IO.sys文件。可是,再Windows 2000中,这些文件只会在于一台存在MS-DOS、Windows 95、Windows 98等多操作系统引导配置的计算机上。
下表描述了一台运行Windows 2000 Professional的计算机的启动过程:
•加电自检:Power-on self test (POST)
•初始启动过程
•引导装入程序过程
•操作系统选择(如果这台计算机存在多引导配置)
•硬件检测
•硬件配置选择(如果你使用了超过一个的硬件配置文件)
•内核调用
•操作系统登录过程
注意:此系统引导顺序只对计算机从重新引导状态或者关机状态启动适用。这个过程对于从休眠状态启动的计算机不适用。这个启动顺序适用于所有的Windows 2000版本。

加电自检(POST)
当一台计算机启动或者reset,就会进行加电自检:检测计算机内存容量并检查一些必需的硬件设备是否存在并且可用,比如键盘等。在POST过程后,那些拥有自己的基本输入输出系统(BIOS)的设备将会运行各自单独的自检程序。
注意 在初始自检过程中,一些适配器(比如一些显示适配器)会在内存和设备检测之前就运行它们各自的POST程序

启动计算机
在计算机完成了POST过程以后,系统BIOS就会尝试启动一个操作系统。BIOS的启动顺序基于BIOS的配置。比如,如果BIOS的搜索顺序设定为先搜索A然后搜索C(A,C),BIOS就会从软盘驱动器搜索启动盘。如果A已经插入了一张可引导磁盘,BIOS就会读取它的第一个扇区(分区引导扇区)入内存。如果磁盘不可引导,就会显示下列错误消息:
Non-system disk or disk error
Replace and press any key when ready

如果BIOS没有在软盘驱动器中找到软盘,就会搜索硬盘驱动器上的活动分区。如果第一个硬盘上的系统分区不存在,主引导记录(MBR)就会显示下列几条错误信息中的一条:
•Invalid partition table
•Error loading operating system
•Missing operating system
当硬盘驱动器的活动分区找到后,系统BIOS就会读取MBR并且置入内存。MBR接着就会在分区表中查找系统分区信息。当系统分区信息被读取后,它就会调用系统分区的0扇区进入内存并随之启动它。
注意 系统分区的0扇区可以是一个工具、一个诊断程序或者是一个含有操作系统启动代码的分区启动扇区。
系统分区必须在第一个物理驱动器中并且包含表6.1中所列的启动文件。
表 6.1 Windows 2000 启动文件(注意:下表除了表头外不作翻译--chen23547)
文件名 位置
Ntldr Root of startup disk
Boot.ini Root of startup disk
Bootsect.dosRoot of startup disk (on multiple-boot systems)
Ntdetect.comRoot of startup disk
Hyberfil.sys%Systemdrive%
Ntbootdd.sysRoot of startup disk (for SCSI and some large IDE drives)
Ntoskrnl.exe%SystemRoot%\System32
Hal.dll %SystemRoot%\System32
System key %SystemRoot%\System32\Config
Device drivers%SystemRoot%\System32\Drivers
Cdldr Root of startup disk
注意 如果Boot.ini中的路径名称使用小型计算机系统界面(SCSI)句法,Ntbootdd.sys就必须在系统分区的根目录下。
引导分区可以与系统分区共存一个分区中、可以存在不同的分区中或者不同的硬盘驱动器中。
在很大程度上,MBR是独立于操作系统的。比如,MBR可以启动Windows NT、Windows 95、Windows 98、MS-DOS、Microsoft® Windows® 3.x和Windows 2000 Professional。但是,在启动扇区0被调入内存之前,分区引导扇区将会以来与操作系统和文件系统两者。Windows 2000分区引导扇区实现以下功能:
•读取文件系统以寻找引导装入程序
•将引导装入程序调入内存
•启动引导装入程序

引导装入程序过程
Ntldr从引导分区调用操作系统文件。如果存在一个多引导配置,使用者将会被提示选择一个操作系统。
Ntldr将会执行以下步骤: Ntldr在将控制权转交给Windows 2000系统内核之前,控制着操作系统选择和硬件检测两个过程。Ntldr必须在启动盘的根目录下。
•置处理器运行于32为扁平内存模式下。当你启动一台计算机,它将会运行在一个类似8088或者8086CPU的实模式下。因为Ntldr是一个32位程序,它必须要切换处理器到32位模式以便继续调用操作系统。
•启动NTFS文件系统或者FAT16(32)文件系统。访问适当的文件系统的代码内建于Ntldr中。
•读取Boot.ini,它将会在引导程序屏幕上显示操作选项。如果你选择一个不同于Windows 2000的操作系统,Ntldr将会调用并转交控制权给Bootsect.dos文件,然后选定的操作系统启动。如果你选择了Windows 2000 Professional,Ntldr将会启动Ntdetect.com,这个程序将会搜集计算机硬件信息。
•如果你的计算机上存在超过一个的硬件配置文件,它将会让你选择其中一个硬件配置文件。
•Loads and passes the information from Ntdetect.com to Ntoskrnl.exe, starting the startup screen. 从Ntdetect.com中装载并传递信息到Ntoskrnl.exe文件,开始启动屏幕。

21,499

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧