أدوات تقنية

تشغيل Windows 9x داخل Linux: مشروع WSL9x المفيد

في عالم أنظمة التشغيل، قد يبدو دمج Windows وLinux أمرًا غير تقليدي، ولكن مشروع WSL9x يفتح آفاقًا جديدة.

تشغيل Windows 9x داخل Linux: مشروع WSL9x

قد يبدو أن Windows وLinux مثل الزيت والماء في البداية، وقد يبدو دمجهما مزيجًا غير مقدس. ومع ذلك، كانت هناك دائمًا محاولات (بعضها، مثل Wine، كانت ناجحة للغاية) لسد الفجوة بين النظامين. لدينا مشاريع مثل Wine لنظام Linux، وبالطبع، نظام Windows الفرعي لـ Linux (WSL). كلا المشروعين يحاولان تشغيل برامج من النظام الآخر في بيئة منفصلة، مع وجود طبقات توافق.

بالنظر إلى المشاريع الأكثر جنونًا، قام المطور هاييلي بإنشاء WSL9x، وهو مشروع يجلب نظامًا فرعيًا مشابهًا لـ WSL إلى Windows 9x.

كيفية تشغيله

ليس بالأمر السهل على الإطلاق

حسب مستودع Codeberg الرسمي، الأمر يعد نوعًا من المتاعب. يتكون WSL9x من ثلاثة أجزاء منفصلة:

  • برنامج تشغيل VxD يساعد في تهيئة WSL9x
  • نواة Linux معدلة
  • ملف wsl.com للعميل

يتطلب تشغيلها معًا العديد من التبعيات، بما في ذلك أدوات تطوير النواة المعتادة ورؤوس Linux. للبدء، قم باستنساخ المستودع إلى دليل محلي.

قبل الانتقال إلى الدليل، قم باستنساخ وتثبيت i386-linux-musl من مستودع musl-cross-make على GitHub. بعد بنائه، ستحتاج إلى تصدير PATH إلى نفس المجلد. هذه الخطوة إلزامية؛ بدونها، لن يتم تجميعه. ستحتاج أيضًا إلى Open Watcom V2.

قد لا يكون المشروع قد أوضح ذلك، ولكنك تحتاج إلى ملف Busybox 1.36.1 ثنائي في مجلد bin. انسخ المصدر، وابنِ البرنامج، وانسخه إلى /wsl9x/bin/. بدون هذه الثنائيات، لن يعمل البرنامج. Fastfetch مدرج أيضًا كاعتماد، ولكن يمكنك دائمًا التعليق عليه داخل ملف win9x_cpio_list تحت /wsl9x/linux/ لتجميعه. تأكد من إجراء أي تغييرات ذات صلة على نفس الملف عند تعديل هذه التبعيات.

بعد ذلك، كان علي بناء نواة Linux المعدلة. قمت بتعيين متغير البيئة WATCOM، وأجريت الأمر الثاني المحدد في المستودع.

لم أتمكن من استنساخ مستودع Linux. إذا واجهت نفس المشكلة، فكر في تنزيله كملف .zip من GitHub واستخراجه. انسخ محتويات المجلد إلى مجلد Linux، ويجب أن تكون جاهزًا للانطلاق من هنا.

قد تحتاج إلى إنشاء تكوين قبل أن تتمكن من التجميع فعليًا. تستغرق هذه الخطوة بعض الوقت لإكمالها، لذا كن صبورًا.

بمجرد الانتهاء، ستحتاج إلى استيراد ملف صورة Windows 9x (في هذه الحالة، استخدمت Windows 98) بعنوان hdd.base.img. بمعنى آخر، احصل على ISO لـ Windows 9x وقم بإجراء تثبيت كامل على القرص الصلب الافتراضي. بمجرد الانتهاء، قم بإيقاف تشغيل VM تمامًا.

انسخه إلى دليل WSL9x، وشغل make مع تعيين متغيرات البيئة المناسبة. بافتراض أن كل شيء تم إعداده بشكل صحيح، يجب أن ترى ملف hdd.img مع WSL9x جاهزًا للعمل في أي وقت.

