查看單個文章
舊 2003-03-27, 05:48 AM   #1
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設 常見Windows XP啟動故障及解決方法

常見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以後enter。然後按照

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

的提示。這個時候再敲一次enter,系統會提示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 資料夾中的

NTLD解讀多重新啟動動起始化文件——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 :指定用於調度的Port,其它X就指Port號。
  /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生效。

瞭解了以上這些,我們就可以更加輕鬆控制好我們系統的啟動了。
R 和 Ntdetect.com 文件複製到系統驅動器的根目錄中。
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次