適用範圍: 
Windows 95 
Windows 98 
Windows Me 

在一啟動進入作業系統的時候經常出現: 

「Rundll32 這個程式執行無效,即將關閉...」。 

而按下「詳細資料」鈕顯示的內容是: 

Rundll32 caused a general protection fault in module Mmsystem.dll....(註一) 

若在 System.ini 這個檔案中,的 [boot ] 這個區段中,少了:drivers=mmsystem.dll 可能產生這個現象,所以修改 System.ini 應該可
以解決這個問題。 

但是請有個基本觀念:這並不是說 drivers=mmsystem.dll 就是萬靈丹,認為只要加了這行就什麼事都沒了。 

有沒有可能即使我 system.ini 有 drivers=mmsystem.dll 這條敘述,但是依然出現相同的狀況?當然可能,這時就必須依照每個
「個案環境」的狀況,去詳細調查、測試。我這邊只是提出一個「泛用的」、「適合大多數環境下的」一種解決方案而已。 

為什麼 System.ini 中會少了這項敘述? 

依照經驗,一種情形就是在使用控制台「加入新的硬體」這個功能時,不正確的強迫中斷安裝程,像是需要驅動程式而你又不
提供正確的驅動程式,或是強迫安裝中斷,就有這一種的可能性。 

如何編輯 System.ini? 

System.ini 是純文字檔案,所以使用 Windows 的記事本或任何的純文字編輯軟體(例如 UltraEdit),打開位於 C:\Windows 下的 
System.ini 檔案。 

找到 [ boot ] 這個區段。 

補上一行 drivers = mmsystem.dll 

存檔之後,「重新開機」讓新的設定生效。 

如果你是使用 Windows 98 、Windows Me ,有一個較方便的方法,你可以直接到「開始」>>「執行」,輸入 msconfig(註
二),然後在 System.ini 這一頁,打開 boot 資料夾,按新增,去新增一行敘述: 

drivers=mmsystem.dll 

輸入完成後,記得儲存你的設定,重新開機。 

  

註一: 

此處的案例,所指發生的情況是:RUNDLL32 (或 RUNDLL))caused a General Protection Fault in module MMSYSTEM.DLL,如果
你錯誤訊息對話框中的資料與此處的內容並不相符,例如並不是 mmsystem.dll 產生錯誤,同時也不是 General protection Fault,
本例中的解決方法可能就不符合你的狀況。 

造成 Rundll32 (或 Rundll)錯誤的原因非常多,這個案例只是眾多 Rundll 錯誤中的一種原因而已。 

註二: 

Msconfig.exe 在 Windows 98 以後的版本才提供(Windows 98、Windows 98 Second Edition、Windows Millennium Edition),
Windows 95 沒有這個工具程式,Windows 95 可以利用 Sysedit.exe (系統組態編輯程式)編輯 System.ini。