Win98當機急救法

       

Win98和Win95一樣容易當機,當到嚴重的地步時會造成無法開機等狀況.
有的人說當遇到這種問題時,乾脆重灌好了!抑或者用先前備份的ghost檔還原
就可.話雖如此,但是如果你無法找出無法開機的問題所在,那重灌後很有可能
再次面臨相同問題!
因此,首要之務在於找出問題在何處;本篇文章著重在兩個部份:
2-1介紹Win98 開機的程序,使大家有個概念,
2-2則提出一個診斷Win98當機原因的程序,並於接下來的2-3 ~ 2-9對個個問題
提出解決之道.
第3部份則是一些雜記.

2-1 Win98的開機程序:
---------------------------------------
1. 開啟電腦電源
2. 螢幕出現BIOS的自我測試畫面 (若於此就發生問題,很有可能是硬體問題)
3. 載入 IO.SYS 和 MSDOS.SYS ,並出現Windows視窗畫面
(ps. C:\MSDOS.SYS 中有用的參數值:
BootMulti=? ; Win98多重開機選項, 1:使用, 0:不出現
AutoScan=? ; 當Win98不正常關機時重開機後是否使用Scandisk
掃描硬碟? 1:要, 0:不要
這也可在"msconfig"的"一般" - "進階"中修改 )
4. 讀取 Config.sys 和 Autoexec.bat ,並載入"真實模式"驅動程式
(ps. 此是為了相容於 Dos 的真實模式驅動程式)
5. 載入 VMM32.VXD 並啟動"保護模式"
(ps. "VMM" : Virtual memory Management)
6. 讀取 System.ini 和 Win.ini ,並載入"16位元驅動程式"
(ps. 此是為了相容於 Win3.1 的16位元驅動程式)
7. 讀取 Registry登入檔 ,並載入"32位元驅動程式"
(ps. Registry登入檔由\windows中的"User.dat"和"System.dat"所組成
,是Win98驅動程式和諸設定的大總管,可由「regedit」指令叫出來
編輯.
"User.dat" = "HKEY_USERS"
"System.dat" = "HKEY_LOCAL_MACHINE" )
8. 啟動 GUI圖形模式,並載入桌面佈景
9. 使用者密碼輸入畫面
10. 自動偵測 PnP 裝置
11. Win98開機成功!

通常Win98若出問題都是在第3步之後,也就是畫面上出現藍天白雲Widows的畫
面時,請依2-2節的步驟去做檢修.
但是下列兩種狀況則是例外:

A. Win98可以載入,但是卻會出現許多錯誤訊息:
請見2-10節.

B. 無法載入Win98,且會自動關機:
這表示Win98的某些重要驅動程式嚴重毀損,唯一的辦法只剩重灌了!

2-2 Win98當機診斷程序:
---------------------------------------
<流程一>
開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Safe mode(安全模式)".

<流程二>
如果可以進入安全模式,請從<流程四>繼續.

<流程三>
若無法進入安全模式,請見2-3節.

<流程四>
進入安全模式後,按"開始" - "執行", 打入「msconfig」,來啟動系統組態編輯程
式.

<流程五>
於"一般"中選"選擇性開機",並將所有項目取消,然後重新開機.

<流程六>
如果可以進入Win98,代表保護模式的32位元驅動程式沒有問題,請從<流程八>繼續
.

<流程七>
若無法進入,表示保護模式的32位元驅動程式,也就是Registry登錄檔出了問題,請
見2-4節.

<流程八>
再執行" msconfig ", 於"選擇性開機"中選擇"載入啟動群組",按"確定"後重新開
機.

<流程九>
如果可以進入Win98,代表啟動群組沒有問題,請從<流程十一>繼續.

<流程十>
若無法進入,表示啟動群組出了問題,請見2-5節.

<流程十一>
再執行" msconfig ", 於"選擇性開機"中取消"載入啟動群組",並選擇"處理
System.ini檔案"和"處理Win.ini檔案",接著按"確定"後重新開機.

<流程十二>
如果可以進入Win98,代表保護模式的16位元驅動程式沒有問題,請從<流程十四>繼
續.

<流程十三>
若無法進入,表示保護模式的16位元驅動程式出了問題,請見2-6節.

<流程十四>
再執行" msconfig ", 於"選擇性開機"中取消其他,選擇"處理Config.sys檔案"和
"處理Autoexec.bat檔案",接著按"確定"後重新開機.

<流程十五>
如果可以進入Win98,代表真實模式的驅動程式沒有問題,請從<流程十七>繼續.

