IIS:如何在 Windows Server 2008 中禁用数据执行保护?

Posted

技术标签:

【中文标题】IIS:如何在 Windows Server 2008 中禁用数据执行保护?【英文标题】:IIS: How to disable Data Execution Prevention in Windows Server 2008? 【发布时间】:2009-07-30 20:12:21 【问题描述】:

我一直试图在我的 Windows 2008 开发盒上禁用 DEP,但没有成功。

我试过了: 系统属性->性能选项->数据执行保护->仅对基本的 Windows 程序和服务启用 DEP

(仍然发生)

系统属性->性能选项->数据执行保护->为除我选择的程序和服务之外的所有程序和服务打开 DEP

在这种情况下,我尝试在 c:\windows\system32\inetsrv\ 文件夹中同时选择 inetinfo.exe 和 w3wp.exe,然后在选择时收到此错误:

“您不能在 64 位可执行文件上设置 DEP 属性”。

我确定某处存在一些内存泄漏 - 但这是一个单独的问题。我很高兴在我的开发环境中使用它一段时间(事实上,我需要放手让我看到它)

任何帮助将不胜感激!

谢谢, 道格

【问题讨论】:

(仍然发生)是什么意思?你在观察什么?你期待什么? 在没有开启 DEP 的情况下运行系统就像在不系安全带的情况下开车......为什么要这样做? 服务器故障可能更好? 【参考方案1】:

GUI 不显示 DEP 操​​作的 4 种模式。

你需要在开机时做:Boot Parameters to Configure DEP and PAE

不过,更多关于the error message的信息:

系统 DEP 配置设置 仅适用于 32 位应用程序和 在 32 位或 32 位上运行时的进程 64 位版本的 Windows。在 64 位上 Windows 版本,如果 硬件强制 DEP 可用 始终应用于 64 位进程 和内核内存空间,还有 没有系统配置设置 禁用它。

【讨论】:

投反对票。应在此处解释解决方案,而不是外部链接(链接已移动)。【参考方案2】:

以下是如何在命令提示符下禁用 DEP:

BCDEDIT /set current nx AlwaysOff

【讨论】:

【参考方案3】:

在 Windows Vista 及更高版本上,DEP 和 PAE 在启动时启用,并通过使用 BCDEdit /set 命令设置 nx 和 pae 参数的值来配置。

要在 Windows Server 2008 上禁用 DEP,请在提升的命令行上键入以下内容

bcdedit /set nx AlwaysOff

【讨论】:

【参考方案4】:

您可能想要编辑 boot.ini 并将包含 /noexecute=optin 的部分更改为仅 /execute

【讨论】:

【参考方案5】:

您应该能够在您的 Bios 设置中关闭 DEP。

【讨论】:

仅限硬件 NX/xD 位,软件 DEP 可能仍会强制执行。

以上是关于IIS:如何在 Windows Server 2008 中禁用数据执行保护?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Visual Studio 2015 (+U1) ASP.NET Core 发布到 Windows Server 2012R2 上的 IIS?

windows server 2003下配置IIS服务器

在windows 2000 server中如何配置技术.net的IIS运行环境?

如何在windows server2008 r2上打开internet信息服务 iis 管理器

IIS:如何在 Windows Server 2008 中禁用数据执行保护?

如何在Windows Server 2003系统中配置IIS服务器