溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

關(guān)于CPU的的NX/XD標(biāo)志解析

發(fā)布時(shí)間:2020-07-21 12:39:47 來(lái)源:網(wǎng)絡(luò) 閱讀:17925 作者:xjsunjie 欄目:移動(dòng)開(kāi)發(fā)

  

     一位朋友問(wèn)“在PC或筆記本上,開(kāi)啟了CPU虛擬化。然后安裝了一個(gè)VMware虛擬機(jī),操作系統(tǒng)是Windows 2008 R2 DataCenter版本,VMware中設(shè)置虛擬化引擎為:Intel VT-x/EPT or AMD -v/RVI.啟動(dòng)虛擬機(jī)后,無(wú)法創(chuàng)建HYper-v角色, 提示CPU與Hyper-v不兼容,不知道為什么?”

     還有一位朋友“在安裝Win8 PR時(shí),發(fā)現(xiàn)在安裝過(guò)程中竟然出現(xiàn)CPU不兼容的問(wèn)題,明明已經(jīng)超越了最低1GHz的頻率,四核以及六核CPU都有遭遇過(guò)這個(gè)問(wèn)題,這又是為什么?

      關(guān)于CPU的的NX/XD標(biāo)志解析

     以上兩個(gè)問(wèn)題,細(xì)究起來(lái)都跟CPU的的NX/XD標(biāo)志設(shè)置有關(guān)。NX位(全名“No eXecute bit”,即“禁止執(zhí)行位”),是應(yīng)用在CPU中的一種安全技術(shù)。在功能上,AMD的“NX”和Intel的“XD”完全相同,只是名稱不同。

      原理解析:支持NX技術(shù)的系統(tǒng)會(huì)把內(nèi)存中的區(qū)域分類為只供存儲(chǔ)處理器指令集與只供存儲(chǔ)數(shù)據(jù)使用的兩種。任何標(biāo)記了NX位的區(qū)塊代表僅供存儲(chǔ)數(shù)據(jù)使用而不是存儲(chǔ)處理器的指令集,處理器將不會(huì)將此處的數(shù)據(jù)作為代碼執(zhí)行,以此這種技術(shù)可防止大多數(shù)的緩存溢出式***(即一些惡意程序把自身的惡意指令集通過(guò)特殊手段放在其他程序的存儲(chǔ)區(qū)并被執(zhí)行,從而***甚至控制整臺(tái)電腦系統(tǒng))。這樣就要求我們的CPU具備一定的安全功能,比如要支持SSE2、PAE以及NX指令,否則就會(huì)出現(xiàn)兼容性提示。


      那么遇到這個(gè)問(wèn)題該如何修改?

 一、如果是物理機(jī),需要修改BIOS

按F2進(jìn)入BIOS,找到如下選項(xiàng),修改為ENABLED

關(guān)于CPU的的NX/XD標(biāo)志解析

然后保存退出


二、如果是虛機(jī),需要打開(kāi)這個(gè)標(biāo)識(shí)。

在虛擬機(jī)屬性中,選擇“向客戶機(jī)公開(kāi)NX/XD標(biāo)識(shí)”

關(guān)于CPU的的NX/XD標(biāo)志解析


三、WINDOWS不兼容的問(wèn)題解決

    NX功能在很多主板中往往是默認(rèn)禁用的,需要用戶手動(dòng)開(kāi)啟,萬(wàn)一BIOS中不能開(kāi)啟這個(gè)功能還必須嘗試升級(jí)BIOS。

  不過(guò)也不用擔(dān)心,NX檢測(cè)只會(huì)存在于全新安裝和升級(jí)向?qū)е?,Win8或windows 2008 R2的安裝文件中還有替代方法可以裝在不支持這項(xiàng)指令的機(jī)器上,比如使用光盤啟動(dòng)或者通過(guò)網(wǎng)絡(luò)安裝。

  微軟檢測(cè)CPU的安全技術(shù)主要是為了防止間諜軟件***,一旦用戶遇到兼容性提示首先要查看一下BIOS設(shè)置啟用相關(guān)指令支持,或者換用無(wú)硬件檢測(cè)的安裝方式避免這個(gè)問(wèn)題。


補(bǔ)充知識(shí):

類似的技術(shù)其實(shí)早已應(yīng)用在SPARC、DEC Alpha、IBM的PowerPC、甚至是英特爾的IA-64架構(gòu)處理器Itanium上;但“NX”這個(gè)名稱最先在AMD的Athlon 64、Opteron等支持AMD64的處理器上使用,并成為這些技術(shù)的代名詞。

在x86處理器的頁(yè)表索引中,NX位置于63號(hào)的位置(以0作第一位),即64位中的最后一位。如果NX位的數(shù)值是0(關(guān)閉),在頁(yè)表內(nèi)的指令集可正常執(zhí)行;但如果是1(啟動(dòng))的話則不能執(zhí)行頁(yè)表的指令集,并會(huì)把頁(yè)表的一切皆當(dāng)作數(shù)據(jù)。在格式上,頁(yè)表需為PAE格式,而非x86傳統(tǒng)的格式。

2001年,英特爾在自家的Itanium處理器加入這種技術(shù),但未有在Pentium、Celeron、Xeon等x86處理器上使用。在AMD把NX應(yīng)用在AMD64之后,英特爾也為Prescott版本的Pentium 4處理器加入類似技術(shù),并以“XD”(eXecute Disable)的名義推出市場(chǎng)。在功能上,AMD的“NX”和Intel的“XD”完全相同,只是名稱不同。


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI