macos-guest-virtualbox.sh هو برنامج نصي Bash يقوم بإنشاء ضيف جهاز MacOS الظاهري على VirtualBox مع ملفات تثبيت MACOS غير المعدلة التي تم تنزيلها مباشرة من خوادم Apple.
يتطلب التثبيت الافتراضي فقط للمستخدم الجلوس بصبر ، وأقل من عشر مرات ، اضغط على Enter عندما يُطلب منه البرنامج النصي ، دون التفاعل مع الجهاز الظاهري.
تم اختباره على bash و zsh على cygwin. يعمل على MacOS و CentOS 7 و Windows على وحدات المعالجة المركزية X86 مع VT-X أو AMD-V. يجب أن تعمل على معظم توزيعات Linux الحديثة.
MACOS CATALINA (10.15) و Mojave (10.14) و High Sierra (10.13) مدعوم حاليًا.
إذا كنت ترغب في أن تصبح المشرف على هذا المستودع ، فيرجى الاطلاع على العدد رقم 645 - مطلوب المشرف.
يمكن عرض الوثائق من خلال تنفيذ الأمر ./macos-guest-virtualbox.sh documentation
غالبية البرنامج النصي هو إما الوثائق أو التعليقات أو رسائل الخطأ القابلة للتنفيذ ، والتي يجب أن تجعل البرنامج النصي واضحًا لتفقد وفهم.
تتطلب iCloud و iMessage وخدمات Apple الأخرى المتصلة اسم جهاز صالح ورقم تسلسلي ، ومعرف اللوحة ورقم التسلسلي ، وغيرها من معلمات Apple حقيقية (أو حقيقية). يمكن تعيينها في EFI و NVRAM عن طريق تحرير البرنامج النصي. راجع أمر التوثيق لمزيد من المعلومات.
يقوم البرنامج النصي افتراضيًا بتعيين حجم تخزين القرص الظاهري الهدف من 80 جيجابايت ، والذي يتم ملؤه إلى حوالي 25 جيجابايت على المضيف عند التثبيت الأولي. بعد اكتمال التثبيت ، قد يتم زيادة حجم التخزين. راجع أمر التوثيق لمزيد من المعلومات.
يتم دعم قرارات العرض الأساسية التالية بواسطة MacOS على VirtualBox: 5120x2880 2880x1800 2560x1600 2560x1440 1920x1200 1600x1200 1680x1050 1440x900 1280x800 1024x768 640x480 . راجع أمر التوثيق لمزيد من المعلومات.
يكمل نطاق البرنامج النصي عملية تثبيت MacOS الافتراضية على VirtualBox على الأجهزة المدعومة. مزيد من الترتيب الوظيفي لـ VirtualBox أو MacOS هو خارج نطاق هذا البرنامج النصي. قد تتصرف بعض الميزات بشكل غير متوقع ، مثل دعم جهاز USB ، ودعم الصوت ، ودعم FileVault Boot Password ، والميزات الأخرى ، بما في ذلك الوظائف الحرجة.
تم تصميم البرنامج النصي لأجهزة X86 CPU Mac. لا يتعارض ضيوف MacOS على VirtualBox بشكل عام مع نماذج وحدة المعالجة المركزية الأخرى. إذا كانت عملية التمهيد MacOS للضيف معلقة على "LoadKernelfromstream" ، أو "EndRandomseed" ، أو "exitbs" ، راجع أمر التوثيق فيما يتعلق بملفات تعريف CPU VirtualBox وإعدادات وحدة المعالجة المركزية. قد تفشل بعض نماذج وحدة المعالجة المركزية التي تم إصدارها في عام 2020 وبعد ذلك في بدء أو إكمال المثبت ، وقد تتطلب ضبط إعدادات وحدة المعالجة المركزية يدويًا.
يمكن ترقية الجهاز الظاهري إلى أحدث إصدارات MacOS Big Sur (11) و MacOS Monterey (12) من خلال تحديث البرنامج. قد يتم تثبيت Big Sur في مكانها. قد تتطلب Monterey ربط وحدة تخزين أخرى بالجهاز الظاهري وتحديد مستوى الصوت كهدف للتثبيت ، وإلا فإن الترقية عرضة للفشل وإدخال حلقة التمهيد.
بعد إنشاء جهاز افتراضي MACOS يعمل بنجاح ، فكر في استيراده إلى برنامج محاكاة افتراضية أكثر أداء ، أو تغليفه لمنصات إدارة التكوين للنشر الآلي. تتطلب تطبيقات المحاكاة الافتراضية والنشر تكوينًا إضافيًا يتجاوز نطاق البرنامج النصي.
QEMU مع KVM قادرة على توفير مرور أجهزة الجهاز الظاهري للأداء شبه الأصلي. تدعم QEMU تنسيق تخزين صور القرص VMDK الظاهري ، والذي يمكن تكوينه ليتم إنشاؤه بواسطة البرنامج النصي. راجع أمر التوثيق لمزيد من المعلومات. تتطلب QEMU و KVM تكوينًا إضافيًا يتجاوز نطاق البرنامج النصي.
مدير التنفيذ الأصلي VirtualBox (NEM) هو ميزة VirtualBox التجريبية. يستخدم VirtualBox NEM عندما يتم حظر الوصول إلى VT-X و AMD-V بواسطة برامج المحاكاة الافتراضية أو ميزات حماية التنفيذ مثل Hyper-V و WSL2 و WSLG و Windows Sandbox وحماية تكامل الذاكرة وحراسة التطبيقات وحراسة الاعتماد وميزات الجهاز والميزات والبرامج الأخرى. لدى MacOS و MacOS Installer مشكلات في فساد الذاكرة تحت المحاكاة الافتراضية NEM. يتحقق البرنامج النصي لـ NEM ويخرج برسالة خطأ إذا تم اكتشافه.
يمكن تشغيل VirtualBox على WSL2 و WSLG مع بعض تجميع وحدة kernel ، على الرغم من أن الأداء منخفض للغاية. عند النقطة التي يلزم تجميع وحدة Kernel ، قد يكون من الأفضل استخدام QEMU/KVM على WSL2 و WSLG ، والتي هي أوامر ذات حجم أسرع من VirtualBox على WSL2 و WSLG. تتطلب WSL2 و WSLG و QEMU و KVM تكوينًا إضافيًا يتجاوز نطاق البرنامج النصي.
يتم تحميل ضيف MacOS VirtualBox بدون محولات تشغيل إضافية ، لكنه متوافق مع OpenCore. يتطلب OpenCore تكوينًا إضافيًا يتجاوز نطاق البرنامج النصي.
قد لا تدعم MacOS أي وحدات تحكم صوتية VirtualBox مدمجة. قد يتمكن Opencore من Bootloader من تحميل برامج تشغيل الصوت المفتوحة أو المدمجة في VirtualBox ، مما يوفر التكوين لـ STAC9221 (Intel HD Audio) أو Sigmatel Stac9700،83،84 (ICH AC97).
لا توفر VirtualBox EDID لشاشة العرض الافتراضية ، ولا تتيح MacOS تحجيم العرض (PPI العالي) بدون EDID. يمكن لـ Bootloader Opencore حقن EDID الذي يتيح تحجيم العرض.
لا يقوم تطبيق VirtualBox EFI بتحميل موجه كلمة مرور تشفير القرص الكامل FileVault بشكل صحيح عند التمهيد. يمكن لـ Bootloader Opencore تحميل موجه كلمة المرور مع تعيين ProvideConsoleGop المعلمة على true . انظر نموذج config.plist
يجب أن تكون التبعيات التالية متاحة من خلال مدير الحزمة:
bash coreutils gzip unzip wget xxd dmg2img virtualbox
توفر الحزم الاختيارية التالية التعرف على الأحرف البصرية التي تقلل من التفاعل المطلوب مع البرنامج النصي:
tesseract-ocr tesseract-ocr-eng
الإصدارات المدعومة:
Bash ≥ 4.3 ، على Windows يمر عبر Cygwin أو WSL "1" ، انظر NEMcoreutils ≥ 8.22 ، GNU gzip ≥ 1.5 ، info-zip unzip ≥ v6.0 ، gnu wget ≥ 1.14 ، xxd ≥ 1.11dmg2img ≥ 1.6.5 ، على Cygwin ، لا تتوفر الحزمة من خلال مدير الحزمة بحيث يقوم البرنامج النصي بتنزيله تلقائيًا.tesseract-ocr ≥ 4