Физические диски в виртуальной машине

В последнее время в связи с некоторыми рабочими задачами увлёкся виртуальными машинами. В виртуальной машине на CentOS, к примеру, без проблем запускается сервер, к которому можно подключаться с хост-машины, получая возможности создания слепков системы, откатывать их при необходимости и так далее.

Виртуалку можно использовать также для тестирования изготавливаемых сборок Windows, что тоже иногда бывает полезно.

Однако, может быть удобно поставить операционную систему на физический диск, посмотреть и настроить её из виртуального окружения, а впоследствии загрузиться в эту настроенную систему напрямую.

В Windows для этого трюка нужно следующее.

Подключение диска к системе и определение его номера

В окне «Управление компьютером» (compmgmt.msc) в разделе «Управление дисками» смотрим в нижнюю половину окна слева: там надписи вида «Диск 1», «Диск 2» и т.д. Запоминаем номер диска.

Создание файла-ссылки на физический диск

Открываем командную строку от имени администратора, переходим в C:\Program Files\Oracle\VirtualBox, и выполняем команду vboxmanage internalcommands createrawvmdk -filename "C:\Users\happy\VirtualBox VMs\<directory_name>\<filename>.vmdk" -rawdisk \\.\PhysicalDrive#, где <directory_name> и <filename> — имя директории и файла, куда поместить файл-ссылку с расширением .vmdk, а # — номер диска из предыдущего пункта.

В Windows физический (raw) доступ к диску без прав администратора невозможен, а значит любая работа с этим файлом потребует прав администратора.

Запуск виртуальной машины

Запускаем Oracle VirtualBox от имени администратора, создаём виртуальную машину, но диск для неё не создаём. Переходим в настройки виртуальной машины, вкладка «Носители», и к контроллеру (IDE или AHCI) добавляем жёсткий диск. В открывшемся после этого окне в меню «Носитель» (под заголовком окна, как обычно) нажимаем «Добавить…» и выбираем созданный файл. Если запустили VirtualBox не от имени администратора, то открыть файл не получится. Смена владельца на локального пользователя ничего не даст, прямой доступ к диску так не получить.

Если всё сделано правильно, то в перечне виртуальных машин при выборе соответствующей машины файл диска будет отображаться без дополнительных отметок, то есть будет полностью доступен.

Есть у меня сомнения в том, как будет (и будет ли вообще) работать функция слепков состояний такого диска.