十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
系统启动的过程如下(OS以Windows为例):
石城网站制作公司哪家好,找成都创新互联!从网页设计、网站建设、微信开发、APP开发、自适应网站建设等网站项目制作,到程序开发,运营维护。成都创新互联于2013年开始到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选成都创新互联。
1、接通电源,点亮显示器,机箱上的指示灯闪烁(此时电源开始向主板及其它设备供电,同时CPU执行跳转指令,启动BIOS检测,此时系统BIOS首先进行POST);
2、系统BIOS检测显示卡和其它设备的BIOS,完成后发出嘟的响声,随后显示器检测显卡信息,显示器显示显卡信息;
3、系统BIOS显示自己的启动画面;
4、系统BIOS检测和显示CPU类型和频率,然后开始测试所有的内存;
5、系统BIOS检测电脑中安装的标准硬件设备,包括硬盘、光驱、串、并口设备、软驱等,并自动检测和设置内存的定时参数、硬盘参数和访问模式等;
6、系统BIOS检测和配置系统中安装的即插即用设备,同时为该设备分配中断、DMA通道和I/O断口等资源,并在屏幕上显示设备的名称和型号等信息;
7、在所有硬件都检测完毕后,系统BIOS会重新刷屏并在屏幕上方显示包含有标志硬件设备信息、使用资源相关参数的表格(如果设置了密码,则在刷屏之前会要求输入密码);
8、系统更新ESCD;
9、系统BIOS根据用户指定的启动顺序从软、光、硬盘或其它存储设备启动,同时读取并执行启动盘上的主引导记录,硬盘将磁头定位在物理扇0柱0面1扇上,接着先后读取扇区结束标志55AAH,主引导记录MBR,硬盘分区表HDPT,然后根据硬盘分区表提供的数据,磁盘将磁头定位在活动分区(即主DOS引导分区)的引导扇区上(一般为物理扇0柱1面1扇),接着先后读取扇区结束标志55AAH和操作系统参数。该过程将操作系统读取内存中,把存储在ROM中的Bootstrap Loader程序和自诊断程序移动到RAM,然后系统会执行Io.sys和Msdos.sys两个文件,此时屏幕上会出现“Starting Windows98 ......”的信息。
Windows启动时需要Command.com,Io.sys,Msdos.sys,Drvspace.bin四个文件,在初始化过程中还需要读Autoexec.bat,Config.sys,System.ini,Win.ini,
User.dat,System.dat六个文件。
在进入蓝天白云的画面后,系统将执行Config.sys(如果配置了)和Command.com文件,使电脑能够进入DOS的实模式,启动基本成功。
然后根据User.dat,System.dat,System.ini,Win.ini等读取相关文件,系统自动对Windows进行初始化,此时屏幕已经黑屏,并在左上角出现一个闪烁的光标,与此同时启动过程将读取Windows的注册表文件,并完成启动过程,出现Windows的初始画面,就可以运行Windows系统了。
10、Windows开始检测硬件与周边设备,并载入各类驱动程序与虚拟设备驱动程序;
11、载入系统安装的字体;
12、显示桌面壁纸;
13、执行随Windows一同启动的程序;
当Windows完成登录过程,鼠标指针从繁忙到安静,除桌面上的图标,你还看到了什么?也许表面没什么变化,但你有没有注意到,你的系统托盘区多出了许多图标,你的进程表中出现了很多的进程!Windows在启动的时候,自动加载了很多程序,你知道它们是在什么地方被加载的吗?
许多程序的自启动,给我们带来了很多方便,这是不争的事实,但是否每个自启动的程序对我们都有用呢?更甚者,也许有病毒或木马在自启动行列,而你却不知!
到现在,你是不是觉得了解自启动文件的藏身之处有必要呢?那好,下面我就一一指出,让它们无外可藏!
其实Windows2000/XP中的自启动文件,除了从以前系统中遗留下来的Autoexec.bat文件中加载外,按照两个文件夹和9个核心注册表子键来自动加载程序的。
1)“启动”文件夹--最常见的自启动程序文件夹。它位于系统分区的“Documents and Settings--User--〔开始〕菜单--程序”目录下。这时的User指的是你登录的用户名。
2)“All Users”中的自启动程序文件夹--另一个常见的自启动程序文件夹。它位于系统分区的“Documents and Settings--All User--〔开始〕菜单--程序”目录下。前面提到的“启动”文件夹运行的是登录用户的自启动程序,而“All Users”中启动的程序是在所有用户下都有效(不论你用什么用户登录)。
3)“Load”键值--一个埋藏得较深的注册表键值。位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows\load〕主键下。
4)“Userinit”键值--它则位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit〕主键下,也是用于系统启动时加载程序的。一般情况下,其默认值为“userinit.exe”,由于该子键的值中可使用逗号分隔开多个程序,因此,在键值的数值中可加入其它程序。
5)“Explorer\Run”键值--与“load”和“Userinit”两个键值不同的是,“Explorer\Run”同时位于〔HKEY_CURRENT_USER〕和〔HKEY_LOCAL_MACHINE〕两个根键中。它在两个中的位置分别为〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run〕下。
6)“RunServicesOnce”子键--它在用户登录前及其它注册表自启动程序加载前面加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce〕下。
7)“RunServices”子键--它也是在用户登录前及其它注册表自启动程序加载前面加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices〕下。
8)“RunOnce\Setup”子键--其默认值是在用户登录后加载的程序。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup〕下。
9)“RunOnce”子键--许多自启动程序要通过RunOnce子键来完成第一次加载。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce〕下。位于〔HKEY_CURRENT_USER〕根键下的RunOnce子键在用户登录扣及其它注册表的Run键值加载程序前加载相关程序,而位于〔HKEY_LOCAL_MACHINE〕主键下的Runonce子键则是在操作系统处理完其它注册表Run子键及自启动文件夹内的程序后再加载的。在Windows XP中还多出一个〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEX〕子键,其道理相同。
10)“Run”子键--目前最常见的自启动程序用于加载的地方。这个键同时位于〔HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run〕和〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run〕下。其中位于〔HKEY_CURRENT_USER〕根键下的Run键值紧接着〔HKEY_LOCAL_MACHINE〕主键下的Run键值启动,但两个键值都是在“启动”文件夹之前加载。
11)再者就是Windows中加载的服务了,它的级别较高,用于最先加载。其位于〔HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services〕下,看到了吗,你所有的服务加载程序都在这里了!
12)Windows Shell——它位于〔HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\〕下面的Shell字符串类型键值中,基默认值为Explorer.exe,当然可能木马程序会在此加入自身并以木马参数的形式调用资源管理器,以达到欺骗用户的目的。
13)BootExecute——它位于注册表中〔HKEY_LOCAL_MACHINE\System\ControlSet001\Session Manager\〕下面,有一个名为BootExecute的多字符串值键,它的默认值是"autocheck autochk *",用于系统启动时的某些自动检查。这个启动项目里的程序是在系统图形界面完成前就被执行的,所以具有很高的优先级。
14)策略组加载程序——打开Gpedit.msc,展开“用户配置——管理模板——系统——登录”,就可以看到“在用户登录时运行这些程序”的项目,你可以在里面添加。在注册表中[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\本地User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run]你也可以看到相对应的键值。
从按下计算机开关启动计算机,到登入到桌面完成启动,一共经过了以下几个阶段:
1. 预引导(Pre-Boot)阶段;
2. 引导阶段;
3. 加载内核阶段;
4. 初始化内核阶段;
5. 登陆。
每个启动阶段的详细介绍
a) 预引导阶段
在按下计算机电源使计算机启动,并且在Windows XP专业版操作系统启动之前这段时间,我们称之为预引导(Pre-Boot)阶段,在这个阶段里,计算机首先运行Power On Self Test(POST),POST检测系统的总内存以及其他硬件设备的现状。如果计算机系统的BIOS(基础输入/输出系统)是即插即用的,那么计算机硬件设备将经过检验以及完成配置。计算机的基础输入/输出系统(BIOS)定位计算机的'引导设备,然后MBR(Master Boot Record)被加载并运行。在预引导阶段,计算机要加载Windows XP的NTLDR文件。
b) 引导阶段
Windows XP Professional引导阶段包含4个小的阶段。
首先,计算机要经过初始引导加载器阶段(Initial Boot Loader),在这个阶段里,NTLDR将计算机微处理器从实模式转换为32位平面内存模式。在实模式中,系统为MS-DOS保留640kb内存,其余内存视为扩展内存,而在32位平面内存模式中,系统(Windows XP Professional)视所有内存为可用内存。接着,NTLDR启动内建的mini-file system drivers,通过这个步骤,使NTLDR可以识别每一个用NTFS或者FAT文件系统格式化的分区,以便发现以及加载Windows XP Professional,到这里,初始引导加载器阶段就结束了。
接着系统来到了操作系统选择阶段,如果计算机安装了不止一个操作系统(也就是多系统),而且正确设置了boot.ini使系统提供操作系统选择的条件下,计算机显示器会显示一个操作系统选单,这是NTLDR读取boot.ini的结果。(至于操作系统选单,由于暂时条件不够,没办法截图,但是笔者模拟了一个,见图一。)
在boot.ini中,主要包含以下内容:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /fastdetect
multi(0)disk(0)rdisk(0)partition(2)WINNT="Windows Windows 2000 Professional"
其中,multi(0)表示磁盘控制器,disk(0)rdisk(0)表示磁盘,partition(x)表示分区。NTLDR就是从这里查找Windows XP Professional的系统文件的位置的。(*本文不会更详细地讲解boot.ini的组成结构,因为其与本主题关系不大,如果想了解,可以到一些专门的网站处查询相关信息。)如果在boot.ini中只有一个操作系统选项,或者把timeout值设为0,则系统不出现操作系统选择菜单,直接引导到那个唯一的系统或者默认的系统。在选择启动Windows XP Professional后,操作系统选择阶段结束,硬件检测阶段开始。
在硬件检测阶段中,ntdetect.com将收集计算机硬件信息列表并将列表返回到NTLDR,这样做的目的是便于以后将这些硬件信息加入到注册表HKEY_LOCAL_MACHINE下的hardware中。
硬件检测完成后,进入配置选择阶段。如果计算机含有多个硬件配置文件列表,可以通过按上下按钮来选择。如果只有一个硬件配置文件,计算机不显示此屏幕而直接使用默认的配置文件加载Windows XP专业版。
引导阶段结束。在引导阶段,系统要用到的文件一共有:NTLDR,Boot.ini,ntdetect.com,ntokrnl.exe,Ntbootdd.sys,bootsect.dos(可选的)。
Windows10 操作系统的整个过程中所发生的操作,具体如下。
1.按下计算机电源按钮后,首先进行通电自检(POST, Power On Self Test),由BlOS检测和识别硬件并完成硬件的基本配置。然后查找第一启动设备,接着从该设备读取并运行主引导记录(MBR, Master Boot record),之后将控制权交给MBR。
2.MBR查找其所在硬盘的硬盘分区表,找到标记为“活动”的主分区。然后在该分区的根目录中找到并运行操作系统的加载程序(文件名为 Bootmgr),即 Windows启动管理器,之后将控制权交给 Windows启动管理器。
3.Window启动管理器读取启动配置数据(BCD, Boot Configuration Data)存储中的内容以决定操作系统的启动方式。
◆ 如果计算机中只安装了一个操作系统,或将操作系统列表的显示时间设置为0,那么将不会显示系统启动列表, Windows启动管理器会直接运行 Windows启动加载器(Windows Boot Loader,文件名为Winload. exe)。
◆ 如果计算机中同时安装了多个操作系统,Windows启动管理器会根据 BCD 存储中的内容创建并显示一个系统启动列表,用户可以从中选择要启动的操作系统。
◆ 如果是从休眠状态恢复计算机,那么Windows启动管理器将会运行 Windows 恢复加载器(文件名为 Winresume.exe)。
4.Windows启动管理器运行 Windows启动加载器,启动加载器使用固件接口的启动服务完成操作系统的启动工作并加载操作系统及其相关数据。
◆ 加载操作系统内核 Ntoskrnl.exe和硬件抽象层HAL(文件名为Had)。
◆ 加载注册表中的 HKEY LOCAL MACHINE SYSTEM 子键。
◆ 加载注册表中的 HKEY- LOCAL MACHINE Systemservices 子键中存储的硬件设备驱动程序。
◆ 启用内存分页。
5.加载完所需数据后, Windows启动加载器将控制权交给操作系统内核。系统内核和HAL开始初始化 Windows操作系统并处理位于注册表中的HKEY LOCAL MACHINE SYSTEM Curentcontrolse 子键中的配置信息,然后启动设备驱动程序和系统服务。
6.内核启动会话管理器(文件名为 Smss.exe),然后执行以下操作。
◆ 创建系统环境变量并对系统环境进行初始化。
◆ 启动Wn32子系统(文件名为Csrss.exe)将文本显示模式切换为图形显示模式。
◆ 启动Windows登录管理器(文件名为Winlogon.exe),然后启动服务控制管理器(文件名为 Services.eXe)和本地安全机构(文件名为 Lsass. exe)并等待用户登录。
◆ 创建虚拟内存页面文件。
◆ 对一些必要的文件进行重命名。
7.在使用用户名和密码进行登录后,登录用户界面和默认凭据提供程序会将用尸名和密码等信息传递给本地安全机构以进行身份验证。验证通过后 Windows登录管理器会运行 Userinit.exe 和 Windows外壳, Userinit. ex会创建用户环境变量以便初始化用户环境,还会运行所有需要自动启动的 Windows服务。最后完成系统登录并显示 Windows桌面。当使用安全模式等非常规模式启动系统时实际上只是临时修改了系统的启动方式,而并没有永久性地修改BCD存储中的内容。此外,用户可以通过编辑BCD存储中的内容来控制操作系统的启动方式。BCD存储包含在一个名为BCD的注册表文件中,固件接口的类型决定了BCD文件在磁盘中的位置。
◆ 基于 BIOS 的计算机:BCD文件位于活动分区的Boot文件夹中。
◆ 基于 EFIUEF 的计算机:BCD文件位于EFI系统分区中。
Windows XP启动慢该怎么办
文章摘要: 经常听到电脑使用者有这样的抱怨:怎么我打开电脑自检完后屏幕一直是黑的,要半天才有XP的界面出现?我的电脑干嘛进入系统这么慢?滚动条都转了十几圈还进不了系统。为什么我的XP出现桌面后几分钟之内点击任何程序都毫无反应?这些问题都可以归结为Windows XP启动慢。如何做才能加快系统的启动速度呢?…
经常听到电脑使用者有这样的抱怨:怎么我打开电脑自检完后屏幕一直是黑的,要半天才有XP的界面出现?我的电脑干嘛进入系统这么慢?滚动条都转了十几圈还进不了系统。为什么我的XP出现桌面后几分钟之内点击任何程序都毫无反应?这些问题都可以归结为Windows XP启动慢。如何做才能加快系统的启动速度呢?
要想解决XP启动慢的问题,首先必须了解一下系统的启动过程。Windows XP的启动过程大致可分为5个步骤:第一步,预启动:首先计算机通电进行自检,并由BIOS(即基本输入输出系统)扫描硬件并完成基本硬件配置,然后读取硬盘的MBR(主引导记录)检查硬盘分区表以确定引导分区,并将引导分区上的操作系统引导扇区调入内存中执行,此处即执行NTLDR(操作系统加载器)文件。第二步,启动:首先进行出始化,NTLDR会把处理器从实模式转换为32位保护模式。然后读取BOOT.INI文件。第三步,.装载内核:引导过程开始装载XP内核NTOSKRNL.EXE.这个文件位于Windows2000/XP安装文件夹下的SYSTEM32文件夹中。随后,硬件抽象层(HAL)被引导进程加载,完成本步骤。第四步,初始化内核:内核完成初始化,NTLDR将控制权转交Windows2000/XP内核,后者开始装载并初始化设备驱动程序,以及启动WIN32子系统和WINDOWSXP服务。第五步是用户登录,登录后,XP会继续配置网络设备和用户环境。最后,伴随着系统的开机音乐声和我们熟悉的桌面,Windows XP漫长的启动过程终于完成。
了解了XP的启动过程,我们就可以有针对性地采取措施加快启动的速度。
1、禁止没有用到的外设
通过前面对启动过程的了解我们知道,XP在启动时会自动扫描硬件,所以如果在WinXP中禁用一些外设,可以有效地减少系统启动时需要调入的外设驱动程序数量,从而加快系统的启动速度。如果你的电脑上没有USB设备,请在“设备管理器-通用串行总线控制器”中将所有的USB设备禁用。此法可以让你的XP开机时间减少约十五秒。其次,如果你没有安装多个硬盘,也可以禁止某些IDE设备以加快启动速度。做法是:右键点击“我的电脑-属性”,然后点击“硬件”接着点击“设备管理器”,在其中打开“IDE ATA/PATA控制器”(不同芯片略有差异),然后分别进入主要和次要IDE通道,选择“高级设置”,在这里找到“当前传送模式”为“不适用”的一项(这就是闲置的IDE通道所对应的),将此项的“设备类型”设置为“无”,确定即可。另外还要注意:由于系统默认会自动读取光驱,因此启动时会对光驱进行检测,如果光驱中放置了光盘,就会自动读取,如果是多媒体光盘那么读取花费的时间就会更长,同样延长电脑的启动时间。所以建议大家平时使用完光盘记得及时取出来。
2、减少启动时加载的程序
大概很多人都有这种感觉:XP的启动速度在系统安装初期还比较快,但随着安装的软件不断增多,系统的启动速度会越来越慢。这是由于许多软件把自己加在了启动程序中,这样开机即需运行,大大降低了启动速度,而且也占用了大量的'系统资源。对于这样一些程序,我们可以通过系统配置实用程序Msconfig将它们从启动组中排除出去。选择“开始”菜单中的“运行”命令,在“运行”对话框中键入“Msconfig”,回车后会弹出“系统配置实用程序”对话框,选择其中的“启动”选项卡,该选项卡中列出了系统启动时加载的项目及来源,仔细查看每个项目是否需要自动加载,否则清除项目前的复选框,加载的项目越少,启动的速度就越快。建议除了保留输入法(在启动项目中为ctfmon)和杀毒监测程序(比如RavTask)之外,其它的统统都禁止在启动时自动运行。
3、手动设置IP地址
前面已经讲到,XP系统会在开机之后自动检测电脑是否联入局域网,但是一般用户都是单机上网,并且在网络连接中基本上设置的都是自动获取IP地址。如此以来,系统为了给该机指派一个IP地址就会搜索DHCP服务器,但是一般用户根本不会配置。这就造成每次开机之后,系统都会花很长的时间来搜索DHCP服务器直到获得IP地址或者服务超时才会停止,这期间即使来到桌面,双击程序也没有任何反映。这也就是很多使用Windows XP用户反映的进入桌面后出现“死机”10几秒钟的问题!事实上只要为“本地连接”人工指派一个IP地址就可以简单的解决这个问题,避免Windows XP每次开机的自动网络检测,从而加速启动。具体的做法如下:右键点击“网上邻居”-选择属性,进入窗口后右键点击“本地连接”-选择属性,在这里双击“Internet协议(TCP/IP)”,选择“使用下面的IP地址”然后输入一个IP地址(比如:192.168.0.1),子网掩码默认即可。(这样做不会与您上互连网产生任何冲突,这个地址只是用在局域网内的)这样系统再次搜索就会很快的发现IP并快速进入系统。
4.关闭主题清减桌面
很多朋友都喜欢在自己的桌面上放上一个漂亮的背景,比如自己喜爱的某个明星的照片之类。可是漂亮是有代价的,那就是消耗了大量的内存,同时桌面上有太多图标也是一样。因为系统每次启动到显示桌面时,首先需要检查是否启用主题,一旦发现就会加载,很多的主题就这样吃掉了大量的内存(另外很多网友自己制作的主题并不完善,使用后会出现很多兼容问题造成系统故障)。同时系统还会查找和验证桌面快捷方式的有效性,因此快捷方式越多,所花费的验证时间就越长。建议大家平时尽量不要使用主题,最多设置一张漂亮的壁纸就可以了。然后将桌面快捷方式分门别类放到专门的文件夹中便于管理,加速启动一举两得。
以上讲了加快Windows XP启动速度的几个方法,但是在实际的使用电脑过程中,还要考虑到其他一些因素的影响。比如现在流行的木马、病毒、流氓插件、恶意代码等,都会极大地降低系统的启动速度。另外,用户的很多不好的操作习惯也会导致XP的启动速度减慢。其它还比如电脑硬件的配置也在一定程度上对系统的启动造成影响。
微软Windows 7系统开机加载过程的原理和机制
一个Windows 操作系统用的久了,自然而然的要出很多问题,系统也会明显的变慢,原因固然很多:注册表日益庞大、无用字体越来越多、启动加载的程序越来越多、系统默认开启的服务越来越多、计划任务列表中被加入了一些莫名其妙的开机启动项目、磁盘碎片越来越多、杀毒软件的开机动作选项没有合理设置等等。不仅是用久了的系统,就算是一个新安装好的操作系统,也需要进行一些设置优化,关闭不常用的服务、屏蔽一些压根无用的开机启动项目等等。下面,我们一起来看看整个Windows 7系统的完整开机加载过程的原理和机制。
1、开启电源
计算机系统将进行加电自检(POST)。如果通过,之后BIOS会读取主引导记录(MBR)——被标记为启动设备的硬盘的首扇区,并传送被Windows 7建立的控制编码给MBR。这时,Windows接管启动过程。接下来,MBR读取引导扇区-活动分区的第一扇区。此扇区包含用以启动Windows启动管理器(Windows Boot Manager)程序Bootmgr exe的代码。
2、启动菜单生成
Windows启动管理器读取“启动配置数据存储(Boot Confi guration Data store)中的'信息。此信息包含已被安装在计算机上的所有操作系统的配置信息。并且用以生成启动菜单。
3、当您在启动菜单中选择下列动作时:
1 如果您选择的是Windows 7(或Windows Vista),Windows 启动管理器(Windows Boot Manager)运行%SystemRoot%\System32文件夹中的OS loader——Winload.exe。
2 如果您选择的是自休眠状态恢复Windows 7 或 Vista,那么启动管理器将装载Winresume.exe并恢复您先前的使用环境。
3 如果您在启动菜单中选择的是早期的Windows版本,启动管理器将定位系统安装所在的卷,并且加载Windows NT风格的早期OS loader(Ntldr.exe)——生成一个由boot.ini内容决定的启动菜单。
4、核心文件加载至登录画面
Windows7启动时,加载其核心文件 Ntoskrnl.exe和hal.dll——从注册表中读取设置并加载驱动程序。接下来将运行Windows会话管理器(smss.exe)并且启动 Windows启动程序(Wininit exe),本地安全验证(Lsass.exe)与服务(services.exe)进程,完成后,就可以登录你的系统了。
5、登陆后的开机加载项目
当你输入您的用户名和密码,登陆进入您的系统那一刻,硬盘发出的声音和硬盘灯的再次提醒你:系统正在加载您这个账户的个人专用设置文件,正在加载当前电脑和当前用户所指定的一些开机启动项目内的软件。这是众多软件(包括木马病毒)最喜欢的地方,包括我们最常用的QQ、MSN、杀毒软件,因为它们要靠这里来常驻桌面右下角和内存之中,方便进行正当的和不正当的一些工作(此处指的是某些流氓和恶意软件)。当这些加载完毕,才算真正进入了您的 Windows桌面。
;
电脑操作系统启动过程简单分为四部分,从BIOS自检、系统引导、启动内核、初始化系统。
1、BIOS自检:在计算机开机时,boot被自动执行,指引CPU把操作系统从大容量存储器中传送到主存储器的易失区。BIOS的功能由两部分组成,分别是POST码和Runtime服务。POST阶段完成后它将从存储器中被清除,而Runtime服务会被一直保留,用于目标操作系统的启动。
2、系统引导:将系统内核从外存读入内存,并将其放在合适的位置中。引导程序必须将内核的实模式下的初始化程序放在基本内存中,应将内核镜像放在1MB以上的位置。
3、启动内核:当处理器离开引导程序的时候,它处于实模式下面,需要执行实模式下面的引导程序后,跳转到保护模式解压内核镜像。
4、初始化系统:在内存中的为内存镜像,需要进行解压,解压后需要把内核放在适当的位置。借此就进入了保护模式的系统初始化了。
扩展资料:
为了缩减内核规模,实现内核的灵活性和适应性,内核被分为两部分:基础部分和扩展部分。基本内核实现内核最基本的管理功能,不随计算机的变化而变化;扩展功能实现内核一些独立的模块(如驱动和文件系统),会发生变化,被放在initrd中,需要引导程序一并读入。
内核启动时会在访问真正的根文件系统前先访问该内存中的 initrd 文件系统。在 boot loader 配置了 initrd 的情况下,内核启动被分成了两个阶段,第一阶段先执行 initrd 文件系统中的init,完成加载驱动模块等任务,第二阶段才会执行真正的根文件系统中的 /sbin/init 进程。