【免費註冊】 【會員登入】 【個人資料】 【會員列表】 【論壇幫助】 【論壇搜尋】 【登出論壇】

∮Ω奧米加空間∮
∮Ω奧米加空間∮»技術文件區»【原創】常見Windows XP啟動故障及解決方法

訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆
作者 主題    
dc
管理員



性別:男
來自:瓦肯星
發表總數:8675
註冊時間:2002-05-07 16:32
(第 1 篇) 【原創】常見Windows XP啟動故障及解決方法

資料來源:雨聲論壇

作者:Smallfrogs
網頁:http://smallfrogs.yeah.net

常見Windows XP啟動故障及解決方法

1、NTLDR is missing當你從Win9X昇級到WinXP的時候
1)、Clone以后的問題:當你想把使用Clone制作的Win9x昇級到WinXP,那麼很容易出現一句提示:

NTLDR is missing。
   當然,要出現這種情況必須滿足下列要求:
    a)、系統/啟動分區是FAT32文件系統。
    b)、電腦的啟動使用了INT-13中斷擴展啟動。一般現在的主流電腦都是使用了這種方式。
    c)、因為在Clone的時候,燒錄后的系統的存放於FAT32 BIOS Parameter Block(BPD)的值和物理驅動器的

幾何分布不匹配。
   但是為什麼可以啟動Win9X呢?原因是這樣的:Win9x啟動的時候忽略了BPD的值,即使這個值是非法的。但

是在Win200/XP里面需要這個值,如果這個值是非法的,那麼啟動將失敗。
   解決:重寫FAT32 BPB里面正確的值 ,然后使用WinXP里面Fixboot命令重寫Windows XP啟動代碼即可。具體

的操作如下:使用一張含有SYS.COM的Win9X啟動盤啟動電腦,執行SYS C:命令,然后重新啟動,會發現無法啟

動WinXP,這不要緊,這是正常的現象。然后再次重新啟動,使用WinXP安裝光盤啟動,進入故障恢復控制台,

執行fixboot即可。如果你不會使用故障恢復控制台,那麼還有一個方法:在Win9X里面執行WinXP安裝,系統拷

貝完文件以后會重新啟動,啟動的是后手已經要快速按下方向鍵的上或下箭頭,然后選擇Windows回到Win9X下

,接著編輯Boot.ini文件,確認你的Boot.ini文件和你電腦上WinXP的啟動相匹配,最后刪除C盤根目錄上以$開

頭的全部文件即可。
2)、文件丟失/破坏:這個文件位於C盤根目錄,我們只需要從WinXP安裝光盤里面提取這個文件,然后

放到C盤根目錄上即可。

2、I/O錯誤,Win9X啟動失敗
    這個問題一般是由於錯誤刪除C盤根目錄上的一個啟動Win9x的重要文件bootsect.dos造成的。這個文件儲

存了啟動Win9x的必須代碼,而且這個文件的創建是在安裝WinXP的時候自動創建的,WinXP里面並沒有相應的命

令可以直接解決這個問題。但是我們可以採用另外一種方法解決。
   解決:使用一張含有SYS.COM的Win9X啟動盤啟動電腦,執行SYS C:命令,然后重新啟動,會發現無法啟動

WinXP,這不要緊,這是正常的現象。然后再次重新啟動,使用WinXP安裝光盤啟動,進入故障恢復控制台,執

行fixboot即可。如果你不會使用故障恢復控制台,那麼還有一個方法:在Win9X里面執行WinXP安裝,系統拷貝

完文件以后會重新啟動,啟動的是后手已經要快速按下方向鍵的上或下箭頭,然后選擇Windows回到Win9X下,

接著編輯Boot.ini文件,確認你的Boot.ini文件和你電腦上WinXP的啟動相匹配,最后刪除C盤根目錄上以$開頭

的全部文件即可。

3、Boot.ini文件非法
    這個問題一般是由於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
    具體的含義大家可以參看我的網站的這篇文章:《解讀多重啟動引導文件——BOOT.INI》

