Не удается загрузиться с VHD, экспортированного из Hyper-V
У меня есть виртуальная машина под управлением Windows 2008 R2 x64 в качестве гостя и Hyper-V R2 x64 в качестве хоста.
Я клонировал VHD-файл виртуальной машины, и теперь я хочу загрузиться с него прямо на моем ноутбуке, который является Windows 7 Enterprise X64 SP1 (с аппаратной виртуализацией).
Для этого я настроил запись BCD:
bcdedit /copy {current} /d "Boot_From_VHD"
Запись была успешно скопирована в {1230b942-0833-11e1-abb2-d1169c7203ba}
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} device vhd=[E:]\vhd\myvhd.vhd
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} osdevice vhd=[E:]\vhd\myvhd.vhd
bcdedit /set {1230b942-0833-11e1-abb2-d1169c7203ba} detecthal on
Бег bcdedit /enum
Я вижу свою запись:
Windows Boot Loader
-------------------
identifier {1230b942-0833-11e1-abb2-d1169c7203ba}
device vhd=[E:]\vhd\myvhd.vhd
path \Windows\system32\winload.exe
description Boot_From_VHD
locale en-us
inherit {bootloadersettings}
osdevice vhd=[E:]\vhd\myvhd.vhd
systemroot \Windows
resumeobject {1230b940-0833-11e1-abb2-d1169c7203ba}
nx OptIn
detecthal Yes
Когда я перезагружаюсь, я вижу запись в меню загрузки. Если я выберу только что созданную запись, я на несколько секунд вижу логотип Windows, затем BSOD.
Этот BSOD не очень полезен, так как он предлагает только запустить chkdsk
, Также ставится связка из 64-битных шестнадцатеричных чисел, но без сообщения об ошибке.
Есть идеи, как решить проблему?
PS: я хочу сохранить свою систему без изменений, за исключением возможных аппаратных изменений. Я не бегала sysprep /generalize
так как будут сброшены все пользователи, имя хоста и т. д.
1 ответ
Я наконец решил свою проблему.
BSOD сообщает об ошибке STOP: 0x0000007B
, что значит inaccessible boot device
,
Это ставит меня на путь пропавших водителей. На самом деле машины Hyper-V используют эмуляцию IDE, и я полагаю, что в образе доступны только драйверы IDE, в то время как мой ноутбук использует диск eSata.
Чтобы решить эту проблему, я использую команду DISM /add-driver, используя следующую процедуру на ноутбуке, на котором будет работать ОС:
- Смонтируйте VHD в управлении дисками (тоже может diskpart) -> на моем компьютере, который добавляет два диска, F: для зарезервированного системного раздела, G: для раздела Windows
Добавьте все драйверы ноутбука к изображению, набрав:
dism /image:g: /add-driver /driver:c:\windows\inf /recurse
Добавьте также последние загруженные драйверы:
dism /image:g: /add-driver /driver:c:\somewhere\drivers /recurse
Это заняло несколько минут, но после операции мой VHD содержит все драйверы. Я думаю, что важно запустить команду на целевом ноутбуке, чтобы убедиться, что добавлен весь драйвер.
Наконец, я перезагрузился, выбрал правильную загрузочную запись, и она загрузилась:)
Мне пришлось несколько раз перезагружаться из-за обнаружения нового оборудования, но в итоге моя система была переведена с виртуальной на физическую.