一個名為 CSMWrap 的新工具承諾在僅支援 UEFI 的現代系統上恢復傳統 BIOS 功能,但社群討論卻意外轉向了 Microsoft 對 GitHub 上 Windows 原始碼洩露的明顯容忍態度。該專案使用 SeaBIOS 元件建立相容層,可以在僅支援 UEFI 的硬體上啟動較舊的作業系統,如 FreeDOS、Windows XP 和 Windows 7。
CSMWrap 當前功能:
- 在 QEMU 中啟動 FreeDOS 、 Windows XP 和 Windows 7 (支援 q35 和 piix4 機器型別)
- 在部分真實硬體上執行,成功率各有不同
- 需要停用安全啟動和 Above 4G Decoding 功能
Microsoft 原始碼之謎成為焦點
最初關於 CSMWrap 的技術討論很快轉向了另一個話題,當用戶注意到 GitHub 上託管的洩露 Windows XP 原始碼連結時。社群對 Microsoft 對這些洩露看似寬鬆的態度感到困惑,特別是考慮到該公司擁有 GitHub。一些使用者推測這可能是有意為之,因為 Microsoft 的商業模式已經轉向雲服務,而不是 Windows 許可收入。
洩露的程式碼似乎來源於 Microsoft 舊的共享原始碼倡議計劃,政府和學術機構透過該計劃獲得了 Windows 原始碼的訪問許可權。這些洩露創造了一個有趣的法律情況,檢視程式碼的開發者可能會受到心理汙染,從而失去為 Wine 或 ReactOS 等專案貢獻程式碼的資格。
「更奇怪的是,GitHub 還託管了啟用(即破解)現代版本 Windows 和 Office 的所有工具。Microsoft 真的不在乎。」
技術挑戰和硬體相容性問題
CSMWrap 在為現代系統帶來傳統 BIOS 支援方面面臨幾個重大障礙。該工具要求使用者在 BIOS 設定中停用 Above 4G Decoding,因為 UEFI 韌體通常將顯示卡記憶體放置在 32 位傳統系統可訪問的 4GB 限制之上。這一限制反映了現代和傳統硬體架構之間的根本差異。
該專案還在傳統區域解鎖方面遇到困難,依賴於並非所有系統都可用的特定 UEFI 協議。當這些協議缺失時,CSMWrap 嘗試直接使用晶片組暫存器,但成功並不能保證。影片模式設定帶來了另一個挑戰,Windows XP 和 7 有時會嘗試不相容的顯示模式,導致螢幕閃爍或完全黑屏。
傳統區域:在較舊的 PC 系統中傳統上由 BIOS 和硬體驅動程式使用的特定記憶體區域(0xC0000-0xFFFFF)。
已知限制:
- 幾乎需要停用 Above 4G Decoding 功能
- 依賴於 EFI_LEGACY_REGION2_PROTOCOL(並非所有系統都支援)
- Windows XP/7 影片模式設定可能導致閃爍或黑屏
- 沒有標準 VBIOS 的現代 GPU 可能無法與通用 VGA BIOS 相容
傳統系統支援的更廣泛背景
社群討論揭示了對能夠在現代硬體上執行較舊作業系統的工具的強烈需求。除了懷舊情懷外,還有實際應用,包括教育目的、執行傳統工業軟體以及維護仍然發揮重要功能的較舊系統。一些使用者對 FreeDOS 支援表現出特別的興趣,因為許多人曾認為它永遠不會再在現代硬體上裸機執行。
然而,討論也強調了硬體相容性不僅僅侷限於 BIOS 模擬。現代系統缺乏許多較舊作業系統期望的介面,即使有了 CSMWrap,使用者也可能遇到驅動程式問題和外圍裝置相容性問題,這些問題限制了傳統作業系統安裝的實用性。
該專案代表了一項令人印象深刻的技術成就,但社群對 Microsoft 洩露原始碼的迷戀表明,有時最有趣的討論發生在原始話題的邊緣。CSMWrap 是否會被廣泛採用還有待觀察,但它確實證明了對彌合新舊計算正規化之間差距的持續需求。
參考:CSMWrap