Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

關閉 Windows XP SP3 DEP(資料執行保護)相容舊軟體

編輯:Windows XP 系統介紹

Windows XP SP3 強制啟用 DEP(Data Execution Prevention,資料執行保護),導致部分老舊軟體(特別是未加殼、使用舊編譯器、或包含即時編譯元件的程式)啟動即閃退、報「DEP 關閉程式」。若確認該軟體可信,需全域關閉 DEP 以維持相容。

修改 boot.ini 關閉 DEP 步驟

  1. 開啟「我的電腦」→ 工具 → 資料夾選項 → 檢視 → 勾選「顯示所有檔案和資料夾」、取消勾選「隱藏受保護的作業系統檔案」。
  2. 找到系統磁碟根目錄(通常 C:)的 boot.ini,右鍵 → 內容 → 取消「唯讀」屬性。
  3. 用記事本開啟 boot.ini,找到類似以下的啟動項目行:
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
  4. 將 /noexecute=optin(或 /noexecute=alwayson)修改為 /execute。
    修改後:
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /execute /fastdetect
  5. 儲存,恢復 boot.ini「唯讀」+「隱藏」+「系統」屬性。
  6. 重新開機,DEP 徹底關閉。

驗證 DEP 狀態

  • 控制台 → 系統 → 進階 → 效能 → 設定 → 資料執行防止索引標籤,應顯示「已關閉」或無選項可選。
  • 命令列執行 wmic OS Get DataExecutionPrevention_SupportPolicy,回傳 0 表示關閉。

替代方案:單一程式排除(較安全)

若不想全域關閉 DEP,可在同一「資料執行防止」介面選「為除了我選取的程式之外的所有程式及服務開啟 DEP」→ 新增該軟體執行檔 → 套用。但部分舊軟體載入的 DLL 仍會觸發 DEP,排除清單難以涵蓋完全,全域關閉為最徹底方案。

安全性警示

DEP 是緩衝區溢位攻擊的核心防禦機制。關閉 DEP 會讓系統暴露於記憶體損壞類漏洞利用之下。僅在以下情況考慮關閉:

  • 受管離線環境(工控機、嵌入式設備、無網路隔離網段)。
  • 必須執行無法更新、無替代品的關鍵業務軟體。
  • 已部署其他補償防護(應用程式防火牆、HIPS、網路隔離)。

一般上網、辦公環境強烈建議保持 DEP 啟用,改用單一程式排除或尋找軟體更新版本。

修改 boot.ini 需謹慎,錯誤會導致無法開機。操作前請備份 boot.ini 至他處,確保可用 PE/啟動碟還原。

Copyright © Windows教程網 All Rights Reserved