<流程十六>
若無法進入,表示真實模式的驅動程式出了問題,請見2-7節.

<流程十七>
if可開機,那或許是真實模式的驅動程式和保護模式的驅動程式相衝.
再執行" msconfig ", 於"選擇性開機"中,選擇"處理Config.sys檔案"、"處理
Autoexec.bat檔案"、"處理System.ini檔案"和"處理Win.ini項目",接著按"確
定"後重新開機.

<流程十八>
若無法進入Win98,那表示真實模式的驅動程式和保護模式的驅動程式真的相衝,請
見2-8節.

<流程十九>
如果順利進入Win98,那麼可能的問題只剩下啟動群組中的驅動程式可能相衝而已,
請見2-5節.

<流程二十>
另外有一種情況是Win98開機到一半就不斷重新開機,這種情形請見2-9節.

2-3 Win98無法進入安全模式急救:
---------------------------------------
所謂"安全模式"指的是只載入最基本的保護模式驅動程式,因此無法進入代表保護
模式的驅動程式出了問題. 可行的方法是由"bootlog.txt"開機記錄檔找出這個紕
漏點,再從Win98 CD中找出這驅動程式替換之.步驟如下:

(步驟一)
開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Logged(\BOOTLOG.TXT)".

(步驟二)
Win98出現錯誤訊息而當機.

(步驟三)
按"Reset"重新開機,按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Safe mode
command prompt only".

(步驟四)
於C:\>下 「 edit bootlog.txt 」 的指令, 這會出現bootlog.txt的內容.

(步驟五)
按"Alt+S",選"Find". 輸入"fail"這個字串來尋找載入(Loading)失敗的驅動程式
. 然後再一直按"F3(找下一個符合搜尋條件者)",直到最後一個. 這一個就是引起
Win98當機的兇手! 這裡舉例,比如是" C:\WINDOWS\SYSTEM\IMM32.DLL "這檔.

(步驟六)
用98開機片或其他方式,在Dos下驅動win98光碟. 於win98目錄下,如"D:\win98",
打入:

「 D:\win98>extract /A base4.cab IMM32.DLL /L C:\windows\system 」

的指令.這代表從base4.cab開始一直連續找下去[/A],直到找出IMM32.DLL這個檔,
將它copy到c:\windows\system [/L].如此,可以使受損的驅動程式恢復原狀.

(步驟七)
上述方法能成功的前提是"bootlog.txt"能夠正確記錄出錯的檔案,若情況反之則
無法用extract來解決.只能試試2-4節的方法,若還不行,只好重灌.

2-4 Registry登錄檔急救:
---------------------------------------
Registry登錄檔由"system.dat"和"user.dat"這兩檔所組成.急救步驟如下:

(步驟一)
按"Reset"重新開機,按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Safe mode
command prompt only".

(步驟二)
打: 「 C:\>scanreg /restore 」指令, 叫出回存Registry登錄檔的畫面.

(步驟三)
原則上Win98會自動備份最近五天的Registry登錄檔.請選最近一天的回存,而後重
開機.若仍無法進入Win98,再重複步驟一到二,選擇其他的試試看.五個都試過.若
還不行,只好重灌了.

2-5 啟動群組問題急救:
---------------------------------------
啟動群組是Win98桌面右下角系統區於開機時自動執行的程式.急救步驟如下:

(步驟一)
重新開機,開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選
"Safe mode(安全模式)".

(步驟二)
進入安全模式後,按"開始" - "執行", 打入「msconfig」,來啟動系統組態編輯程
式,選"啟動"項目.這裡有許多會自動執行的程式,我們只能try and error,藉由取
消其中一個,而後重開機,直到找出當機元兇為止.

2-6 保護模式的16位元驅動程式急救:
---------------------------------------
所謂"16位元驅動程式"指的是於system.ini和win.ini中記載的一些驅動程式,這
些是Win98為了相容於Win3.1而保留的驅動程式.急救步驟如下:

(步驟一)
重新開機,開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選
"Safe mode(安全模式)".

(步驟二)
進入安全模式後,按"開始" - "執行", 打入「msconfig」,來啟動系統組態編輯程
式,開啟"System.ini"選項.

(步驟三)
用滑鼠點一下"boot",取消沒有"視窗"標誌的所有項目.再用滑鼠點一下"386Enh",
取消沒有"視窗"標誌的所有項目.

(步驟四)
開啟"Win.ini"項目,用滑鼠點一下"windows",將"load ="和"run ="這二項功能取
消,按"確定"後重開機.

