現在預裝 Win8 的電腦大多是采用新版 UEFI 固件 + GPT 格式磁盤,不再像以前的 BIOS + MBR。采用 UEFI 和 GPT 的好處多多,例如可實現安全啟動等更多新特性,和支持更多的硬盤分區、更大的分區容量。
像戴爾等品牌筆記本會有一些系統啟動前就可以運行的診斷工具,其實這些工具往往是存放在硬盤的一個隱藏的OEM分區裡的。如果自行重裝系統時不小心將其刪除,那麼即便從別處拷貝到了其中的程序文件,又該怎麼恢復分區的 OEM 隱藏屬性呢?
對於 MBR 格式的硬盤,通過百度搜素,我們就可以得到其解決方法;而對於 GPT 格式的硬盤,網絡上尚未出現有效的解決方案,在下文中,我將揭秘如何對 GPT 硬盤應用 OEM 分區屬性。
先來快速回顧一下如何在 MBR 磁盤上設置 OEM 分區吧:在 Diskpart 命令中,對選中的分區執行"create partition primary id=xx size=xx"即可,其中 id 標識了 OEM 廠商,例如 id=DE 就是向 Windows 聲明它是戴爾的 OEM 分區。關於更多的廠商代碼說明,可以執行命令"help create par pri"來了解:
那麼對於 GPT 格式的磁盤呢?
上面那條命令當然不再適用了。是不是像網上說的那樣,只能用 OEM 送的一些"一鍵恢復"軟件徹底格式化並還原磁盤分區,或者用 Ghost 重載以前的硬盤備份才能設置了呢?國外的論壇的一些回答也指明了得聯系 OEM 去恢復。其實答案是我們自己也可以設置,而且一樣是用 Diskpart 這個系統自帶的工具,只不過它很容易被大家忽略了。
新版的 Diskpart 裡面有一個命令是"gpt"。利用這個命令和對應的分區屬性代碼,就可以輕松設置其屬性。例如我們需要設置 OEM 分區屬性,讓 Windows 自動隱藏該分區,那麼我們可以在創建一個主分區 (create par pri size=xxx) 之後,執行"Gpt attributes=0x0000000000000001"即可將其設置為 OEM 分區。
這裡的 0x0000000000000001是啥意思呢?我們可以通過執行"help gpt"來查看:
這裡,除了利用0x0000000000000001屬性將某個主分區設置為 OEM 分區外,我們還可以通過其他代碼對分區應用其他屬性:
64位的ID 效果
0x0000000000000001將該分區標記為必需分區 / 設置 OEM
0x8000000000000000設置為默認不為其分配盤符
0x4000000000000000隱藏卷上分區(掛載管理器將檢測不到)
0x2000000000000000申明分區為另一分區的卷影副本
0x1000000000000000設置為只讀以阻止數據寫入
要取消某個已應用的屬性,只需在 gpt <64位屬性ID> 這條命令中的屬性ID前加一個減號"-"。不排除微軟在下個版本的 Windows 中,會添加更多針對 GPT 磁盤的新屬性。