Существует ли решение, позволяющее запускать гостевую ОС, которая функциональна сама по себе? То есть, например, основная система — Mac OS X, под виртуалкой крутится Windows 7, но при необходимости можно ребутнуться в ту же самую винду.
Насколько я помню, современные виртуалки (vmWare, VirtualBox) позволяют использовать в качестве подключаемого диска раздел на винчестере или даже весь винчестер целиком.
Т.Е. как это работает:
1. Создается виртуалка, в качестве диска подключается раздел/винчестер.
2. Устанавливается нужная ОС.
3. (самое веселое) ОС настраивается так, чтобы минимально зависила от железа, на котором работает
4. В хостовой ОС настраивается загрузка с указанного раздела, подключенного как виртуальный HDD.
Всё.
К сожалению, на практике раздел, отформатированный из-под виртуальной машины, может быть не виден (точнее виден как неотформатированный) из ОС физической машины.
Единственная «реальная» проблема, которая может возникнуть — если в качестве хост-ОС — Windows NT младше 6.0, но это решается использованием Acronis'овского бутлоадера.
Если используется мак — можно отстроить EFI-загрузчик так, чтобы он брал bootrecord из указанного логического тома (или нельзя?). В любом случае, UNIX-загрузчики очень гибки в настройке.
Если Linux — вообще никаких вопросов. Ведь загрузчику по большей части пофиг на то, что находится в разделе и какой у него заголовок и структура — он просто выполняет первые n кбайт тома.
Подключайте хард в виртуалку и все. (aka kvm -m 256 -hda /dev/sdb) Если линь — то заведется без особых проблем, если винда — смотрите в сторону usboot (как-то, так, позволяет винде грузится на любом железе)
Без проблем! У меня именно так и работает. Просто к виртуальной машине подключается не виртуальный жесткий диск, а реальный. В VirtualBox, например, это делается командой «VBoxManage internalcommands createrawvmdk» (см. в мануале раздел 9.7.1. Using a raw host hard disk from a guest).