Есть ли у виртуальных машин, таких как VirtualBox, API для работы с IO?
Ну я вроде подразобрался, но решения пока окончательного не нашел - да, апи есть, оно описано в доке на sdk, которое можно скачать отсюда, там в docs всё написано на первых страницах, есть пара примеров на java и  python. Примерно выглядит всё так - есть api, доступное через сеть (или "как бы через сеть", localhost) и есть api, построенное как com - т.е. полностью локальное. Само API похоже на winapi - там есть всё, что нужно, дока по классам занимает около 300стр. Сам sdk написан на си\с++ , также есть "клей" для java и python. Для вэб версии вроде еще .net и php. Если вас интересуют другие языки - используйте либу в вашем любимом *language_name* которая сгенерит классы или другую обёртку на основе имеющегося WSDL (приложен к sdk). Вот с последним пока не разобрался.
Мне , например, нужно было сразу после установки VM  поднять на ней некоторый софт. Все сделать из одного скрипта, не выходя из него. Поэтому зашел сюда...