เครื่องมือใหม่ที่เรียกว่า CSMWrap สัญญาว่าจะฟื้นฟูฟังก์ชัน legacy BIOS บนระบบ UEFI-only สมัยใหม่ แต่การอพิพากษ์ในชุมชนกลับหันไปสู่ทิศทางที่ไม่คาดคิดเกี่ยวกับความอดทนของ Microsoft ต่อการรั่วไหลของ source code ของ Windows บน GitHub โปรเจกต์นี้ใช้คอมโพเนนต์ของ SeaBIOS เพื่อสร้าง compatibility layer ที่สามารถบูตระบบปฏิบัติการเก่าอย่าง FreeDOS, Windows XP และ Windows 7 บนฮาร์ดแวร์ที่รองรับเฉพาะ UEFI
ความสามารถปัจจุบันของ CSMWrap :
- สามารถบูต FreeDOS , Windows XP และ Windows 7 ใน QEMU (เครื่อง q35 และ piix4)
- ทำงานได้บนฮาร์ดแวร์จริงบางรุ่นโดยมีอัตราความสำเร็จที่แตกต่างกัน
- ต้องปิดการใช้งาน Secure Boot และ Above 4G Decoding
ปริศนา Source Code ของ Microsoft กลายเป็นจุดสนใจหลัก
สิ่งที่เริ่มต้นเป็นการอภิปรายทางเทคนิคเกี่ยวกับ CSMWrap ได้เปลี่ยนไปอย่างรวดเร็วเมื่อผู้ใช้สังเกตเห็นลิงก์ไปยัง source code ของ Windows XP ที่รั่วไหลและถูกโฮสต์บน GitHub ชุมชนรู้สึกงงงวยกับทัศนคติที่ดูเหมือนจะผ่อนคลายของ Microsoft ต่อการรั่วไหลเหล่านี้ โดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่าบริษัทเป็นเจ้าของ GitHub ผู้ใช้บางคนคาดเดาว่าสิ่งนี้อาจเป็นการตั้งใจ เนื่องจากโมเดลธุรกิจของ Microsoft ได้เปลี่ยนไปสู่บริการคลาวด์มากกว่ารายได้จากการขายใบอนุญาต Windows
โค้ดที่รั่วไหลดูเหมือนจะมาจากโปรแกรม Shared Source Initiative เก่าของ Microsoft ที่รัฐบาลและสถาบันการศึกษาได้รับการเข้าถึง source code ของ Windows การรั่วไหลเหล่านี้ได้สร้างสถานการณ์ทางกฎหมายที่น่าสนใจ ซึ่งนักพัฒนาที่ดูโค้ดอาจกลายเป็น mentally contaminated และไม่มีสิทธิ์ในการมีส่วนร่วมในโปรเจกต์อย่าง Wine หรือ ReactOS
ที่แปลกยิ่งกว่านั้นคือ GitHub โฮสต์เครื่องมือทั้งหมดสำหรับการเปิดใช้งาน (เช่น การแคร็ก) Windows และ Office เวอร์ชันใหม่ด้วย Microsoft ไม่สนใจจริงๆ
ความท้าทายทางเทคนิคและปัญหาความเข้ากันได้ของฮาร์ดแวร์
CSMWrap เผชิญกับอุปสรรคสำคัญหลายประการในการนำการรองรับ legacy BIOS มาสู่ระบบสมัยใหม่ เครื่องมือนี้ต้องการให้ผู้ใช้ปิดใช้งาน Above 4G Decoding ในการตั้งค่า BIOS เนื่องจาก firmware ของ UEFI มักจะวางหน่วยความจำของการ์ดกราฟิกไว้เหนือขีดจำกัด 4GB ที่ระบบ legacy 32-bit สามารถเข้าถึงได้ ข้อจำกัดนี้สะท้อนถึงความแตกต่างพื้นฐานระหว่างสถาปัตยกรรมฮาร์ดแวร์สมัยใหม่และ legacy
โปรเจกต์ยังต่อสู้กับการปลดล็อก legacy region โดยอาศัยโปรโตคอล UEFI เฉพาะที่ไม่มีอยู่ในทุกระบบ เมื่อโปรโตคอลเหล่านี้หายไป CSMWrap จะพยายามใช้ chipset registers โดยตรง แต่ความสำเร็จไม่ได้รับการรับรอง การตั้งค่าโหมดวิดีโอเป็นความท้าทายอีกประการหนึ่ง โดย Windows XP และ 7 บางครั้งพยายามใช้โหมดการแสดงผลที่เข้ากันไม่ได้ ส่งผลให้เกิดการกะพริบของหน้าจอหรือหน้าจอดับสนิท
Legacy region: พื้นที่หน่วยความจำเฉพาะ (0xC0000-0xFFFFF) ที่ใช้โดย BIOS และไดรเวอร์ฮาร์ดแวร์ในระบบ PC รุ่นเก่า
ข้อจำกัดที่ทราบแล้ว:
- เกือบจะต้องปิดการใช้งาน Above 4G Decoding
- ต้องพึ่งพา EFI_LEGACY_REGION2_PROTOCOL (ไม่สามารถใช้ได้ในทุกระบบ)
- การตั้งค่าโหมดวิดีโอของ Windows XP/7 อาจทำให้เกิดการกะพริบหรือหน้าจอดำ
- GPU รุ่นใหม่ที่ไม่มี VBIOS มาตรฐานอาจไม่สามารถทำงานร่วมกับ VGA BIOS ทั่วไปได้
บริบทที่กว้างขึ้นของการรองรับระบบ Legacy
การอภิปรายในชุมชนเผยให้เห็นความปรารถนาอย่างแรงกล้าสำหรับเครื่องมือที่สามารถรันระบบปฏิบัติการเก่าบนฮาร์ดแวร์สมัยใหม่ นอกจากความคิดถึงแล้ว ยังมีการใช้งานในทางปฏิบัติรวมถึงวัตถุประสงค์ทางการศึกษา การรันซอฟต์แวร์อุตสาหกรรม legacy และการบำรุงรักษาระบบเก่าที่ยังคงทำหน้าที่สำคัญ ผู้ใช้บางคนแสดงความสนใจเป็นพิเศษในการรองรับ FreeDOS เนื่องจากหลายคนคิดว่ามันจะไม่สามารถรันบน bare metal ฮาร์ดแวร์สมัยใหม่อีกต่อไป
อย่างไรก็ตาม การสนทนายังเน้นย้ำว่าความเข้ากันได้ของฮาร์ดแวร์ขยายไปไกลกว่าการจำลอง BIOS เท่านั้น ระบบสมัยใหม่ขาดอินเทอร์เฟซหลายอย่างที่ระบบปฏิบัติการเก่าคาดหวัง และแม้จะมี CSMWrap ผู้ใช้อาจพบปัญหาไดรเวอร์และปัญหาความเข้ากันได้ของอุปกรณ์ต่อพ่วงที่จำกัดประโยชน์ในทางปฏิบัติของการติดตั้งระบบปฏิบัติการ legacy
โปรเจกต์นี้แสดงถึงความสำเร็จทางเทคนิคที่น่าประทับใจ แต่ความหลงใหลของชุมชนกับ source code ที่รั่วไหลของ Microsoft บ่งบอกว่าบางครั้งการอภิปรายที่น่าสนใจที่สุดเกิดขึ้นในขอบของหัวข้อเดิม ว่า CSMWrap จะได้รับการยอมรับอย่างแพร่หลายหรือไม่ยังคงต้องติดตาม แต่มันแสดงให้เห็นถึงความต้องการอย่างต่อเนื่องในการเชื่อมช่องว่างระหว่างกระบวนทัศน์การคำนวณเก่าและใหม่
อ้างอิง: CSMWrap