熱點推薦:
您现在的位置: 電腦知識網 >> 電腦常識 >> 正文

[超酷]win98啟動過程終極!

2022-06-13   來源: 電腦常識 

  (一)BIOS的啟動過程
  只要一打開計算機的電源開關一個叫Bootstrap(引導程序)的小軟件就要發揮作用它常駐在BIOS ROM的地址FFFFOH處當ROM加載程序加載它後它就完成下面的幾項工作
  加電自檢
  POST(Post On Self Text加電自檢子程序)測試系統的完整性如果系統通過測試計算機揚聲器發出一短促的鳴叫聲(是否有鳴叫聲取決於BIOS的廠家這裡以廣泛使用的Award的BIOS為例)如果系統出現故障而未通過測試根據故障的不同揚聲器將發出不同的鳴叫聲因為各個廠商對鳴叫聲的定義不同要了解各個鳴叫聲的意義需查看BIOS或者主板廠商的用戶手冊某些BIOS在檢測出系統故障時會暫停並且在顯示器上顯示出相關的錯誤信息(如鍵盤錯誤等)在POST過程還要測試內存的完整性
  檢測即插即用設備
  查找引導盤
  引導程序接著檢測BIOS中的設置以找到第一個可引導的驅動器(一般為A盤或C盤)如果在檢測完BIOS中指定的所有可引導器仍未發現引導驅動器引導程序暫停啟動過程並顯示一個錯誤信息找不到啟動盤
  (二)Dos的啟動過程
  操作系統加載程序從ROM加載程序得到控制權後就開始DOS的啟動其步驟如下
  加載IOSYS
  操作系統加載程序從引導驅動器上讀取主引導記錄MBR(Master Boot Record)並將控制權叫給MBRMBR讀取分區表(在MBR的尾部)並找到引導分區的位置MBR將控制權叫給引導分區的引導扇區(引導扇區包含磁盤引導程序和磁盤特性表)上的磁盤引導程序檢測BIOS參數塊(BPBBIOS Parameter Block)以找到操作系統引導文件所在的根目錄將操作系統引導文件IOSYS從根目錄拷貝進內存IOSYS實際上是一個可執行文件並且只能位於引導分區的第一磁道上
  加載FAT和MSDOSSYS
  處理CONFIGSYS和AUTOEXECBAT
  如果CONFIGSYS文件不存在IOSYS從MSDOSSYS的WinBootDir=獲得IfshlpsysHimemsys和Setverexe這三個文件的位置然後自動加載這三個必需的驅動程序如果MSDOSSYS中有BootGUI=這個選項IOSYS將控制權交給命令行解釋器COMMANDCOM(或者叫給CONFIGSYS中由命令SHELL=指定的命令行解釋器)然後COMMANDCOM將控制權叫給計算機用戶也就是等待用戶輸入DOS命令至此DOS的啟動過程完成
  (三)Windows的啟動過程
  在DOS啟動過程的最後一步如果MSDOSSYS中是BootGUI=而不是BootGUI=這個選項IOSYS將控制權將交給Windows加載程序以繼續加載WindowsWindows的啟動過程真正開始
  顯示Starting Windows
  屏幕顯示Starting Windows x這個提示信息在這個信息顯示的過程中
  MSDOSSYS中的BootDelay=n(n為整數)選項可以控制該信息的顯示延長時間若MSDOSSYS沒有該選項默認該信息顯示
  若MSDOSSYS中有BootKeys=按住Ctrl或F鍵則顯示Windows啟動菜單若有BootMenu=不按住Ctrl或F鍵也會自動顯示Windows啟動菜單
  MSDOSSYS中若有BootMenuDelay=n的選項可以指定Windows啟動菜單顯示的延長時間默認是
  MSDOSSYS中若有BootMenuDefault=n可以指定Windows啟動菜單上的啟動項默認是即以正常模式啟動Windows
  如果Windows上一次沒有正常關閉而且在MSDOSSYS中沒有AutoScan=選項磁盤掃描程序Scandisk將詢問或者自動掃描硬盤默認該選項是AutoScan=既自動掃描
  不管MSDOSSYS中是否有以上選項只要Windows上一次的啟動或關機過程沒有正常完成Windows的啟動菜單會自動出現而且默認啟動項是安全模式(Windows Safe Mode)這個自動出現的啟動菜單其顯示延時是
  在Windows的啟動過程中將保留所有的UMB(Upper Memory Block上位內存)使用
  檢測Windows的啟動畫面
  如果MSDOSSYS中有logo=選項或者沒有該選項IOSYS加載並顯示其內部默認的Windows啟動畫面(即藍天白雲畫面)用戶可自定義一個LOGOSYS文件(實際上是分辨率為顏色深度為色的BMP圖形)並把它放在根目錄下一取代該畫面這樣Windows的啟動畫面就變成了用戶的自定義畫面可能有些計算機用戶這樣做後發現顯示的仍然是藍天白雲畫面這種情況發生在OEM版的Windows中原因是微軟為這些OEM廠商修改了LOGOSYS必須放在特定的目錄中例如C:\WINDOWS或者別的目錄中不同的OEM廠家可能有所不同
  在MSDOSSYS設置logo=則不顯示Windows的啟動畫面
  檢測DRVSPACEINI和DBLSPACEINI文件
  如果存在DRVSPACEINI和DBLSPACEINI文件並且在MSDOSSYS中沒有指定DblSpace=Drvspace=DRVSPACEBIN和DBLSPACEBIN被加載
  檢測注冊表
  IOSYS打開注冊表文件SYSTEMDAT並調用其它工具檢測數據的有效性如果文件SYSTEMDAT不存在則自動從備份文件中恢復該文件如果SYSTEMDAT被恢復USERDAT也被自動恢復Windows中備份文件被壓縮在目錄C:\WINDOWS\SYSBACKUP\下的RBnCAB中n的值為
  檢測DBLBUFFSYS
  如果在MSDOSSYS中有DoubleBuffer=或者注冊表中有鍵值HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\WinBoot\DoubleBuffer則加載DBLBUFFSYS即使以上兩個條件都沒有滿足但是Windows探測到雙緩沖(Double Buffer)是必須的也會自動加載雙緩沖
  加載WINCOM
  配置文件加載完成後即運行WINCOMWINCOM是Windows的加載器(Windows Loader)由它繼續Windows的啟動工作
  加載Vxd文件
  Vxd其全稱為Virtual Device Driver即虛擬設備驅動程序WINCOM首先處理VMMVXD
  實模式虛擬設備驅動程序加載程序檢測是否所需的VxD文件已成功加載如果沒有它再一次嘗試加載一旦實模式虛擬設備驅動程序加載成功設備初始化開始任何需要在實模式下初始化的VxD文件此時開始初始化VMM將計算機處理器從實模式切換到保護模式VxD第三階段的初始化過程開始在這個階段VxD設備驅動程序根據InitDevice指定的次序而不是根據VxD被加載進入到內存中的次序進行初始化這些VxD文件初始化次序如下
  aSYS_CRITICAL_INIT(SYSCRITINIT系統關鍵初始化)
  在這個階段為了讓VxD文件有足夠多的時間准備設備初始化而不被系統中斷所有的系統中斷都被關閉所有的文件輸入/輸出(I/O)也被關閉因此所有的VxD文件被加載的過程不被Windows啟動記錄文件Boottxt記錄直到該初始化過程完成之後所有VxD文件被加載的過程才被記錄到文件Bootlogtxt中
  bSYS_DEVICE_INIT(DEVICEINIT系統設備初始化)
  在這個階段大量的VxD進行初始化文件的輸入/輸出也被允許因此每一個VxD文件的初始化都被記錄但Ifsmgr的設備初始化例外Ifsmgr的作用是控制實模式文件系統在Ifsmgr的設備初始化過程中磁盤輸入/輸出不被允許直到其初始化完成後磁盤輸入/輸出才被允許進行由於這個原因Ifsmgr的初始化過程也沒有被記錄因此從表面上看好像它在設備初始化階段並沒有出現
  cSYS_INIT_COMPLETE(INITCOMPLETE系統初始化完成)
  通過這幾個階段的VxD此時一般可以正常工作了而那些通過ab兩階段而沒有通過c階段的VxD將被從內存中清除
  加載GUI程序
  在所有的靜態VxD和WINSTARTBAT被加載後Windows的GUI(Graphical User Interface圖形用戶界面)被加載這些GUI程序是KrnldllGdiexeUserexe和Explorerexe其中Explorerexe是Windows默認的Shell可以改為使用別的應用程序來代替
  Windows注冊和網絡注冊
  接下來是加載網絡環境設置即加載注冊表鍵值HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnceWindows logon和network此時出現詢問Windows注冊和網絡注冊密碼的對話框Windows加載網絡環境參數時提示用戶輸入網絡注冊密碼如果用戶是在單機上而不是在網絡上使用計算機並且已經關閉了密碼輸入提示功能Windows將用以前提供的默認用戶名實現自動注冊網絡Windows要完成自動注冊功能必須滿足
  ()以前至少輸入過一次有效的用戶名
  ()上次輸入的用戶名沒有被清除
  ()沒有設置必須使用密碼
  在單機用戶系統上按ESC或者選擇取消Windows將會使用默認的桌面設置繼續啟動但Widows下一次啟動時會再次要求輸入用戶名如果網絡注冊驗證中設置不完全正確且用戶輸入了一個新的用戶名Windows將根據控制面板中的網絡用戶設置參數替這個用戶創造一個環境設置參數
  注冊表主鍵加載
  Windows中有幾個自動運行的項目它們按以下的次序加載
  ()HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunservicesOnce
  ()HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runservices
  ()Windows的注冊提示
  ()HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  ()HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  ()HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  ()啟動組
  ()HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce
  上面各項()()和()可以同時加載只有()的地位比較特殊它必須等待()()和()都完成加載之後才開始加載而在它之後的()()()和()也都可以同時加載但它們都必須等待()中所有的項目完成加載之後才開始加載RunservicesOnce中的鍵值在執行一次之後被自動地從注冊表中清除
From:http://tw.wingwit.com/Article/Common/201311/5304.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.