macos-guest-virtualbox.sh VirtualBox.sh เป็นสคริปต์ทุบตีที่สร้างแขกเครื่องเสมือน MacOS บน VirtualBox ด้วยไฟล์การติดตั้ง MACOS ที่ไม่ได้แก้ไขที่ดาวน์โหลดโดยตรงจากเซิร์ฟเวอร์ Apple
การติดตั้งเริ่มต้นจะต้องให้ผู้ใช้นั่งอย่างอดทนและน้อยกว่าสิบครั้งกด Enter เมื่อได้รับแจ้งจากสคริปต์โดยไม่ต้องโต้ตอบกับเครื่องเสมือน
ทดสอบบน bash และ zsh บน Cygwin ทำงานบน MacOS, Centos 7 และ Windows บนซีพียู X86 ด้วย VT-X หรือ AMD-V ควรทำงานกับ distros linux ที่ทันสมัยที่สุด
MacOS Catalina (10.15), Mojave (10.14) และ Sierra สูง (10.13) รองรับ
หากคุณต้องการเป็นผู้ดูแลพื้นที่เก็บข้อมูลนี้โปรดดูปัญหา #645 - ผู้ดูแลต้องการ
เอกสารสามารถดูได้โดยการดำเนินการคำสั่ง ./macos-guest-virtualbox.sh documentation
สคริปต์ส่วนใหญ่เป็นเอกสารความคิดเห็นหรือข้อความแสดงข้อผิดพลาดที่สามารถดำเนินการได้ซึ่งควรทำให้สคริปต์ตรงไปตรงมาเพื่อตรวจสอบและเข้าใจ
iCloud, iMessage และบริการ Apple ที่เชื่อมต่ออื่น ๆ ต้องการชื่ออุปกรณ์ที่ถูกต้องและหมายเลขซีเรียล, ID บอร์ดและหมายเลขซีเรียลและพารามิเตอร์ Apple อื่น ๆ ของแท้ (หรือของแท้) สิ่งเหล่านี้สามารถตั้งค่าใน EFI และ NVRAM ได้โดยการแก้ไขสคริปต์ ดูคำสั่งเอกสารสำหรับข้อมูลเพิ่มเติม
สคริปต์โดยค่าเริ่มต้นกำหนดขนาดที่เก็บข้อมูลดิสก์เสมือนเป้าหมาย 80GB ซึ่งมีการเติมประมาณ 25GB บนโฮสต์ในการติดตั้งเริ่มต้น หลังจากการติดตั้งเสร็จสมบูรณ์ขนาดการจัดเก็บอาจเพิ่มขึ้น ดูคำสั่งเอกสารสำหรับข้อมูลเพิ่มเติม
ความละเอียดการแสดงผลหลักต่อไปนี้ได้รับการสนับสนุนโดย MACOS บน VirtualBox: 5120x2880 2880x1800 2560x1600 2560x1440 1920x1200 1600x1200 1680x1050 1440x900 1280x800 1024x768 640x480 ดูคำสั่งเอกสารสำหรับข้อมูลเพิ่มเติม
ขอบเขตของสคริปต์กำลังทำกระบวนการติดตั้ง MacOS เริ่มต้นบน VirtualBox บนฮาร์ดแวร์ที่รองรับ ลำดับการทำงานเพิ่มเติมของ VirtualBox หรือ MacOS อยู่นอกเหนือขอบเขตของสคริปต์นี้ คุณสมบัติบางอย่างอาจมีพฤติกรรมโดยไม่คาดคิดเช่นการรองรับอุปกรณ์ USB, การสนับสนุนเสียง, การสนับสนุนการแจ้งเตือนด้วยรหัสผ่าน Filevault Boot และคุณสมบัติอื่น ๆ รวมถึงฟังก์ชั่นที่สำคัญ
สคริปต์ถูกออกแบบมาสำหรับฮาร์ดแวร์ X86 CPU MAC แขกของ MacOS บน VirtualBox มักจะไม่เข้ากันกับ CPU รุ่นอื่น ๆ หากกระบวนการบูตของแขก MacOS แขวนอยู่ที่“ LoadKernelfRomstream”,“ Endrandomseed” หรือ "Exitbs" ดูคำสั่งเอกสารเกี่ยวกับโปรไฟล์ CPU VirtualBox และการตั้งค่า CPUID ซีพียูบางรุ่นที่วางจำหน่ายในปี 2020 และในภายหลังอาจไม่สามารถเริ่มต้นหรือเสร็จสิ้นการติดตั้งและอาจต้องปรับการตั้งค่า CPUID ด้วยตนเอง
เครื่องเสมือนอาจได้รับการอัพเกรดเป็นรุ่นล่าสุด MacOS Big Sur (11) และ MacOS Monterey (12) ผ่านการอัปเดตซอฟต์แวร์ อาจมีการติดตั้ง Big Sur ในสถานที่ มอนเทอเรย์อาจต้องแนบเล่มอื่นกับเครื่องเสมือนและเลือกระดับเสียงเป็นเป้าหมายการติดตั้งมิฉะนั้นการอัพเกรดมีแนวโน้มที่จะล้มเหลวและป้อนลูปบูต
หลังจากสร้างเครื่องเสมือน MacOS ที่ใช้งานได้สำเร็จให้พิจารณานำเข้าสู่ซอฟต์แวร์เสมือนจริงที่มีประสิทธิภาพมากขึ้นหรือบรรจุภัณฑ์สำหรับแพลตฟอร์มการจัดการการกำหนดค่าสำหรับการปรับใช้อัตโนมัติ แอพพลิเคชั่นการจำลองเสมือนและการปรับใช้เหล่านี้ต้องการการกำหนดค่าเพิ่มเติมที่อยู่นอกเหนือขอบเขตของสคริปต์
QEMU กับ KVM มีความสามารถในการจัดหาฮาร์ดแวร์เสมือนจริงของเครื่องฮาร์ดแวร์สำหรับประสิทธิภาพใกล้เคียง QEMU รองรับรูปแบบการจัดเก็บภาพดิสก์เสมือน VMDK ซึ่งสามารถกำหนดค่าให้สร้างโดยสคริปต์ ดูคำสั่งเอกสารสำหรับข้อมูลเพิ่มเติม QEMU และ KVM ต้องการการกำหนดค่าเพิ่มเติมที่อยู่นอกเหนือขอบเขตของสคริปต์
VirtualBox Native Execution Manager (NEM) เป็นคุณสมบัติการทดลอง VirtualBox VirtualBox ใช้ NEM เมื่อเข้าถึง VT-X และ AMD-V ถูกบล็อกโดยซอฟต์แวร์เสมือนจริงหรือคุณสมบัติการป้องกันการดำเนินการเช่น Hyper-V, WSL2, WSLG, Windows Sandbox, การป้องกันความสมบูรณ์ของหน่วยความจำ MacOS และตัวติดตั้ง MacOS มีปัญหาการทุจริตหน่วยความจำภายใต้การจำลองเสมือน NEM สคริปต์ตรวจสอบ NEM และออกด้วยข้อความแสดงข้อผิดพลาดหากตรวจพบ
VirtualBox สามารถทำงานบน WSL2 และ WSLG ด้วยการรวบรวมโมดูลเคอร์เนลบางอย่างแม้ว่าประสิทธิภาพจะต่ำมาก ณ จุดที่จำเป็นต้องมีการรวบรวมโมดูลเคอร์เนลอาจควรใช้ QEMU/KVM บน WSL2 และ WSLG ซึ่งเป็นคำสั่งของขนาดเร็วกว่า VirtualBox บน WSL2 และ WSLG WSL2, WSLG, QEMU และ KVM ต้องการการกำหนดค่าเพิ่มเติมที่อยู่นอกเหนือขอบเขตของสคริปต์
แขก MacOS VirtualBox นั้นถูกโหลดโดยไม่มี bootloaders เพิ่มเติม แต่เข้ากันได้กับ OpenCore OpenCore ต้องการการกำหนดค่าเพิ่มเติมที่อยู่นอกเหนือขอบเขตของสคริปต์
MacOS อาจไม่รองรับตัวควบคุมเสียง VirtualBox ในตัว Bootloader OpenCore อาจสามารถโหลดโอเพ่นซอร์สหรือไดรเวอร์เสียงในตัวใน 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