مع اكتمال الصورة، أصبح من الممكن الآن التمهيد إلى Windows 9x باستخدام شيء مثل Bochs. بمجرد تسجيل الدخول، كان علي تشغيل موجه MS-DOS تحت البرامج في قائمة البداية.

عند كتابة wsl، ضغطت على مفتاح Enter و voilà! كان لدي نظام فرعي لـ Linux يعمل داخل Windows 98، داخل VM داخل Linux. يمكنك التحقق من التثبيت بكتابة uname -a، والذي يجب أن يظهر إصدار نواة Linux.

يمكنك أيضًا استخدام QEMU، ولكن العملية أكثر تعقيدًا. يأتي QEMU مع ميزة التسريع، مما يجعل التثبيت أكثر قابلية للاستخدام.

ما الذي يعمل؟

أكثر من كونه إثبات مفهوم

بشكل غير مفاجئ، لا يعمل الكثير. إن حقيقة أنه يعمل على الإطلاق هي إنجاز ضخم في حد ذاته. حتى الآن، يبدو أن نواة Linux تعمل بشكل جيد داخل Windows 9x، إلى حد كبير.

مثل WSL الحديث، يهدف WSL9x إلى السماح بتعايش أحمال العمل من Windows 9x وLinux دون إعادة التشغيل. إنه أكثر إثارة للإعجاب عندما تأخذ في الاعتبار أن المشروع بأكمله كتب دون استخدام أدوات الذكاء الاصطناعي.

تمكنت من تشغيل بعض الأوامر الأساسية مثل ls و/dev، ولكن لم يكن هناك مدير حزم مثبت. بمعنى آخر، ليس من الممكن تثبيت حزمة Linux مباشرة على WSL9x.

بينما يظهر مستودع Codeberg الرسمي fastfetch، لم أتمكن من جعله يعمل على تثبيتي – فهو في النهاية تثبيت صعب للغاية. كما هو الحال الآن، المشروع في حالة إثبات مفهوم، وقد وصفه هاييلي بأنه أحد أعظم الاختراقات التي قام بها، وأشعر أنني أميل إلى الاتفاق (حتى لو كان وصف هذا بأنه اختراق يبدو غير دقيق).

الآثار المستقبلية

مشروع ممتع، ولكنه قد يكون مفيدًا حقًا

لأكون صادقًا تمامًا، لا توجد الكثير من الاستخدامات. قد تسأل، إذن لماذا؟ وأجيب، لماذا لا؟ جزء من المتعة في جعل مثل هذه المشاريع المستحيلة تعمل هو الاستمتاع بها، ويمكن أن يكون العبث هواية مدمنة.

أيضًا، نظرًا لأن دعم 486 من المقرر أن يتم إزالته قريبًا من Linux، قد يكون هذا المشروع هو الإجابة المثالية لتشغيل بعض البرامج القديمة. مع WSL9x، يمكنك، من الناحية النظرية، تجميع البرامج الحديثة محليًا وجعلها تعمل بشكل جيد في Windows 9x.

ومع ذلك، نظرًا لأن المشروع جديد حقًا، قد يستغرق الأمر بعض الوقت قبل أن نرى أي نتائج ذات مغزى.

مثير للإعجاب للغاية

WSL9x هو نوع من عرض القوة للمبرمجين. بينما الاستخدامات العملية له تقريبًا نظرية في هذه المرحلة، لا يغير ذلك حقيقة أن هذا لا يزال مشروعًا مثيرًا للإعجاب في حد ذاته، خاصةً أنه يستخدم نواة Linux حقيقية (وحديثة!).

بينما لا تزال الاستخدامات العملية لـ WSL9x في مرحلة التطوير، فإن الإمكانيات المستقبلية لهذا المشروع مثيرة للاهتمام.

مقالات ذات صلة

زر الذهاب إلى الأعلى