(步驟五)
這時應該可以開機,再打"msconfig",將"System.ini"中的"boot"項目內所有驅動
程式打勾,按"確定"後重開機.若Win98因此無法開機,表示"boot"中有項目有問題
,我們可用try and error的方式,將其中沒有"視窗"標誌的項目一個一個取消來試
,直到找出元兇!
若Win98可以開機,表示"boot"項目沒有問題.可用相似的方法去試試"386Enh"和
"Win.ini",直到找出元兇!

ps. "視窗"標誌指的是該驅動程式為Win98所預設,不會和Win98相衝.

2-7 真實模式驅動程式急救:
---------------------------------------
所謂"真實模式驅動程式"指的是在Config.sys和Autoexec.bat中安裝的一些驅動
程式,這些是Win98為了相容於Dos而保留的驅動程式.通常造成當機的可能原因有
二:

1) 真實模式驅動程式和保護模式驅動程式相衝突造成當機.
2) 真實模式驅動程式本身有問題而造成當機.

分辨這二者的步驟如下:

(步驟一)
重新開機,按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Safe mode command
prompt only".

(步驟二)
若可順利開機並出現C:\>提示符號,表示真實模式驅動程式沒有問題,問題可能是
相衝突所造成,請見2-7.1節.

(步驟三)
若沒有出現C:\>提示符號,而是當機,表示真實模式驅動程式本身有了問題,請見
2-7.2節.

2-7.1 驅動程式相衝突問題急救步驟:
---------------------------------------
(步驟一)
重新開機,開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選
"Safe mode(安全模式)".

(步驟二)
進入安全模式後,按"開始" - "執行", 打入「msconfig」,來啟動系統組
態編輯程式,開啟"Config.sys"選項,將所有項目取消,只留"Himem.sys"
這一項.再選擇"Autoexec.bat"選項,將其下所有項目取消,再按"確定",
重新開機.

(步驟三)
現在應該可以進入Win98,為了查明是哪一個驅動程式造成Win98當機,進入
"msconfig",將"Config.sys"中選擇一個項目而後重開機.如此try and
error,若如此造成Win98當機,代表它是元兇!若可正常開機,就再試.
"Autoexec.bat"中的也是如此!

2-7.2 真實模式驅動程式問題急救步驟:
---------------------------------------
(步驟一)
重新開機,開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選
"Step-by-step confirmation".

(步驟二)
按"Y"或"Enter"鍵依序執行每一道指令,就可以找到引起當機的元兇,請記
住該指令.

(步驟三)
重新開機,按住"Shift+F5"進入Dos環境,打入:「 edit config.sys 」
將引發當機的驅動程式那行前加"REM"以取消載入該程式.
(ps. 若是Autoexec.bat中的也是如此辦.另外也可以找到原程式替代看看
. )

2-8 保護模式的16位元驅動程式相衝突急救:
-------------------------------------------
此種情況較少見,急救步驟如下:

(步驟一)
重新開機,開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選
"Step-by-step confirmation".

(步驟二)
按"Y"或"Enter"鍵依序執行Config.sys和Autoexec.bat中的程式.

(步驟三)
接著按"Y"或"Enter"鍵依序載入保護模式驅動程式,直到引起當機那個!記下它.
比如說是" vmsgd.vxd "這個驅動程式.

(步驟四)
重新開機進入安全模式,按"msconfig",在"System.ini"中的"386Enh"中取消該驅
動程式即可.

2-9 Win98一直重複開機
---------------------------------------
發生這種現象的原因常是因為Win98無法取得PCI的IRQ控制權.急救步驟如下:

(步驟一)
開機時按住"Ctrl"鍵不放,等螢幕出現Start Menu,選"Safe mode(安全模式)".

(步驟二)
進入"開始" - "設定" - "控制台" - "系統" - "裝置管理員",點一下"系統裝置
",再選"PCI匯流排"(滑鼠按兩下),按"設定IRQ".

(步驟三)
螢幕出現設定IRQ選項畫面,Win98內定是"使用IRQ設定",若主機板相容性不夠可能
會出現重複開機.請取消"使用IRQ設定"的功能,按確定後重開機即可.

2-10 Win98錯誤訊息急救
---------------------------------------
這種情況常是Win98或者其他應用程式所需的驅動程式檔毀損所造成.你可以在螢
幕上見到出問題的是什麼驅動程式,副檔名可能是:".VXD .DLL .386 ....等等.
請記下它.

(步驟一)
先假設它是Win98本身所附的驅動程式.按"開始" - "執行", 打入「sfc」來開啟
系統檔案檢查員.選擇"從安裝磁片抽出一個檔案",然後打入出錯的驅動程式名稱
,開始掃描.