(http://smallfrogs.nease.net/other/32.html)

4、找不到HAL.DLL文件,啟動中止
    這個是由於C盤根目錄下的boot.ini文件非法,導致預設從C:\Windows啟動,但是又由於你的WinXP沒有安

裝在C盤,所以系統提示找不到HAL.DLL文件。啟動因而失敗。解決方法是重新編輯Boot.ini文件。我們有很多

方法編輯這個文件,下面我挑選幾種便於操作的介紹給大家:
    1)、使用Win9X啟動盤啟動,使用EDIT.EXE命令編輯這個文件。啟動EDIT.EXE以后只要按照正確的格式輸入

Boot.ini文件的內容,保存為Boot.ini文件即可。
    2)、使用COPY CON命令創建一個Boot.ini文件。在DOS下輸入Copy Con C:\boot.ini以后回車。然后按照

Boot.ini文件的格式輸入,每輸入一行敲一次回車鍵,當全部內容輸入完畢以后,按CTRL+Z,屏幕上會看到^Z

的提示。這個時候再敲一次回車,系統會提示1 file(s) copied.這就表示創建成功了。
    3)、使用故障恢復控制台里面的bootcfg命令。具體的使用方法請大家查看Q330184一文。我在這里就不介

紹了。
    4)、在別的電腦上創建好以后,拷貝到受損電腦的C盤根目錄上覆蓋源文件即可。

5、安裝的簡體中文版的WinXP在啟動選單的時候不是英文提示
    一般是由於C:\bootfont.bin丟失造成的,但是如果你安裝了更高版本的英文版本的Windows,那麼這個現

象就是很正常的。如果沒有的話,從WinXP安裝光盤里面提取bootfont.bin到C盤根目錄即可。

6、安裝 Windows 2000 后無法啟動 Windows XP
    症狀:安裝 Windows 2000 后試圖啟動 Windows XP 時,您可能會收到下面的錯誤消息:
"Starting Windows...
Windows 2000 could not start because the following file is missing or corrupt: \WINDOWS\SYSTEM32

\CONFIG\SYSTEMd startup options for Windows 2000, press F8.
You can attempt to repair this file by starting Windows 2000 Setup using the original Setup

floppy disk or CD-ROM.
Select 'r' at the first screen to start repair."
    原因:出現此問題的原因是,在 Windows 2000 發行時 Windows XP 尚不存在。Windows 2000引導程序不

知道已在 Windows XP 中做了改動。電腦需要知道這些改動才能加載 Windows XP。
    解決:若要解決此問題,請用 Windows 2000 啟動電腦,然后將 Windows XP 光盤上 I386 文件夾中的

NTLDR 和 Ntdetect.com 文件復制到系統驅動器的根目錄中。

                               ★本文版權歸Smallfrogs所有!★




解讀多重啟動引導文件——BOOT.INI

Windows NT類的操作系統,也就是Windows NT/2000/XP中,有一個特殊文件,也就是“BOOT.INI”文件,這個文件會很輕松地按照我們的需求設置好多重啟動系統。
    “BOOT.INI”文件會在已經安裝了Windows NT/2000/XP的操作系統的所在分區,一般預設為C:\下面存在。但是它預設具有隱藏和系統屬性,所以你要設置你的文件夾選項,以便把“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
    在Windows 2000或者是XP系統中,我們可以很容易的設置“BOOT.INI”文件。那就是在“我的電腦”上面點擊右鍵,選擇“屬性”打開“系統屬性”對話框,再點擊“高級”選項卡,在“啟動和故障修復”里面點擊“設置”按鈕,就可以打開“啟動和故障修復”對話框了,在這里面我們就可以對它進行詳細設置。
    如果你擁有Windows XP操作系統,那麼你可以用“系統配置實用程序”來更方便的編輯“BOOT.INI”文件。具體做法是:打開“開始”功能表,點擊“運行”命令,再在跳出的文本框中輸入“msconfig”點擊“確定”后就會跳出“系統配置實用程序”,再點擊“BOOT.INI”選項卡,就會出現如圖所示的界面。在這里,我們可以很方便地設置文件。
言歸正傳,現在,來說明一下這個文件內容的含義。
    1.系統加載部分([boot loader])
    這一部分很簡單,只有兩個設定。那就是“timeout=”和“default=”。
