Я предпочитаю iproute пакет:
# get the default route
ip route list | awk ' /^default/ {print $3}'
# get the default route but limit on eth0 (output may be empty)
ip route list dev eth0 | awk ' /^default/ {print $3}'
Вы корректны, что драйверы почти наверняка полностью отличались бы между Вашим физическим оборудованием и виртуальной машиной "аппаратные средства". Таким образом, в то время как Вы могли переместить VHD назад и вперед между boot-to-vhd и boot-in-VirtualPC, это не действительно практично. Существенное изменение аппаратной конфигурации инициировало бы переавторизацию каждый раз, когда Вы переключили режимы и после нескольких переключателей, Ваш ключ продукта не собирается работать больше.
Я сделал подобную вещь преобразовать старые аппаратные средства в виртуальную машину, и не ужасно трудно заставить физическое изображение работать в VM, пока хост-машина не слишком отличается от реальной машины.
Да, и можно пойти обоими путями - от начальной загрузки из изображения vhd и к выполнению в VPC или Hyper-V или другом пути. Sysprep требовался бы, если Вы идете другим путем, так, чтобы мини-установка работала для обнаружения различных драйверов при движении от VPC/HyperV vhd до начальной загрузки от vhd. Это должно предотвратить начальную загрузку от изображения vhd от выполнения дисковых драйверов интеграции при работе реальных аппаратных средств.
Интересная утилита недавно выпустила это, можно хотеть проверить, SysInternals Disk2vhd. Это может сделать некоторый hal fixups при возвращении к VPC:
http://technet.microsoft.com/en-us/sysinternals/ee656415.aspx
Это использует функцию теневой копии тома Windows XP/2003 или позже создать изображение. Я недавно создал vhd из ThinkPad T61P, и он запустил прекрасный на Гиперпротив.