(步驟二)
若依此找不到驅動程式的話,代表此驅動程式是來自應用程式所附.請依其副檔名
決定處理的方法:

A. 副檔名為"*.386":
按"開始" - "執行", 打入「msconfig」,選"System.ini",點"386Enh"項目,
找到出錯的那個*.386,將其取消即可.

B. 副檔名為"*.vxd":
按"開始" - "執行", 打入「regedit」,選 "HKEY_LOCAL_MACHINE" -
"SYSTEM" - "CurrentControlSet" - "Services" - "VxD",再選擇出錯誤的
驅動程式那個檔案夾,在那內的"StaticVxD"項目上按滑鼠右鍵,選擇"刪除"
即可.


3-1 關於Registry登錄檔的備份:
---------------------------------------
我們曾於2-4節中提到Win98會自動備份近五天的Registry登錄檔.它被放置於:
" C:\windows\sysbckup " 以 "rc000.cab" 的壓縮檔形式存在.
其實我們可以更改位在於" C:\windows\scanreg.ini "的檔案來改變它的選項
,諸如: (請先打開此檔)
MaxBackupcopies=5 (最多備份數,預設為5)
另外可以加入
" Files=30,config.sys,autoexec.bat "
來使備份檔中包括config.sys和autoexec.bat及其他檔案.

由於Registry登錄檔是如此的重要,許多問題甚至只要回存正確的登入備份檔
就可恢復.我們在此推薦另一個備份Registry登錄檔的程式:

軟體名稱 : WinRescue98 (共享軟體)
首頁 : http://superwin.com/

它能夠於任何時間自己手動備份,並且可決定該備份的檔案(連CMOS,分割區資
訊也可備份),還包括Dos開機修復片,reg檔修正程式...等等,非常好用!

3-2 提升Win98的速度:
---------------------------------------
(方法一) 將原Dos下config.sys和autoexec.bat中不需要的驅動程式,於最前
面打"rem "mark掉!

(方法二) 重設Active Desktop:
於桌面上按滑鼠右鍵選"內容",進入"顯示器內容"選項.首先將"Web"
中的"Active Desktop顯示成Web畫面"取消.
再將"效果"中的視覺效果選項全部取消!
再把頻道列關掉,選"下次開機不要顯示頻道列".

(方法三) 設定標準型的資料夾選項:
1. "開始" - "設定" - "資料夾選項" - "一般" -
"根據自己的選擇自訂",按下設定值.依如下設定:

"使用一般Windows桌面"
"以同一個視窗開啟每一個資料夾"
"用於選取「檢視」功能表中“顯示為Web畫面“的資料夾"
"按兩下可開啟項目,按一下表示選取項目"

2. 再切到"檢視"選項,將其他取消,只選"在標題列顯示完整路徑"和
"顯示所有檔案".

(方法四) 設定最佳化系統參數:
打開"開始" - "設定" - "控制台" - "效能":
1. 進入"檔案系統",依如下設定:
硬碟 : 網路伺服器
磁片 : 取消"每次開機就搜尋新的軟碟機"
CD-ROM : 大, 四倍速或更快的光碟機
2. 進入"圖形",加到全速最大.
3. 進入"虛擬記憶體",選"我自己設定虛擬記憶體設定值".
將最大,最小值都設為: 電腦記憶體的2.5倍.

(方法五) 調整Windows 98 的快取記憶體:
A. 使用Cacheman (建議這樣做!)

軟體名稱 : Cacheman (免費軟體)
首頁 : http://www.outertech.com

B. 手動修改
按"開始" - "執行", 打入「msconfig」,選"System.ini",找到
"vcache",在其上按一下滑鼠右鍵選取它,然後按下"新增"鈕,
輸入"Maximum"後按"Enter".接著再按它並按"編輯"鈕,將資料改
成: "Maximum=XXXX". (此XXXX值隨電腦記憶體數而不同,原則上
每16MB要加4096的大小,但最多只能加到:12288,就不可再增加了
!)
另要注意的是,上述文字不可打錯,否則可能會導致嚴重問題....
因此較建議用Cacheman去改.

(方法六) 使用RamBooster:

軟體名稱 : RamBooster (免費軟體)
首頁 : http://www.sci.fi/~borg/rambooster/

當電腦本身記憶體量就不大,又同時開很多程式,開很久.容易導致
WIN98速度變慢.RamBooster可以將記體中零散的部份重整,改善利
用記憶體的效率.

(方法七) 定期執行磁碟重組
你也可以使用一個更快速的磁碟重組程式:

軟體名稱 : Vopt99 (共享軟體)
首頁 : http://www.goldenbow.com

 

