การแก้ปัญหา
ความล้มเหลวที่คนจริงเจอ และคำสั่งที่บอกว่าคุณกำลังดูอันไหน
เริ่มที่นี่:
1vm doctor # host, entitlements, library, engines
1vm capabilities # what this specific Mac can and cannot do
1vm logs <vm> # guest serial and host lifecycle logs
logs รับ --source guest|host|all, --lines N และ --follow คำถาม "มันล้มแค่นั้น" ส่วนใหญ่ตอบได้จากบรรทัด serial guest สุดท้ายไม่กี่บรรทัด
ทุกเครื่องเริ่มไม่ได้
เกือบทุกครั้งเป็นเรื่องลายเซ็น แอปต้องมี virtualization entitlement
ดังนั้น binary ที่ย้ายออกจาก bundle หรือถูกลอกลายเซ็นจะเริ่มอะไรไม่ได้
ติดตั้งใหม่จากแอปต้นฉบับ แทนการคัดลอกชิ้นส่วน 1vm doctor รายงานสถานะ entitlement โดยตรง
เครื่องบอกว่า running แต่ไม่มีจอ
ตรวจ 1vm logs <vm> --source guest เครื่องที่มี vCPU จะรายงานว่า running
แม้ firmware ไม่ถึง guest — ดังนั้น "running" บวกจอดำมักหมายถึง boot ล้มเหนือเอนจิ้น
ไม่ใช่หน้าต่างหาย
สำหรับ Windows บนเอนจิ้น fallback Virtualization.framework จอ Setup ดำจนกว่า display driver จะ bind เป็นที่คาด ใช้เอนจิ้น 1VM แทน ที่ ramfb เปิด Setup โดยไม่ต้องมี driver
ISO x86 บูตไม่ได้
ทำไม่ได้ ทั้งสองเอนจิ้นรันโค้ด guest แบบ native บน Apple silicon ดังนั้น guest ต้องเป็น ARM64 ไม่มีเส้นทาง emulate หรือแปล — คุณต้อง build ARM64 ของ OS นี่เป็นความประหลาดใจที่พบบ่อยที่สุด และเป็นเหตุผลที่ คู่มือ Omarchy มีอยู่เพื่ออธิบายเต็มๆ
Windows ไม่มีเครือข่าย
ติดตั้งไดเวอร์ NetKVM ของ virtio-win Windows มีไดเวอร์ในตัวสำหรับ NVMe และ
xHCI จึงทำให้ดิสก์และคีย์บอร์ดใช้ได้ทันที แต่ไม่มี virtio-net แนบ ISO ไดเวอร์ตอน create ด้วย --drivers
guest หมดหน่วยความจำระหว่างติดตั้ง
ตัวติดตั้งเป็นจุดสูงสุดของหน่วยความจำ ไม่ใช่ระบบที่กำลังรัน ให้เครื่องมากขึ้นแล้วลองใหม่:
1vm stop dev --force
1vm set dev memory 8GiB
1vm start dev
ถ้า Mac เองกดดัน 1VMTool จะ scale โปรไฟล์ลงและบอกคุณ แทน overcommit เงียบๆ
คีย์บอร์ดติดใน guest
แตะ release chord — แถบสถานะคอนโซลแสดงชุดที่ active สำหรับหน้าต่างนั้น ตั้งค่าได้:
1vm get dev input.releaseChord
การตั้งค่าเปลี่ยนไม่ได้
การเปลี่ยนฮาร์ดแวร์บนเครื่องที่กำลังรันถูกปฏิเสธ เว้นแต่การตั้งค่าระบุชัดว่ารองรับ หยุดเครื่อง เปลี่ยน แล้วเริ่ม การตั้งค่าถูกตรวจเมื่อตั้ง ดังนั้นข้อผิดพลาดระบุปัญหาจริง แทนการล้มตอนบูตครั้งถัดไป
สคริปต์ค้างหรือ race
ใช้ 1vm wait-ready <vm> แทน sleep "running" หมายถึงเครื่องกำลัง execute "ready" หมายถึง guest เข้าถึงได้ผ่าน SSH หรือ guest agent
ช่องว่างระหว่างนั้นคือที่สคริปต์ไม่เสถียรอาศัย
กลับสู่สถานะที่ใช้งานได้
1vm discard-session dev --force # undo everything since this boot
1vm snapshot restore dev clean # go to a named snapshot
1vm reset dev --force # back to the clean state
ถ้าคุณข้ามการถ่าย snapshot นี่คือช่วงที่ควรเริ่ม: ไม่มีค่าใช้จ่าย และ นั่นคือประเด็นทั้งหมด