Virtual machines สำคัญมากในด้านคอมพิวติ้งและวิศวกรรมซอฟต์แวร์ พวกมันให้เราทดสอบและใช้ระบบปฏิบัติการต่างๆ ได้โดยไม่ต้องมีฮาร์ดแวร์เพิ่มเติม นอกจากนี้ คุณมั่นใจได้ว่าหากมีอะไรผิดปกติกับ virtual machine มันจะไม่ทำลาย host operating system ที่มีอยู่
คู่มือนี้จะแสดงวิธีติดตั้ง macOS บน Ubuntu Linux ด้วย QEMU-KVM Virtual Machine ด้วยวิธีนี้ คุณจะใช้ซอฟต์แวร์ macOS native ที่ไม่พร้อมใช้งานใน Linux ได้
QEMU คืออะไร?
QEMU เป็น virtual machine emulator และ virtualizer คล้ายกับ VMware และ VirtualBox บน Windows ผู้ใช้มักใช้ QEMU ร่วมกับ KVM เนื่องจากให้ virtual machine ที่ implemented แบบ native บน Linux kernel
ข้อได้เปรียบหลักของ QEMU คือตั้งค่าและจัดการได้ง่ายมาก นอกจากนี้ การสร้าง virtual machines จากบรรทัดคำสั่ง ไม่เคยง่ายเท่านี้กับ QEMU คุณยังใช้ GUI interface กับ QEMU/KVM ได้ และ GUI manager ที่แนะนำคือ virt-manager การรัน virtual machines ให้ประโยชน์อื่นๆ อีกมาก
หลังทดสอบ QEMU/KVM virtual machine เสร็จและไม่ต้องการแล้ว คุณลบ virtual disk file ที่เชื่อมโยงกับ virtual machine ได้ง่าย
ติดตั้ง QEMU/KVM
คุณติดตั้ง QEMU/KVM จากบรรทัดคำสั่งด้วยยูทิลิตี้ apt ได้ apt ยังใช้ถอนการติดตั้งแอปพลิเคชันบน Debian-based Linux distros อีกด้วย นอกจากนี้ ควรติดตั้ง Python utilities พร้อมกับแพ็กเกจ QEMU
ติดตั้ง dependencies ทั้งหมดที่จำเป็นเพื่อดำเนินต่อ:
sudo apt-get install qemu-system qemu-utils python3 python3-pip
ดาวน์โหลด macOS และเครื่องมือติดตั้ง
คู่มือนี้ใช้ foxlet project บน GitHub เพื่อทำให้กระบวนการติดตั้ง macOS และการจัดการ virtual machine ด้วย QEMU/KVM ง่ายขึ้น
ขั้นแรก ต้องดาวน์โหลด macOS base image และ installation tools จาก official GitHub repository ของ foxlet
สลับไปที่โฟลเดอร์ /Downloads เพื่อทำให้เป็น current working directory
cd ~/Downloads
จากนั้นดาวน์โหลดโปรเจกต์ด้วยยูทิลิตี้ wget:
wget https://github.com/foxlet/macOS-Simple-KVM/archive/refs/heads/master.zip
แพ็กเกจที่ดาวน์โหลดจะบันทึกเป็น master.zip ในโฟลเดอร์ /Downloads ใช้ยูทิลิตี้บรรทัดคำสั่ง unzip แยกเนื้อหาแพ็กเกจ
unzip master.zip
unzip tool จะบันทึกโฟลเดอร์คำสั่งที่แยกแล้วเป็น macOS-Simple-KVM-master
สร้างโฟลเดอร์ KVM สำหรับ Virtual Machines ของคุณ
เพื่อจัดการ virtual machines ได้ง่าย คุณสร้างโฟลเดอร์ชื่อ KVM ที่จะมี macOS virtual machine ใช้ directory นี้ host virtual machines อื่นๆ บนระบบได้
mkdir ~/KVM
เมื่อสร้างโฟลเดอร์แล้ว ย้ายโฟลเดอร์ที่แยกไฟล์แล้วซึ่งมีเครื่องมือและสคริปต์ติดตั้ง macOS ไปที่โฟลเดอร์ KVM เพื่อทำให้ง่ายขึ้น คุณย้ายโฟลเดอร์และเปลี่ยนชื่อเป็น macOS พร้อมกันได้ด้วยคำสั่ง:
mv ~/Downloads/macOS-Simple-KVM-master/ ~/KVM/macOS
สร้าง Virtual Disk
ตอนนี้คุณจะสร้าง virtual hard disk ภายในโฟลเดอร์ macOS ที่เพิ่งเปลี่ยนชื่อ
cd ~/KVM/macOS
รันสคริปต์ต่อไปนี้จากภายในโฟลเดอร์ macOS ที่จะ host virtual machine คำสั่งด้านล่างดาวน์โหลด macOS Catalina installation image อัตโนมัติ
./jumpstart
ด้วย base image พร้อมแล้ว คุณสร้าง virtual disk image ที่จะติดตั้ง macOS
ใช้ยูทิลิตี้ qemu-img สร้าง virtual hard disk สำหรับติดตั้งระบบปฏิบัติการ
qemu-img create -f qcow2 mac_os.qcow2 64G
คำสั่งข้างต้นสร้าง virtual disk ชื่อ mac_os.qcow2 ในรูปแบบ qcow2 ขนาดประมาณ 64GB QEMU จะสร้าง image ใหญ่กว่าที่คุณระบุ ตามภาพด้านล่างที่สร้างดิสก์ประมาณ 68GB
กำหนดค่า Virtual Machine
ไฟล์สำคัญอีกไฟล์ในโฟลเดอร์ macOS คือ basic.sh ใช้สำหรับกำหนดค่า runtime environment ของ virtual machine
เพิ่ม 2 บรรทัดต่อไปนี้ที่ท้ายไฟล์ basic.sh และบันทึก
-drive id=SystemDisk,if=none,file=mac_os.qcow2
-device ide-hd,bus=sata.4,drive=SystemDisk
เนื้อหาสุดท้ายของ basic.sh ควรเป็นเหมือนภาพด้านล่าง
การตั้งค่าอีกอย่างที่เปลี่ยนได้คือ RAM ที่ virtual machine จะใช้ บรรทัดเริ่มด้วย -m ระบุขนาด RAM ใน GB คุณระบุจำนวน CPU cores ที่ virtual machine ใช้ในบรรทัดเริ่มด้วย -smp คือ cores=x
ติดตั้ง macOS บน Ubuntu
เริ่มติดตั้งด้วยการรันสคริปต์ basic.sh ที่เราแก้ไขไปเมื่อสักครู่
./basic.sh
หลังรันคำสั่งข้างต้น คุณจะเห็นหน้าจอติดตั้งเริ่มต้นของ macOS กด Enter เพื่อดำเนินต่อ
หมายเหตุ: เมาส์อาจทำงานไม่ถูกต้องตอนนี้ ต้องใช้ปุ่มลูกศรนำทางแทน
ใช้ปุ่ม Ctrl + Alt + G เพื่อหลุดจากการควบคุมเมาส์และคีย์บอร์ดของหน้าต่าง virtual machine
อ่านเงื่อนไข license และดำเนินการติดตั้งต่อโดยเลือกปุ่ม Agree
จำได้ว่า format virtual disk ด้วย Disk Utility ก่อนดำเนินการติดตั้งต่อ
เลือกขนาดดิสก์ที่ตรงกันจากแผงซ้าย กดปุ่ม Erase จากนั้นเปลี่ยนชื่อดิสก์เป็น MainDisk ใน disk utility ใช้รูปแบบ Apple File System (APFS) format ดิสก์ และ GUID partition map scheme ตามภาพด้านล่าง
หลังทุกอย่างตั้งค่าเสร็จ ปิดหน้าต่าง disk utility ด้วยปุ่มแดงมุมซ้ายบน ระบบจะนำคุณกลับหน้าจอก่อนหน้า
ด้วย virtual hard disk ที่ format เรียบร้อยแล้ว ตอนนี้ดำเนินติดตั้ง macOS โดยเลือก Reinstall macOS
ตอนนี้เลือก installation disk ที่จะเก็บระบบ macOS ของคุณ
หน้าจอถัดไป กด Continue เพื่อดำเนินการติดตั้งต่อ
การติดตั้งจะใช้เวลาสักพัก ตามเวลาประมาณการเริ่มต้นด้านล่าง หยิบกาแฟหรือเครื่องดื่มโปรดมาดื่มขณะรอ
ระหว่างติดตั้ง ไม่ต้องเลือกอะไรเพิ่ม จนกว่าจะเห็นหน้าจอที่ขอให้กำหนดค่า OS
กำหนดค่าการติดตั้ง macOS ของคุณ
หากการติดตั้งมาถึงขั้นนี้แล้ว ถึงเวลากำหนดค่า OS ใหม่ เริ่มด้วยเลือกประเทศหรือภูมิภาคที่อาศัย
จากนั้นเลือกตัวเลือกภาษาเขียนและพูด สามารถใช้ปุ่ม Customize Settings เพิ่มการรองรับภาษาได้หากต้องการ
หน้าจอถัดไปนำเสนอวิธีที่ Apple จัดการข้อมูลและความเป็นส่วนตัวของผู้ใช้ กด Continue
กับ macOS คุณมีตัวเลือกโอนข้อมูลจาก PC หรือสื่อจัดเก็บอื่น แต่เราจะไม่ทำขั้นนี้ตอนนี้ เพื่อให้ง่ายขึ้น
คุณเลือก Sign in ด้วย Apple ID ภายหลังได้
หน้าจอ Terms and Conditions เลือก Agree หากต้องการดำเนินการติดตั้งต่อ
ตอนนี้ตั้งค่าบัญชีผู้ใช้ ใส่ username และรหัสผ่านปลอดภัย คุณใส่ hint ช่วยจำรหัสผ่านได้หากลืม
หน้าจอ Express Set Up กด Continue
หน้าจอ analytics ขอความยินยอมแชร์ crash และ usage data ให้ developers ทิ้งเครื่องหมาย Share crash and usage data with app developers และกด Continue
Screen time ให้ตั้งค่าว่า macOS ควรบันทึกและสรุปการใช้หน้าจอ เลือก Set Up Later แล้วกด Continue
หากชอบ voice assistant เลือกว่าเปิดใช้งาน Siri หรือไม่ กด Continue เพื่อดำเนินการติดตั้งต่อ
ขั้นสุดท้ายก่อนเห็นเดสก์ท็อป macOS ใหม่ คือตั้งค่าสีธีม เราจะเลือกธีม Dark สำหรับ tutorial นี้
สุดท้าย คุณจะได้เดสก์ท็อป macOS ตอนนี้เริ่มใช้ระบบได้ แต่อาจมีตัวเลือกตั้งค่าบางอย่างโผล่มาเรื่อยๆ คุณเลือกอัปเดตระบบตอนนี้หรือภายหลังก็ได้
แล้วคุณได้ macOS รันภายใน virtual machine บน Ubuntu Linux
เริ่มและหยุด Virtual Machine
คุณปิดหรือรีสตาร์ทระบบ macOS ได้หากใช้ virtual machine เสร็จ เพื่อหยุด virtual machine กด Ctrl + C ในเทอร์มินัลที่มีสคริปต์ basic.sh รันอยู่
เพื่อเปิด virtual machine อีกครั้ง รันสคริปต์ basic.sh ภายในโฟลเดอร์ macOS ที่ host virtual hard disk ของคุณ
./basic.sh
คุณจะเห็น boot screen ด้านล่าง เลือกตัวเลือก Boot macOS from MainDisk
การกำหนดค่าเพิ่มเติมกับ QEMU/KVM
คุณกำหนดค่า virtual machine เพิ่มเติมได้ รวมถึง screen resolution แตคู่มือนี้เน้นแค่การติดตั้ง เปิดโฟลเดอร์ /docs ภายในไดเรกทอรี macOS ที่มี virtual hard disk เพื่ออ่านเพิ่มเติมเกี่ยวกับการกำหนดค่าต่อ
macOS virtual machine จะใช้ internet connection ของ host OS อัตโนมัติ ดังนั้นติดตั้งแอปโปรดได้ง่าย คุณติดตั้ง macOS ด้วย virtual machine บน Windows OS ได้เช่นกัน