3-3 建立Dos的多重開機檔:
---------------------------------------
若想要使用Dos下的程式,可依此步驟製作多重開機檔.( for Dos 7.0 )

1. 於C:\下打 「attrib -h -r -s c:\MSDOS.SYS」,將MSDOS.SYS的隱藏屬性
去掉.用文書處理程式修改MSDOS.SYS檔中的"BootGUI="為:
" BootGUI = 0 "
而後於C:\下打 「attrib +h +r +s -a c:\MSDOS.SYS」,還原其屬性.

2. 修改Config.sys檔: (以下為一範例檔,分號後文字為註解,於您的設定檔
上請勿加上它!!)
-----------------------------------------------------------------
[MENU]
MENUITEM=Win98GUI, Graphic User's Interface of Windows 98
; 逗號前為項目名稱,之後為出現在螢幕上的文字
MENUITEM=Games, For Playing Dos Games
MENUITEM=Dos7 , Dos 7.0 of Window 98 (For ETen 3.51)
MENUDEFAULT=Win98GUI, 5
; 設定預設的選項和停留時間(秒)
MENUCOLOR=7, 0
; 選單顏色(前為底,後為字的顏色)
; 0 黑, 1 藍, 2 綠, 3 蒼藍, 4 紅, 5 深紅, 6 棕,
; 7 白, 8 灰, 9 亮藍, 10 亮綠, 11 亮蒼藍, 12 亮紅,
; 13 亮深紅, 14 黃, 15 亮白

[COMMON]
; 三選項的共用驅動程式
DEVICE=C:\WINDOWS\HIMEM.SYS /V
DOS=HIGH, UMB
FILESHIGH=30
BUFFERSHIGH=30
LASTDRIVEHIGH=J

[Win98GUI]

[Games]
DEVICE=C:\WINDOWS\EMM386.EXE RAM
DEVICEHIGH=C:\TEAC\TEAC_CDI.SYS /D:MSCD000

[Dos7]
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS X=EE00-EFFF
DEVICEHIGH=C:\TEAC\TEAC_CDI.SYS /D:MSCD000
-----------------------------------------------------------------

3. 修改Autoexec.bat檔
-----------------------------------------------------------------
SET PATH=C:\WINDOWS\SYSTEM;C:\WINDOWS\COMMAND\;%PATH%;
SET TEMP=C:\TEMP
SET TMP=C:\TMP
GOTO %CONFIG%
; 跳到使用者所選則的MENUITEM,如到" : Games "那裡開始
:Games
; 以下音效卡設定值,此例為PCI的Yamaha 724
; --------------------------
SET BLASTER=A220 I5 D1 T4
copy C:\DS-XG\DOS4GW.EXE \
chcp 437
C:\DS-XG\SETUPDS.EXE /S
del \DOS4GW.EXE
; --------------------------
Dos7
SMARTDRV /X /V 1024
C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MSCD000
LH C:\MOUSE\MOUSE.EXE
; 滑鼠驅動程式,請依自己所用設定
GOTO END
; 讓Games和Dos7.0執行到這裡後就結束了!
:Win98GUI
WIN.COM
:END
-----------------------------------------------------------------

3-4 Win98光碟中其他的工具程式:
---------------------------------------
原版Win98光碟中還附有一些好用的工具程式,如下:
1. Personal Web Server
位於 : \add-ons\pws
為一個架設個人Web 伺服器的軟體.

2. 其他的硬體驅動程式
位於 : \drivers
請見說明檔 : driver98.chm

3. 過去舊版MS-DOS中的程式檔
(即現在DOS 7.0中沒有的!)
位於 : \tools\oldmsdos

4. Microsoft Fax
位於 : \tools\oldwin95\message
能使你的Windows能透過數據機發送傳真.
請見說明檔 : wms-fax.txt

5. MicrosoftR WindowsR 98 Resource Kit Sampler
位於 : \tools\reskit
含有許多Win98的工具程式和說明文件,請用其下的
Setup.exe來安裝!
其中特別重要的是下列幾個程式:
*.Batch 98
位於 : \tools\reskit\batch
用於撰寫Win98安裝的批次檔,讓它一次自動安裝完畢!
請見說明檔 : batch98.chm
*.WindowsR 98 Resource Kit Book Online
位於 : \tools\reskit\help\rk98book.chm
有深度的Win98說明文件,英文版.

6. 使用系統恢復程式復原系統
位於 : \tools\sysrec\recover.txt
說明如何以Microsoft 備份程式建立的備份檔來將Win98系統
復原回來!