當你的電腦不啟動時,希望它能給你一點兒幫助。
一,硬盤啟動過程:
在BIOS自檢確認所有的硬件(包括硬盤)連接正確后,硬盤開始啟動,以啟動分區(qū)裝有WIN98操作系統(tǒng)為例,其啟動過程是:(1)根據CMOS設置的參數,硬盤將磁頭定位在物理扇0柱0面1扇上,接著先后讀取扇區(qū)結束標志55AAH、主引導記錄MBR、硬盤分區(qū)表HDPT。(2)根據硬盤分區(qū)表提供的數據,硬盤將磁頭定位在活動分區(qū)(主DOS引導分區(qū))的引導扇上(一般為物理扇0柱1面1扇),接著先后讀取扇區(qū)結束標志55AAH、操作系統(tǒng)參數。(3)根據操作系統(tǒng)參數,讀取文件分配表FAT和兩個隱含系統(tǒng)文件IO.SYS、MSDOS.SYS (4)根據CONFIG.SYS,讀取COMMAND.COM,使電腦能夠進入DOS的實模式,啟動基本成功。(5)根據AUTOEXEC.BAT,MSDOS.SYS進一步配置WIN98,并決定進入哪一種模式,如果進入窗口模式,還要根據user.dat,system.dat,win.ini,system.ini等讀取相關文件,直到桌面最終出現,啟動完畢。
這里我只討論前4步(因為關于第5步文章太多了)。為了能夠挖掘出所有錯誤現象,我做了一次破壞性實驗(初學者不宜模仿),實驗如下:
二,我讓硬盤不啟動
1.實驗目的:通過模擬因病毒、Bug、誤操作等原因導致的硬盤不啟動的故障,總結歸納錯誤現象,當以后真的遇到硬盤不啟動時,能積極應對。(總之一句話:危險我一個,幸福所有人^_-)。
2.實驗環(huán)境:AWARD BIOS4.51,一硬盤、一光驅都設成主盤(分別連在兩個IDE數據線上),硬盤6.4G(c,d,e,f四個分區(qū)),c區(qū)安裝可引導的windos98 (FAT16)系統(tǒng)。
3.實驗工具:諾頓(NU)8.0中文版的磁盤編輯器(DISKEDIT)
(該軟件下載網址見文尾)
4.實驗對象:六種硬盤啟動時的必需因素:(1)物理連線(2)CMOS硬盤參數(3)主引導扇區(qū)(包括主引導記錄和硬盤分區(qū)表)(4)主DOS引導記錄(5)文件分配表(6)三個啟動文件
5.實驗之前的準備:(1)備份要破壞的所有重要數據(2)格式化一張啟動軟盤(3)把diskedit.exe,nlib200.rtl,chin16.fnt三個文件拷到該軟盤中。
6.實驗的簡單過程:破壞某個要害因素――>重新啟動電腦――>記錄錯誤現象――>恢復破壞――>再破壞下一個要害因素……。如此循環(huán)往復,直到破壞完成最后一個。
7.實驗結果:經過整理后,詳見下一小節(jié)
三,硬盤不啟動的故障、原因和處理
(一) 黑屏的故障
原因:連接硬盤一端的數據線插反(主板一端不可能插反)
處理:將其重插(數據線的紅線與電源線的紅線相鄰)
(二) 顯示"Primary master hard disk fail"的故障
原因:(1)硬盤數據線、電源線兩者至少有一個沒插好
(2)硬盤跳線設成從盤,而CMOS硬盤參數沒做相應修改(仍然是主盤)
處理:(1)將其插牢
(2)重設CMOS
(三) 無提示信息的故障
原因:(1)CMOS硬盤參數的某些數值設置錯誤
(2)主引導記錄錯誤或丟失
(3)主DOS引導記錄第一個重要數據(每扇字節(jié)數)錯誤
(4)文件分配表錯誤
處理:(1)重設CMOS
(2)用FDISK/MBR命令恢復
(3)用DISKEDIT修復成512
具體步驟:用軟盤啟動電腦,以diskedit /w /m模式運行;按Alt+P,
將"面0"改為"面1",確認;按F7以引導記錄方式查看,將"每
扇字節(jié)數"一項的數值改成"512"。
(4)用DISKEDIT調用第二個分配表,再用NDD修復(下載網址見文尾)
具體步驟:用軟盤啟動電腦,運行diskedit;在"工具"下拉菜單
中選擇"使用第二個FAT表",退出diskedit;然后運行ndd,選擇
"診斷磁盤"項,一步一步按提示操作,直到完成。
(四) 顯示"DISK BOOT FAILURE,INSERT SYSTEM DISK AND PRESS
ENTER"的故障
原因:(1)硬盤,光驅連在同一條數據線上,且跳線都設成主盤(或都設成從盤)
(2)CMOS硬盤參數設成NONE
(3)主引導扇區(qū)結束標志55AAH錯誤
處理:(1)將光驅跳線設成從盤(或硬盤跳線設成主盤)
(2)重設CMOS
(3)用NDD的"診斷磁盤"修復
(五) 顯示"Error Loading Operating System"的故障
原因:硬盤分區(qū)表中的活動分區(qū)標志80H被改成00H以外的其它數值(如被
改成FFH)
處理:用DISKEDIT修復為80H
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行;按Alt+P,
不做任何修改,直接回車;按F2以16進制方式查看,把000001B0
地址行的倒數第二個16進制數值改為80。
(六) 顯示"Not Found any [ative partition] in HDD"的故障
原因:硬盤分配表中的活動分區(qū)標志80H被改成非活動分區(qū)標志00H
處理:用DISKEDIT修復為80H
具體步驟:同(五)
(七) 顯示"Type the name of the command,Inter preter ……"
原因:(1)硬盤分區(qū)表中的主DOS分區(qū)標志06H錯誤
(2)command.com丟失、損壞或與其它兩個啟動文件版本不同
處理:(1)用DISKEDIT修復為06H
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行;按Alt+P,
不做任何修改,直接回車;按F2用16進制方式查看,把000001C0
地址行的第三個16進制數值改為06。
(2)用軟盤中完好的command.com文件拷貝覆蓋(注意版本要相同)
(八) DOS下輸入d:回車(e:回車,f:回車)后顯示"Invalid drive specification"
(注:該現象并不影響硬盤啟動,只作參考)
原因:(1)CMOS硬盤參數LBA被設成LARGE
(2)硬盤分區(qū)表中的非活動分區(qū)標志00H錯誤
(3)擴展DOS分區(qū)引導扇的部分數據錯誤
處理:(1)重設CMOS
(2)用DISKEDIT修復為00H
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行,按Alt+P,
不做任何修改,直接回車;按F2用16進制方式查看,將000001C0地
址行的倒數第二個16進制數值改為00。
(3)用DISKEDIT修復
具體步驟:情況較復雜,需具體情況具體分析
(九) 顯示"Invalid partition table"
原因:硬盤分區(qū)表部分數據錯誤
處理:用DISKEDIT修復
具體步驟:情況較復雜,需具體情況具體分析
(十) 顯示"Disk I/O error ……"
原因:主DOS引導記錄中物理硬盤標志號錯誤
處理:用DISKEDIT改成80H(第一個物理硬盤標志號)
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行,按Alt+P,
將默認值改為:柱0面1扇1,確認;按F2用16進制方式查看,將00000020
地址行的第五個16進制數值改為80
(十一) 顯示"Missing operating system"
原因:(1)硬盤分區(qū)表中的起始定位的三個數據錯誤
(2)主DOS引導扇區(qū)結束標志55AAH 錯誤
處理:(1)用DISKEDIT修復為1面0簇1扇
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行,按Alt+P,
不做任何修改,直接回車;按F2用16進制方式查看,將000001C0地
址行的倒數第二個16進制數值改為00
(2)用DISKEDIT修復為55AAH
具體步驟:用軟盤啟動電腦,以diskedit /m /w模式運行,按Alt+P,
將默認值改為:柱0面1扇1,確認;將最后兩個16進制數值改為55AA
(十二) 顯示"Invalid system disk"
原因:io.sys文件不存在
處理:用軟盤里完好的io.sys拷貝覆蓋,或用sys c:命令傳輸(注意版本要相同)
(十三) 顯示"Non-System disk or disk error"
原因:同(十二)
處理:同(十二)
(十四) 顯示"Failure…"
原因:io.sys被改動
處理:同(十二)
四,最后的啟示
由于造成硬盤不啟動的原因復雜多樣,同一故障不同的BIOS和不同的操作系統(tǒng)提供的錯誤信息又不盡相同,解決辦法也各有長短,所以在一篇文章中是很難講全的。
值得引起大家重視的是,文中的解決辦法并不是萬能藥水,要想從根本上解決問題就要在硬盤正常的情況下做好備份,尤其要備份好容易被忽視的主引導記錄及硬盤分區(qū)表、主DOS引導記錄、文件分配表等三個硬盤啟動必需的數據,其中文件分配表還要經常更新備份。
關于備份,我推薦給大家一個小程序:BFHF,它只有不到3K,卻能備份和恢復CMOS、主引導記錄及硬盤分區(qū)表、主DOS引導記錄三種數據,并且簡單易學。(下載網址見文尾)
至于文件分配表的備份,對于FAT16用戶可用DISKEDIT手工備份和恢復,具體步驟:用軟盤啟動,運行diskedit,按Alt+D選擇C盤,按Alt+1選擇"第一個分配表",按Alt+W選擇"寫對象",再選擇"對文件",確定,最后輸入要保存的文件名。(恢復步驟與備份步驟相反,不再敘述)
好了,就到這兒吧,最后祝愿大家的硬盤永遠健康。