“timeout=”就是設定開機時系統引導功能表顯示的時間,超過設定值則自動加載下面“default=”指定的操作系統。預設值是30,單位為秒。我們可以在這里面設定等待時間的長短。如果將其設為“0”那麼就是不顯示系統引導功能表。
    “default=”則是設定預設引導的操作系統。而等號后面的操作系統必須是已經在“[operating systems]”中存在的。如果想預設為加載另外的操作系統,我們可以參看“[operating systems]”中的操作系統列表,然后把想要加載的操作系統按照格式寫到“default=”后面就可以了。
    2.操作系統部分([operating systems])
    在這里面,列出了機器上所安裝的全部操作系統。比如機器上只有一個操作系統,那麼就只有一條資訊,那就是“multi(0)disk(0)rdisk(0)partition(1)\Windows="Microsoft Windows XP Professional" /fastdetect”
在這里需要注意的是,在英文引號內的文字就是引導操作系統功能表時顯示出來的讓我們選擇操作系統的提示文字,在這里面我們可以隨意更改。而“multi(0)disk(0)rdisk(0)partition(1) \Windows”這一句就需要些解釋了。因為它涉及ARC(高級RISC電腦)命名,它是x86或RISC電腦中用於標識設備的動態方法。
ARC命名的第一部分用於標識硬體適配卡/磁盤控制器,它有兩個選項:SCSI和Multi。
Multi表示一個非SCSI硬碟或一個由SCSI BIOS訪問的SCSI硬碟,而SCSI則表示一個SCSI BIOS禁止的SCSI硬碟。(x)是硬體適配卡序號。Disk(x)表示SCSI匯流排號。如果硬體適配卡為Multi,其正確表示方法就為disk(0),rdisk(x)則表示硬碟的序號,如果硬體適配卡為SCSI則忽略此值;
    partition(x)表示硬碟的分區序號。了解這些,我們就可以解釋前面那條資訊的含義了,即“multi(0)disk(0)rdisk(0)partition(1) \Windows”為,在0號非SCSI設備上的第0號磁盤上的第一個分區里面的“Windows”目錄下可以找到能夠啟動的操作系統。
    等號后的內容前面已經說過,那個就是引導功能表顯示出來的供我們選擇的提示文字。而后面的“/fastdetect”又是作什麼用的呢?這是一個開關符,用來控制啟動該操作系統時的具體選項,下面再來詳細的介紹各種開關符的含義:
/3GB:這是Win2000 SP3新引入的。這使得使用者區和系統區分為3G比1G的比例。只有使用者使用NT企業版,應用程序也支持3GB選項時,此選項才生效。
    /BASEVIDEO:使用標準VGA方式啟動。這種方式主要用於顯示驅動程序失效時。
    /BAUDRATE:指出用於調度的波特率,如果使用者不設置,則使用預設的9600,而對於線纜Modem則使用19200。
    /BOOTLOG:使Win2000將日志寫入 %SystemRoot%\NTBTLOG.TXT 。
    /BURNMEMORY=:使NT在已知的記憶體上少使用指定的數量,如果/burnmemory=64,則有64M記憶體NT不使用。
    /CRASHDEBUG:調度器在NT啟動時啟動,只有在內核錯誤時才有用,如果系統經常會無故出錯,這個選項就很有用了。
    /DEBUG:在啟動NT時調入調度器,它可以在任何時間激活,在錯誤可以再次出現時使用它比較合適。
    /DEBUGPORT= comx :指定用於調度的連接埠,其它X就指連接埠號。
    /FASTDETECT:對於Win2000啟動時,它使系統不檢查串行口和並行口。
    /HAL=<hal>:允許使用者不使用預設的HAL。
    /INTAFFINITY:設置多處理器HAL(HALMPS.DLL),使編號最大的處理器接收中斷請求。如果不設置此選項,Win2000會使所有處理器接收中斷請求。
    /KERNEL=<kernel>:與上面的功能相同,不過是針對SMP中的內核而言的。
    /MAXMEM:n:指定NT可以使用的最大記憶體數,如果一個記憶體片損坏,這個開關就十分有用了。
    /NODEBUG:不使用調試資訊。
    /NOGUIBOOT:指定此選項會使Win2000不加載VGA驅動程序,也就不會顯示啟動過程和失敗時的蘭屏資訊。
    /NOSERIALMICE=[COMx | COMx,y,z…]:在特定的COM中上禁止對串行滑鼠的檢測。如果使用者有一個非滑鼠設備接在COM口上,這個選項會十分有用。如果此開關未加參數,系統會禁止所有COM口。
    /NUMPROC=n:只允許前N個系統處理器工作。
    /ONECPU:在多處理器中只使用一個處理器。
    /PCILOCK:不讓NT為PCI設置分配IO/IRQ資源,而啟用BIOS設置。
    /SAFEBOOT:安全啟動,這個大家一定十分熟悉,Win2000只啟動HKLM\System\CurrentControlSet\Control\SafeBoot中的驅動程序和服務,其后跟三個參數MINIMAL,NETWORK或DSREPAIR之一。MINIMAL和NETWORK在允許網絡下啟動系統。而DSREPAIR要求系統從備份設備中調入活動目錄的設置。還有一個選項是"(ALTERNATESHELL)",它讓系統調入由HKLM\System\CurrentControlSet\
