
قم بتشغيل حاويات Windows جديدة بسرعة وسهولة وأمان على Qubes OS
قم بتشغيل qubes جديدة لنظام Windows بسرعة وسهولة وأمان
Qvm-Create-Windows-Qube هي أداة لتثبيت qubes جديدة لنظام Windows بسرعة وملاءمة مع برامج تشغيل Qubes Windows Tools (QWT) تلقائيًا. تدعم رسميًا Windows 7 و 8.1 و 10 بالإضافة إلى Windows Server 2008 R2 و 2012 R2 و 2016 و 2019.
يؤكد المشروع على الصحة والأمان ومعاملة Windows كنظام تشغيل ضيف غير موثوق به طوال العملية بأكملها. يتم التثبيت بنسبة 100% معزول عن الشبكة ويتضمن تكامل Whonix اختياري على qube النهائي لنظام Windows لمزيد من الخصوصية. تحقيق هذه الأهداف بأقل عدد ممكن من سطور الكود لضمان البساطة والاختزال هو المفتاح.
كما يتضمن ميزات أخرى مثل التثبيت التلقائي للحزم بما في ذلك Firefox و Office 365 و Notepad++ و Visual Studio والمزيد باستخدام Chocolatey لمساعدتك على البدء بسرعة في بيئتك الجديدة.
كما ظهر في: Hacker News | بفخر، تم تصنيفه ضمن أفضل 10 على الصفحة الأولى لـ Hacker News وكذلك المركز الأول لـ Show HN
install.sh إلى Dom0 عن طريق تشغيل الأمر التالي في Dom0:
qvm-run -p --filter-escape-chars --no-color-output <name_of_qube_script_is_located_on> "cat '/home/user/Downloads/install.sh'" > install.shinstall.sh للتأكد من سلامته
qvm-run بتعطيلها افتراضيًا عندما يكون الإخراج ملفًاchmod +x install.sh && ./install.sh
TemplateVM الافتراضي العام، وهو fedora-XX افتراضيًا/usr/bin/qvm-create-windows-qubeلتحديث Qvm-Create-Windows-Qube، ابدأ ببساطة بحذف VM windows-mgmt والبرنامج الرئيسي عن طريق تشغيل الأمر التالي في Dom0:
qvm-remove -f windows-mgmt && sudo rm /usr/bin/qvm-create-windows-qube
أخيرًا، اتبع خطوات التثبيت أعلاه لإعادة التثبيت.
لاحظ أن هذا سيحذف أيضًا أي ملفات ISO الخاصة بـ Windows التي تم تنزيلها بالفعل. قد يكون هذا مرغوبًا في حال قامت Microsoft بتحديث ملفات ISO الخاصة بـ Windows (مما يعني أنه يجب عليك إعادة تنزيلها على أي حال). ومع ذلك، إذا كنت ترغب في تجنب تنزيل أي من ملفات ISO الخاصة بـ Windows مرة أخرى، فما عليك سوى الانتقال إلى /home/user/qvm-create-windows-qube/windows/isos في VM windows-mgmt ونسخ محتوياته إلى qube آخر (يفضل أن يكون disposable). بعد اكتمال إعادة التثبيت، قم بنسخ ملفات ISO تلك مرة أخرى إلى windows-mgmt في الدليل المذكور.
Usage: qvm-create-windows-qube [options] -i -a -h, --help -c, --count Number of Windows qubes with given basename desired -t, --template Make this qube a TemplateVM instead of a StandaloneVM -n, --netvm NetVM for Windows to use -s, --seamless Enable seamless mode persistently across reboots -o, --optimize Optimize Windows by disabling unnecessary functionality for a qube -y, --spyless Configure Windows telemetry settings to respect privacy -w, --whonix Apply Whonix recommended settings for a Windows-Whonix-Workstation -p, --packages Comma-separated list of packages to pre-install (see available packages at: https://chocolatey.org/packages) -P, --pool LVM storage pool to install Windows on (https://www.qubes-os.org/doc/secondary-storage/) -i, --iso Windows media to automatically install and setup -a, --answer-file Settings for Windows installation
### تنزيل ISO ويندوز
Mido (`mido.sh`) هو أداة تنزيل ويندوز آمنة من مايكروسوفت (لـ Unix)، مستوحى من [Fido](https://github.com/pbatard/Fido) من [Rufus](https://github.com/pbatard/rufus). وهي قادرة على أتمتة عملية تنزيل عدد من صور ISO لويندوز التي تخفيها مايكروسوفت خلف [واجهة ويب مقيدة](https://www.microsoft.com/en-us/software-download/windows10ISO). Mido قوي ويقوم بتنزيل صور ISO لويندوز بشكل آمن لاستخدامها من قبل Qvm-Create-Windows-Qube من خوادم مايكروسوفت الرسمية. يمكنك العثور عليه في المسار `/home/user/qvm-create-windows-qube/windows/isos/mido.sh` داخل `windows-mgmt`.
`windows-mgmt` معزولة هوائياً عن الشبكة. هذا يعني أنه لأداء التنزيل بشكل آمن، يجب نسخ السكريبت `mido.sh` إلى كوب آخر (قابل للتخلص) ثم نقل صور ISO التي تم تنزيلها حديثاً إلى `windows-mgmt` ووضعها في الدليل `/home/user/qvm-create-windows-qube/windows/isos`. بدلاً من ذلك، يمكن منح `windows-mgmt` وصولاً مؤقتاً إلى الشبكة، ولكن هذا غير موصى به لأسباب أمنية.
بمجرد إنشائها، يتم تخزين صور ISO لويندوز في الذاكرة المؤقتة (cache) في `/home/user/qvm-create-windows-qube/windows/out` للاستخدام لاحقاً. إذا قمت بتنزيل ISO محدثة باستخدام Mido، فتأكد من إزالة نفس ISO من دليل الذاكرة المؤقتة المذكور. سيؤدي ذلك إلى إعادة إنشاء الذاكرة المؤقتة من ISO المحدثة.
للقراء المتقدمين: يأخذ Qvm-Create-Windows-Qube نهجاً عاماً للتعامل مع صور ISO يمكن أن يعمل مع أي ISO لويندوز معطى. إذا كان لديك ISO لويندوز خاص بك ترغب في استخدامه، فمن المحتمل أن تحتاج فقط إلى تعديل طفيف جداً في ملف الإجابة الأقرب مطابقة (وهو المفتاح `/IMAGE/NAME`) ليعمل. يمكنك الحصول على قيم `/IMAGE/NAME` الصالحة لـ ISO الخاص بك عن طريق تحليل ملف `install.wim` داخله باستخدام الأمر `wiminfo` (مُعبأ كـ `wimlib-utils` على فيدورا أو `wimtools` على دبيان) أو من داخل ويندوز باستخدام Windows ADK.
### إنشاء VM ويندوز
**مهم:** تأكد من قراءة قسم [المشكلات المعروفة لأدوات ويندوز Qubes](https://github.com/ElliotKillick/qvm-create-windows-qube#qubes-windows-tools-known-issues) أدناه لمعرفة مشكلة صغيرة من المنبع.
#### ويندوز 10
*[عرض فيديو](https://www.youtube.com/watch?v=cCi2MOUwS_Q)*
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64.iso -a win10x64-pro.xml work-win10`
`qvm-create-windows-qube -n sys-firewall -oyp steam -i win10x64.iso -a win10x64-pro.xml game-console`
#### ويندوز سيرفر 2019
`qvm-create-windows-qube -n sys-firewall -oy -i win2019-eval.iso -a win2019-datacenter-eval.xml fs-win2019`
#### ويندوز 10 إنتيربرايز LTSC
- نسخة أكثر استقراراً ومصغرة وآمنة وخاصة من ويندوز 10 مقدمة رسمياً من مايكروسوفت
- يُوصى بهذه النسخة من ويندوز 10 لمن يحتاجون أفضل ما في أمان وخصوصية ويندوز
`qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml work-win10`
`qvm-create-windows-qube -n sys-whonix -oyw -i win10x64-enterprise-ltsc-eval.iso -a win10x64-enterprise-ltsc-eval.xml anon-win10`
#### ويندوز 7
- غير موصى به لأن ويندوز 7 [لم يعد مدعوماً](https://github.com/ElliotKillick/qvm-create-windows-qube#advisories) من مايكروسوفت، ومع ذلك، فهو نظام التشغيل السطحي الوحيد الذي يدعمه مشغل GUI في Qubes (في أدوات ويندوز Qubes) إذا كانت الحاجة إلى تكامل النوافذ السلس أو تغيير الحجم الديناميكي.
*[عرض فيديو](https://www.youtube.com/watch?v=duUM1VLrXIQ)*
`qvm-create-windows-qube -n sys-firewall -soyp firefox,notepadplusplus,office365proplus -i win7x64-ultimate.iso -a win7x64-ultimate.xml work-win7`
## الأمان
Qvm-Create-Windows-Qube هو "آمن بشكل معقول" كما تريد [Qubes](https://www.qubes-os.org).
- `windows-mgmt` معزولة هوائياً
- عملية إعداد كوب ويندوز بالكامل تتم معزولة هوائياً
- استثناء: إذا (وفقط إذا) تم تكوين حزم للتثبيت، فسيتم السماح لويندوز بالوصول إلى الإنترنت في نهاية تثبيت كوب ويندوز
- تم القضاء على فئة كاملة من ثغرات حقن الأوامر في سكريبت Dom0 shell بعدم السماح له بتحليل أي مخرجات من كوب `windows-mgmt` غير الموثوق
- يتم تمرير رموز الخروج فقط بواسطة `qvm-run`؛ لا متغيرات
- كما يخفف ذلك من تداعيات ثغرة Bash أخرى مثل [Shellshock](https://en.wikipedia.org/wiki/Shellshock_(software_bug))
- تنزيل صور ISO لويندوز أصبح آمناً من خلال فرض:
- يتم تنزيل صور ISO مباشرة من نطاقات فرعية تتحكم بها مايكروسوفت من `microsoft.com`
- HTTPS TLS 1.2/1.3
- التحقق من SHA-256 للملفات بعد التنزيل
- يتم حفظ كل ملف بالملحق `.UNVERIFIED` حتى يتم التأكد من تطابق المجموع الاختباري
- Mido مكتوب بقوة بلغة POSIX sh (سيتم استخدام قشرة Dash الأصغر إن وجدت) لجعل التفاعل مع واجهة ويب التنزيل المقيدة من مايكروسوفت أكثر أماناً
- لمزيد من الأمان، يمكن تشغيله حتى في قشرة POSIX متوافقة مع Rust (مثل nsh) مع coreutils بلغة Rust (مثل uutils). هذا ليس التكوين الافتراضي.
- يتم التعامل مع ويندوز كنظام تشغيل ضيف غير موثوق طوال الطريق
- تأثير أي ثغرات نظرية في التعامل مع ISO ويندوز (مثل ثغرة في تحليل نظام الملفات) أو ملف الإجابة يقتصر على `windows-mgmt`
- جميع الالتزامات (commits) من قبل المشرفين موقعة دائماً بمفاتيح PGP الخاصة بهم
- إذا توقف التوقيع، افترض الاختراق
- المشرف الحالي 1: [Elliot Killick](https://github.com/ElliotKillick)
- مفتاح PGP ([مفتاح فرعي لتوقيع الكود](https://keys.openpgp.org/search?q=EEEE+6403+CE85+0791+ECB1+F820+7C4E+CB25+B6B1+C0DE)): EEEE 6403 CE85 0791 ECB1 F820 7C4E CB25 B6B1 C0DE
- البريد الإلكتروني: [[email protected]](https://keys.openpgp.org/search?q=contact%40elliotkillick.com)
- هذا المفتاح جديد اعتباراً من 28 مايو 2024
- المشرف الحالي 2: [Frédéric Pierret](https://github.com/fepitre)
- مفتاح PGP: 9FA6 4B92 F95E 706B F28E 2CA6 4840 10B5 CDC5 76E2
- البريد الإلكتروني: [[email protected]](https://keys.openpgp.org/search?q=frederic.pierret%40qubes-os.org)
- يهتم بشكل أساسي بدعم Qubes R4.1
- انظر الفرع `release4.1` و [qubes-mgmt-salt-windows-mgmt](https://github.com/fepitre/qubes-mgmt-salt-windows-mgmt)
### ويندوز
#### الصيانة
لا تنس تطبيق أي تحديثات قابلة للتطبيق عند إنشاء كوب ويندوز الخاص بك. تقوم مايكروسوفت بشكل متكرر ببناء صور ISO محدثة للإصدارات الحالية من ويندوز، مثل ويندوز 10. بالنسبة لإصدارات ويندوز هذه، يُوصى بتنزيل الإصدار الأحدث بشكل دوري باستخدام Mido للحصول على صورة ويندوز جديدة فوراً.
#### الإشعارات
وصل ويندوز 7 وويندوز سيرفر 2008 R2 إلى نهاية العمر (EOL) في [14 يناير 2020](https://support.microsoft.com/en-us/help/4057281/windows-7-support-will-end-on-january-14-2020).
## الخصوصية
يسعى Qvm-Create-Windows-Qube ليكون أكثر الطرق خصوصية لاستخدام ويندوز. انتقل العديد من مستخدمي Qubes من ويندوز (أو نظام تشغيل احتكاري آخر) جزئياً للابتعاد عن مايكروسوفت (أو التكنولوجيا الكبرى بشكل عام)، وبالتالي فإن القدرة على استخدام ويندوز من مسافة آمنة هي في غاية الأهمية لهذا المشروع. أو على الأقل، مسافة آمنة قدر الإمكان لما هو في الأساس كتلة ثنائية احتكارية ضخمة.
### تتبع ويندوز
يقوم بتكوين إعدادات تتبع ويندوز لاحترام الخصوصية.
- إلغاء الاشتراك في برنامج تحسين تجربة العملاء (CEIP)
- تعطيل تقارير أخطاء ويندوز (WER)
- تعطيل خدمة DiagTrack
- إيقاف تشغيل جميع التتبع في تطبيق "الإعدادات" في ويندوز 10
- تمكين مستوى التتبع ["الأمان"](https://docs.microsoft.com/en-us/windows/privacy/configure-windows-diagnostic-data-in-your-organization#diagnostic-data-settings) على الإصدارات المتوافقة من ويندوز 10
- راجع `spyless.bat` لمزيد من المعلومات
### توصيات Whonix لنظام Windows-Whonix-Workstation
كل ما تم ذكره [هنا](https://www.whonix.org/wiki/Other_Operating_Systems) حتى "المزيد من الأمان" تم تطبيقه. "الأكثر أماناً" هو استخدام Whonix-Workstation رسمي مبني بنفسك من المصدر. هذه الميزة ليست رسمية أو معتمدة من Whonix.
يُوصى بقراءة [هذه](https://www.whonix.org/wiki/Windows_Hosts) الوثائق الخاصة بـ Whonix لفهم آثار استخدام ويندوز بهذه الطريقة.
### سهولة إعادة تعيين البصمة
هناك عدد لا يحصى من المعرفات الفريدة الموجودة في كل تثبيت ويندوز مثل MachineGUID، ومعرف التثبيت، وأرقام التسلسل السري لوحدة التخزين NTFS (VSNs) والمزيد. مع Qvm-Create-Windows-Qube، يمكن إعادة تعيين هذه المعرفات الفريدة بسهولة عن طريق إعادة تثبيت ويندوز تلقائياً.
### القيود
من الممكن إنشاء بصمة من خلال المشرف (hypervisor) في حالة اختراق VM، فيما يلي بعض الأمثلة العملية (غير محددة بويندوز):
- [مصدر ساعة Xen كساعة حائط](https://phabricator.whonix.org/T389)
- يمكن على الأقل تخفيف تسريب المنطقة الزمنية عن طريق تكوين توقيت UTC في BIOS/UEFI
- لا يزال من الممكن تكوين المنطقة الزمنية المحلية لساعة XFCE Dom0 وفي VMs المرغوبة عن طريق تشغيل `timedatectl set-timezone` عند كل إقلاع باستخدام `/rw/config/rc.local` القياسي الذي توفره Qubes
- ومع ذلك، يظل الارتباط الزمني بين VMs تافهاً
- [CPUID](https://github.com/QubesOS/qubes-issues/issues/1142)
- بشكل عام، بعض واجهات VM الموثقة [هنا](https://www.qubes-os.org/doc/vm-interface/) (مثل أبعاد الشاشة)
## الأسئلة الشائعة (FAQ)
### هل أحتاج إلى ترخيص ويندوز لاستخدام هذا المشروع؟
لا، مع كل تثبيت ويندوز يأتي مفتاح منتج تجريبي مضمن يُستخدم افتراضياً إذا لم يتم توفير أي مفتاح آخر. يحدد Qvm-Create-Windows-Qube بشكل صريح عدم وجود مفتاح منتج في ملفات الإجابة لاستخدام المفتاح التجريبي الافتراضي.
على الإصدارات العامة الاستهلاكية من ويندوز مثل (غير المؤسسية) 7 و8.1 و10، تمتد هذه الفترات التجريبية إلى أجل غير مسمى مع العلم أن علامة مائية أو نافذة منبثقة قد تبدأ في الظهور تطلب تنشيط المنتج.
على إصدارات ويندوز إنتربرايز التقييمية وسيرفر التقييمية، بمجرد انتهاء الفترة التجريبية، سيتم إيقاف تشغيل الجهاز تلقائياً (وبدون تحذير) بعد فترة زمنية محددة بواسطة خدمة مراقبة ترخيص ويندوز (`C:\Windows\System32\wlms\wlms.exe`؛ وهي في مجلد مخفي). عند حدوث ذلك، سيتم تسجيل سبب الإيقاف المذكور في عارض الأحداث. لتجديد الفترة التجريبية، قم بتشغيل `slmgr /rearm` في موجه الأوامر. سيعمل هذا لعدد المرات المحددة في `slmgr /dlv` (قد تختلف)، وعندها يجب تنشيط المنتج أو إعادة تثبيته.
يُوصى بترخيص المنتج عند انتهاء الفترة التجريبية في جميع الحالات.
إعطاء ويندوز وصولاً إلى الإنترنت ليس مطلوباً لاستخدام المفتاح التجريبي (لأنه مضمن داخل كل ISO). ومع ذلك، فهو مطلوب لتنشيط ويندوز بمفتاح منتج خاص بك (إلا إذا قمت بالتنشيط عبر الهاتف).
### ما هو الغرض من AppVM `windows-mgmt`؟ هل يمكنني حذفه بمجرد اكتمال تثبيت ويندوز؟
الغرض من AppVM `windows-mgmt` هو عزل كل ما يحدث كجزء من تثبيت ويندوز بشكل آمن في جهاز افتراضي واحد. بهذه الطريقة، يكون استغلال أي أخطاء موجودة، على سبيل المثال، في كود تحليل نظام ملفات ISO في لينكس، محدوداً في مقدار الضرر الذي يمكن أن يسببه إذا كانت ISO ويندوز ضارة. هذا هو مبدأ الأمان الذي بني عليه Qubes OS بأكمله، يُعرف باسم "الأمان من خلال العزل" أو "الأمان من خلال التقسيم".
لا تتردد في حذف `windows-mgmt` إذا كنت متأكداً من أنه لا توجد VMs ويندوز أخرى ترغب في إنشائها. ومع ذلك، إذا كنت ترغب فقط في استعادة مساحة القرص، فيمكنك ببساطة حذف صور ISO الموجودة في `/home/user/qvm-create-windows-qube/windows/isos` و `/home/user/qvm-create-windows-qube/windows/out` (داخل `windows-mgmt`) لتوفير الغالبية العظمى من تلك المساحة.
### هل هناك أي شيء آخر يجب أن أعرفه؟
لا تقم بتمكين "تضمين في موازنة الذاكرة" (مربع الاختيار) في إعدادات كوب ويندوز. هذه الميزة في Qubes OS غير مستقرة حالياً على ويندوز، وسيؤدي تمكينها إلى تعطل ويندوز بشكل متكرر (شاشات الموت الزرقاء).
## المساهمة
يمكنك البدء بإعطاء هذا المشروع نجمة! مرحب بالمساهمات عالية الجودة من خلال Pull Requests! ألق نظرة على قائمة المهام أدناه إذا كنت تبحث عن أشياء تحتاج إلى تحسين. التحسينات الأخرى مثل طرق أكثر أناقة لإنجاز مهمة، وتنظيف الكود، وإصلاحات أخرى مرحب بها أيضاً.
الكثير من [GSoCs](https://www.qubes-os.org/gsoc/) المتعلقة بويندوز للمهتمين.
شعار هذا المشروع من تصميم Max Andersen، مستخدم بإذن كتابي.
هذا المشروع هو نتاج جهد مستقل غير معتمد رسمياً من Qubes OS.
## المشكلات المعروفة لأدوات ويندوز Qubes
- مثبت QWT الجديد يعطل إنشاء القرص الخاص (private disk) افتراضياً
- ربما بسبب مخاوف تتعلق بالاستقرار؟
- لا يمكن إنشاء TemplateVM
### إشعار حول برامج تشغيل Xen الأحدث (لأنظمة التشغيل القديمة مثل ويندوز 7)
في Qubes R4.1، تأتي أدوات ويندوز Qubes مع برامج تشغيل أحدث تعمل بشكل أفضل على الإصدارات الأحدث من ويندوز مثل ويندوز 10. لسوء الحظ، تم توثيق أيضاً أن هذه البرامج الجديدة تعمل بشكل أقل جودة مع الإصدارات الأقدم من ويندوز مثل ويندوز 7. من الناحية المثالية، يجب دمج الإصلاحات في برنامج تشغيل واحد ولكن هذا لم يحدث بعد.
ويندوز 7 هو نظام تشغيل منتهي العمر في هذه المرحلة، لذا فإن هذا أقل أهمية. ومع ذلك، لا تزال هناك بعض الأسباب الصالحة لاستخدام (على الأقل معزولة هوائياً) جهاز ويندوز 7 (مثل لأغراض البحث/الاختبار التقني).
هناك أعضاء مجتمع يقومون بتوثيق هذه التجربة (يمكنني أيضاً تأكيدها) في منتدى Qubes OS والعديد من مشكلات GitHub الخاصة بـ Qubes OS.
#### سلاسل البريد الإلكتروني
- [qubes-users](https://groups.google.com/forum/#!topic/qubes-users/AdQcjg7XOFo)
- [qubes-devel](https://groups.google.com/forum/#!topic/qubes-devel/aCCGpYysZTQ)
#### مشكلات GitHub الخاصة بـ Qubes OS الموسومة بـ Windows
- [`C: windows-tools`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-tools)
- [`C: windows-vm`](https://github.com/QubesOS/qubes-issues/labels/C%3A%20windows-vm)
## المهام- [x] اكتساب القدرة على فك/إدراج ملف الإجابة/إعادة التجميع بشكل موثوق لأي ملف ISO يحتوي على نظام ملفات UDF ([ISO 13346](https://en.wikipedia.org/wiki/Universal_Disk_Format)، أي تنسيق ISO لويندوز)
- حاويات ملفات ISO هي في الأساس أنظمة ملفات للكتابة مرة واحدة؛ لا يمكنك ببساطة إضافة ملف إليه دون إنشاء ISO جديد بالكامل
- عند فتح ملف ISO رسمي من مايكروسوفت ويندوز في محرر سداسي، تظهر أدلة واضحة على احتوائه على نظام ملفات UDF، ويذكر تحديداً `ISO-13346` في الأعلى
- لاحظ أن الأمر `file` قد يخطئ قليلاً في تحديد هذه الملفات ISO على أنها تنسيق ISO 9660 الذي تم استبداله الآن، ولكن ربما يكون ذلك فقط لأن "مشاركة UDF واصف الحجم الأساسي مع ISO 9660"
- هذه هي نفس الطريقة التي تستخدمها VMWare كما يظهر في جزء "Creating Disk..." في الفيديو أدناه (تشير الأبحاث الإضافية إلى أنهم يستخدمون `mkisofs`)
- [ ] في المستقبل، سيكون من الأفضل لـ Qubes القيام بذلك عن طريق [توسيع النواة الأساسية لقوالب libvirt XML](https://github.com/QubesOS/qubes-issues/issues/5085)
- أسرع
- يوفر التخزين لعدم الحاجة إلى إنشاء ISO جديد
- [x] يقوم auto-qwt بأخذ D:\\ مما يجعل QWT يضع ملف تعريف المستخدم على E:\\؛ سيكون من الأفضل وضعه على D:\\ حتى لا تكون هناك فجوة غريبة في المنتصف
- [x] جعل ملف إجابة ويندوز يستخدم تلقائياً مفتاح التقييم الافتراضي لتثبيت ويندوز دون ترميز أي مفاتيح منتج في أي مكان (ويندوز صعب في هذا الشأن)
- [x] دعم ويندوز 8.1-10 (ملاحظة: QWT لا تدعم رسمياً أي نظام تشغيل غير ويندوز 7 بعد، ومع ذلك، كل شيء يعمل باستثناء برنامج تشغيل واجهة المستخدم الرسومية)
- [x] دعم ويندوز سيرفر 2008 R2 إلى ويندوز سيرفر 2019
- [x] دعم ويندوز 10 Enterprise LTSC (قناة الدعم طويل الأمد)
- يوفر تحديثات أمنية لمدة 10 سنوات، مستقر جداً وأقل انتفاخاً من ويندوز 10 العادي
- [ ] دعم ويندوز 11
- تم تصميم Qvm-Create-Windows-Qube ليكون مستقلاً عن إصدار ويندوز، والعمل الحقيقي الوحيد هنا هو إنشاء ملف إجابة (ربما فقط تعديل طفيف لملف إجابة ويندوز 10) وإضافته إلى `mido.sh` (والذي لن يكون مشكلة الآن بعد أن مددت وظيفته للتنزيل من خلف واجهة برمجة تطبيقات تنزيل ISO المحمية من مايكروسوفت)
- السؤال الحقيقي هو ما إذا كانت أدوات Qubes Windows ستعمل تحت ويندوز 11
- مايكروسوفت لديها سجل ممتاز للتوافق مع الإصدارات السابقة حتى على مستوى واجهة برمجة تطبيقات النواة (لأن الشركات تحب التوافق مع الإصدارات السابقة) لذلك من الممكن أن تعمل بشكل جيد
- مساعدة مطلوبة، اختبارات مرحب بها
- [x] توفير Chocolatey
- [x] إضافة خيار لتقليص ويندوز كما هو موثق لـ Qubes [هنا](https://www.qubes-os.org/doc/windows-template-customization/)
- [x] جعل `windows-mgmt` معزولاً (air gapped)
- [x] توسيع وظيفة `download-windows.sh` (الآن `mido.sh`) لتنزيل ملفات ISO من خلف واجهة برمجة تطبيقات تنزيل ISO المحمية من مايكروسوفت
- [ ] اكتشفت مؤخراً أن هذا مشروع [Google Summer of Code](https://www.qubes-os.org/gsoc/) لـ Qubes
- [x] إضافة اختبارات آلية
- باستخدام Travis CI لفحص ShellCheck تلقائياً
- [x] جداول ACPI لجلب الترخيص المضمن من ويندوز
- وجدت المزيد من المعلومات حول هذا، يجب أن يكون بسيطاً جداً بمجرد وضع امتداد قالب jinja libvirt التالي في `/etc/qubes/templates/libvirt/xen/by-name/<windows_qube>`
- شكراً لـ @jevank على [التصحيح](https://github.com/QubesOS/qubes-issues/issues/5279#issuecomment-525947408)
- [ ] نقل إلى Python
- يبدو أن هذا غير ضروري للنصوص مثل `create-media.sh` حيث أن نص Python سيتصل بشكل أساسي ببرامج خارجية
- سيكون هذا بالتأكيد مناسباً لبرنامج `qvm-create-windows-qube`
- سيسمح لنا هذا بتبادل البيانات بين Dom0 و VM دون القلق بشأن احتمالية حقن الأوامر أو هجوم Shellshock آخر
- [ ] تحديد تلقائي لملف الإجابة الذي سيتم استخدامه بناءً على خصائص ISO ويندوز التي تم جمعها من الأمر `wiminfo` (قيد التطوير حالياً؛ انظر الفرع)
- يعمل `wiminfo` تماماً مثل DISM على ويندوز
- [ ] بمجرد توسيع النواة الأساسية للسماح بقوالب libvirt XML (ملفات الإجابة) يصبح ذلك ممكناً (المهمة السابقة، إنها مشكلة حظر)، يمكننا أيضاً قراءة خصائص install.wim من ISO بشكل آمن دون الحاجة إلى تحميل ISO كجهاز حلقة باستخدام [`libguestfs`](https://libguestfs.org)
- لقد رأيت أيضاً استخدام `libguestfs` على QEMU/KVM لذلك فهو بالتأكيد مرشح جيد لهذه الحالة
- لاحظ أن `libguestfs` لا يمكنه الكتابة (ملف إجابة) إلى ISO ولهذا لا فائدة من استخدام هذه المكتبة حتى لا نحتاج إلى إنشاء ISO جديد بالكامل لإضافة ملف الإجابة إليه
- [x] اتباع [وثائق Whonix](https://www.whonix.org/wiki/Other_Operating_Systems) لجعل Windows-Whonix-Workstation
- [ ] إضافة وظيفة لـ `create-media.sh` لإضافة حزم MSU (حزم تحديث مستقلة من مايكروسوفت) ليتم تثبيتها أثناء مرور Windows PE (تحديد "Installing updates...") من إعداد ويندوز
- يمكننا إصلاح تثبيت QWT الذي لا يعمل حالياً لملفات ISO ويندوز 7 SP1 القديمة وويندوز سيرفر 2008 (غير R2) باستخدام [KB4474419](https://github.com/QubesOS/qubes-issues/issues/3585#issuecomment-521280301) لإضافة دعم توقيع برامج التشغيل SHA-256
- الخيار الآخر هو أن يقوم Xen بتوقيع برامج التشغيل الخاصة بهم باستخدام SHA-1 أيضاً، وهو ما يفعله بائعي برامج التشغيل الآخرين، ولكنه ليس مثالياً من وجهة نظر أمنية
- يسمح لنا بالتخلص من اختراق `allow-drivers.vbs` من خلال إصلاح خطأ التثبيت التلقائي لبرامج تشغيل SHA-256 في الإصدارات الأحدث من ويندوز 7 مع KB2921916 (انظر `allow-drivers.vbs` للتفاصيل)
- تم تصحيح هذا الخطأ في ويندوز عمداً وإلغاء التصحيح من قبل مايكروسوفت في محاولة لإجبار الشركات على الترقية إلى ويندوز 10
- تصحيح بعض الثغرات الأمنية في ويندوز؟
- تصحيح BlueKeep لويندوز 7 خارج الصندوق
- ISO ويندوز سيرفر 2008 R2 الأساسي معرض أيضاً لـ ETERNALBLUE و BlueKeep خارج الصندوق
- ربما لا يستحق الدخول في ذلك، يجب على المستخدمين تحديث VM بعد إنشائه
- [ ] وضع عدم واجهة (headless)
- مساعدة مطلوبة
- ما هي الآلية المتاحة لتحقيق ذلك في Qubes؟ شيء في وكيل/خادم واجهة المستخدم الرسومية لـ Qubes؟
- [ ] تغليف هذا المشروع بحيث يمكن جعل تسليمه أكثر انسيابية وأماناً عبر `qubes-dom0-update`
- [ ] إضافة دعم [ReactOS](https://reactos.org) كبديل مفتوح المصدر لويندوز
- سيكون هذا جيداً على الأقل حتى يتم [إنشاء قالب ReactOS](https://github.com/QubesOS/qubes-issues/issues/2809)
- ربما قد يرغب مطورو ReactOS في استخدام هذا لتطوير ReactOS
- أو ربما مجرد إضافة ReactOS كقالب (خارج هذا المشروع)
- ومع ذلك، سيتعين على شخص ما صيانة هذا القالب
- أيضاً، قد لا يكون هناك فائدة كبيرة إذا لم تعمل برامج تشغيل QWT/Xen
- على الأقل للميزات الأساسية مثل النسخ/اللصق ونقل الملفات
- اهتمام من كلا الجانبين
- [Qubes OS](https://github.com/QubesOS/qubes-issues/issues/2809)
- [ReactOS](https://reactos.org/forum/viewtopic.php?p=126279#p126279)
- "one of the most interesting offers for collaboration we got till today"
- [عمليات التثبيت غير المراقبة لـ ReactOS](https://reactos.org/wiki/Create_an_unattended_Installation_CD) تبدو مختلفة عن تلك الخاصة بويندوز
- [ ] المشكلة الوحيدة المانعة التي وجدتها هي نوع وحدة تحكم SCSI لـ QEMU
- يمكن لـ Qubes توسيع النواة الأساسية لدعم تكوين وحدة تحكم SCSI في قالب libvirt
- يبدو هذا الحل أفضل لأنه وفقاً لـ [هذا](https://github.com/QubesOS/qubes-issues/issues/3651#issuecomment-420914348) التعليق، فإنه سيصلح أيضاً مجموعة من أنظمة التشغيل الأخرى التي لا يدعم مثبتها وحدة تحكم SCSI الحالية لدينا
- يمكن لـ ReactOS إضافة دعم لنوع وحدة تحكم SCSI الحالي لدينا
- [مشكلة ReactOS](https://reactos.org/forum/viewtopic.php?t=17529)
- [مشكلة Qubes OS](https://github.com/QubesOS/qubes-issues/issues/3494)
- كشف وحدة تحكم SCSI مختلفة لا يوسع سطح الهجوم لأن QEMU يعمل في نطاق Xen stub
- ReactOS في مرحلة ألفا لذلك بالنسبة لمعظم المستخدمين ربما لن يكون هذا عملياً الآن
- مساعدة مطلوبة
- لا يوجد جدول زمني لهذا حالياً
## الهدف النهائي
الحصول على ميزة مشابهة (أو متفوقة) لميزة [VMWare's Windows "Easy Install"](https://www.youtube.com/watch?v=1OpDXlttmE0) على Qubes OS. حل VMWare مملوك ومتاح فقط في منتجاتهم المدفوعة.
VirtualBox لديه أيضاً [شيء مشابه](https://blogs.oracle.com/scoter/oracle-vm-virtualbox-52:-unattended-guest-os-install) لكنه ليس غنياً بالميزات.