Una configurazione di sviluppo comune in questi giorni consiste nell'utilizzare sistemi operativi guest separati per lo sviluppo e il test. Con così tanti diversi SO e configurazioni da testare, sembra l'unica soluzione valida per la CPU singola.
Nella mia esperienza personale, tendo ad avere il sistema operativo host su misura per cercare la documentazione e un sistema operativo guest specifico per lo sviluppo. Quindi per ciascun sistema operativo su cui eseguirò il test, visualizzerò l'immagine di installazione del sistema operativo e creerò una nuova macchina virtuale. Quelli del sistema operativo guest modifico il meno necessario per garantirne la stabilità.
Conservo ancora tutti i miei file importanti sul file system del sistema operativo host in modo che Time Machine continui a prelevarli. Tuttavia, se stai ospitando Mac OS, un Time Capsule o una sorta di AFP condiviso sarebbe comunque fattibile se decidessi di eseguirne il backup. Non includo i dischi di avvio della VM nei miei backup per il sistema operativo host: cambiano spesso e sono piuttosto grandi.
In genere considero le macchine virtuali come un sistema operativo monouso. Dopo la configurazione iniziale, archivo il disco di avvio della VM e lo tocco solo se devo ripristinare.
Inoltre, se stai usando VMWare, puoi usare Istantanee prima di installare i tuoi pacchetti. Questo è molto più conveniente rispetto a fare un backup completo di Time Machine, come spesso si vuole fare dopo aver incasinato i file di sistema.
Sembra che tu non abbia superato il punto di non ritorno sul tuo sistema operativo host. Probabilmente puoi ancora percorrere questa strada e potresti trovarla meglio a lungo termine.