Я использую Virtualbox на хост машине Windows 7 для запуска виртуальной машины Linux (Debian 9). В целях экономии сервер работает только в рабочие часы, остальное время спит, и просыпается перед началом рабочего дня по расписанию. Так вот при выходе машины с Windows в виртуальной машине почемуто пропадала сеть. На одной хост машине спасал просто перезапуск машины после выхода хоста из сна, но на новой машине с Windows 7 это не работало. Тогда нашлось решение, которое одинаково работает на обоих машинах. После выхода хоста из сна сначала сбрасываем настройки сетевого адаптера для виртуальной машины и возвращаем назад как надо. В моем случае сеть в виртуальную машину подключена, как мост.
Для сброса настроек сети используем скрипт:
"C:\Program Files\Oracle\
VirtualBox\VBoxManage.exe" controlvm MY-VM-NAME nic1 null
"C:\Program Files\Oracle\
VirtualBox\VBoxManage.exe" controlvm MY-VM-NAME nic1 bridged "MY-HOST-NIC-NAME"
Где MY-VM-NAME - имя виртуальной машины, nic1 - виртуальный сетевой адаптер №1, MY-HOST-NIC-NAME - имя реального сетевого адаптера для моста (см. в выпадающем списке адаптеров в VirtualBox).
Определим нужный нам адаптер, выполним команду:
ipconfig /all
ЕЁ Вывод
Ethernet adapter:
DNS-суффикс подключения . . . . . :
Описание. . . . . . . . . . . . . : Realtek PCIe GBE Family Controller
Физический адрес. . . . . . . . . : F4-6D-04-2E-6E-96
....
В VirtualBox он отображается как Realtek PCIe GBE Family Controller #3
Тогда в скрипт пишем:
"C:\Program Files\Oracle\
VirtualBox\VBoxManage.exe" controlvm myVirtMash nic1 null
"C:\Program Files\Oracle\
VirtualBox\VBoxManage.exe" controlvm myVirtMash nic1 bridged "Realtek PCIe GBE Family Controller #3"
Добавляем планировшик Windows задание на запуск скрипта при выходе из сна. Теперь сеть виртуальной машины будет работать корректно.