SafeBoot\AlternateShell指定的SHELL程序,而不使用預設的Explorer。
    /SOS:在調入驅動程序名時顯示它的名字,在因驅動問題而無法啟動時使用比較好。
    /WIN95:在裝有三個系統DOS、Win9x和Windows NT的系統上,讓NTLDR直接調用Win9x。啟動文件BOOTSECT.W40。
    /WIN95DOS:在裝有三個系統DOS、Win9x和Windows NT的系統上,讓NTLDR直接調用DOS啟動文件BOOTSECT.DOS
    /YEAR=:使用指定的年份,如果設置為/YEAR=2005,那現在的時間就是2005年,此選項僅對NT4+SP4和Win2000生效。

了解了以上這些,我們就可以更加輕松控制好我們系統的啟動了。


本文可以隨意轉載!!
但是,必須注明:
作者:Smallfrogs
http://smallfrogs.yeah.net






Your mind to my mind,

your thought to my thought
發表時間:2003-03-25 11:38
dc的個人資料 傳送郵件給dc dc的個人首頁 dc發表的所有文章 送出悄悄話給dc IP:192.*.*.* 編輯  引言回覆 
ken522
註冊會員



性別:男
來自:
發表總數:2
註冊時間:2003-02-25 22:56
(第 2 篇)

謝謝你的分享哦!
有你的分享才讓我學到這一招的呢!
你真好




發表時間:2003-05-04 11:47
ken522的個人資料 傳送郵件給ken522 ken522發表的所有文章 送出悄悄話給ken522 IP:211.*.*.* 編輯  引言回覆 
pc452001
註冊會員



性別:男
來自:
發表總數:1
註冊時間:2004-03-30 18:38
(第 3 篇)

我想問1下關於
4、找不到HAL.DLL文件,啟動中止
裡面的第4項方法
4)、在別的電腦上創建好以后,拷貝到受損電腦的C盤根目錄上覆蓋源文件即可。
我已經在別的電腦上創建好了.可是我要如何拷貝到受損電腦的C碟裡面ㄋ?...壞掉的電腦根本不能進去壓?難道是用開機磁片?可是我用了之後前面都是A:\>這樣子..不能拷貝到C碟去耶...該怎麼辦ㄋ?請各位大大幫個忙...拜託QQ




發表時間:2004-03-30 18:58
pc452001的個人資料 傳送郵件給pc452001 pc452001發表的所有文章 送出悄悄話給pc452001 IP:211.*.*.* 編輯  引言回覆 
所有時間均為GMT+8, 現在是2020-05-25 16:34    
訂覽該主題更新消息 | 將該主題推薦給朋友 發表新主題 發起投票  回覆

快速回覆
主題 ( 回覆文章可以不輸入標題 )
URLs自動分析
有回覆時郵件通知
禁用表情符號
使用簽名

<聯絡我們 - OMEGA - 控制面板>

Powered by Centaur & Joksky & DC, ver 2003.08.14
Copyright ©2002-2008 PHPY.COM


頁面生成時間:0.014381885528564