3

Что я хочу сделать:

Я пытаюсь виртуализировать две разные физические системы Windows XP, которые находятся на одном жестком диске, в VirtualBox под Windows 7.

Что я сделал (один раз за диск):

Из системы Linux:

dd if=/dev/sd(disk) of=d1.img conv=noerror,sync bs=64k

Из системы Windows 7

vboxmanage convertfromraw d1.img d1.vdi

Где я нахожусь:

Кажется, что во время загрузки любой виртуальной машины Windows зависает (в безопасном режиме) при загрузке mup.sys . В обычной загрузке это просто пустой экран. У меня не так много работы, поэтому любые пункты, чтобы получить больше результатов отладки, также были бы хорошими.

Я почти уверен, что ранее использовал этот метод для Linux и подобных систем. Мои знания VirtualBox довольно ограничены по сравнению с Xen или KVM.

4 ответа4

4

Вариант восстановления работает, но это потому, что вы использовали валун для гвоздя вместо более быстрого молотка, особая проблема связана с hal.dll (уровень абстрагирования оборудования), который был разработан для вашего исходного физического блока и его неспособности интерпретировать новый VM.

Короткая версия, если вы спешите, скопируйте работающий файл hal.dll с идентичной или похожей рабочей виртуальной машины на свой не загрузочный, и вы избежите необходимости выполнять процесс установки / восстановления.

Проведя весь процесс ремонта, вы успешно установите работающий HAL, но это самый долгий и самый трудоемкий метод. Самый быстрый метод заключается в использовании других рабочих виртуальных машин с максимально близкими / идентичными аналогичными версиями SP и исправлений, поскольку некоторые исправления Microsoft заменят ключевые системные dll-файлы, такие как HAL, и копируют рабочий HAL.dll в неисправный виртуальный компьютер% systemrootn%\system32 после того, как вы ' Мы переименовали неисправный в любое, что вы хотите.

Если у вас нет библиотеки работающих виртуальных машин, вы все равно можете использовать установочный компакт-диск, который вы использовали ранее для полного восстановления, и сэкономить много времени, загрузившись в (интерактивную) консоль восстановления, которая является одной из лучших попыток Microsoft SingleUserMode.

У вас должен быть нумерованный список обнаруженных папок ОС, даже в одной загрузочной системе по-прежнему будет один каталог Windows с меткой (1), выберите поврежденную сборку, и вас попросят ввести пароли и поместят в оболочку в корне c. :\windows или что-то еще, ваша уникальная буква диска и каталог (% systemroot%)

Заархивируйте поврежденный Hal.dll на тот случай, если он нам понадобится снова по причинам, о которых мы пока не можем думать. ren system32\hal.dll hal.dllBROKE

На установочном компакт-диске найдите файл halacpi.dl_ (обычно i386\halacpi.dl_) и используйте команду развертки после переименования неисправного HAL. Доступность переменных среды зависит от ОС и версии, поэтому будьте готовы использовать явные пути, такие как:

разверните halacpi.dl_ c:\windows\system32\hal.dll или попробуйте переменные среды, если они доступны для уверенности, разверните halacpi.dl_% systemroot%\system32\hal.dll

В некоторых версиях XP, 2003 server /2003R2 также есть исходный файл HAL.dl_ на установочном носителе, в то время как вы здесь и расширяете его для безопасности в случае сбоя нашего расширения halacpi.dll:

разверните файл hal.dl_ c:\windows\system32\hal 2.dll

Выйдите из меню восстановления и перезагрузите компьютер, скорее всего, процесс загрузки завершится успешно или, по крайней мере, пройдет через точку mup.sys / зависания в прошлом. Однако, поскольку вы неоднократно перезагружали эту виртуальную машину, не удивляйтесь, если у вас есть грязный диск, требующий пятиступенчатый chkdsk для томов NTFS, и полностью три этапа для томов Fat32 / Fat16. В зависимости от того, насколько сильно диск был замаскирован, он может не удастся восстановить самостоятельно и остановится при установке по умолчанию "Проверка диска C" белым текстом на черном DOS-окне.

В этот момент вы должны решить, следует ли восстановить исходный, не загруженный, но не загружаемый VHD и HAL, или, если вам нужно восстановить эту проблемную виртуальную машину, которая не может себя починить, смонтировать ее как диск с данными в работающей виртуальной машине или системе и выполнить chkddsk. в качестве носителя данных или с помощью любого бесчисленного количества ремонтных BOOT CD

Вам также может пригодиться ослабить этот файл boot.ini на неисправной виртуальной машине, который к настоящему времени вы, вероятно, превратили в закаленного мстителя отладки с загрузкой журнала, без флагов GUI и SOS и добавьте просто запись запуска по умолчанию, так как неправильные модификации, такие как в качестве непреднамеренного переноса слов и умных кавычек, которые, кажется, неизменно проникают в файлы boot.ini, которые постоянно подделывались и тестировались в течение вашего периода оскорбительного разочарования.,

Microsoft Virtual PC, администраторы Virtual Server (ранние добавления) были напуганы этой проблемой в течение многих лет, так как Microsoft не сообщала о проблемах HAL, несмотря на их утилиту disk2vhd, обходные пути были такими же суеверными, как и много времени, такими как принудительное изменение размера физического раздела до надеялся на VHD до преобразования в виртуальную машину вместе с полным методом восстановления.

2

Просто разместите это как ответ, потому что это, кажется, сработало.

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

0

Возможно, вы захотите удалить все драйверы, которые находятся в меню "Установка и удаление программ" на панели управления.

Кроме того, перейдите в диспетчер устройств, найдите "Контроллеры жесткого диска" или "Контроллеры хранилища" или "Контроллеры IDE" или аналогичную категорию, щелкните правой кнопкой мыши каждый из контроллеров и нажмите "Удалить".

Только после того, как вы сделали эти шаги, приступайте к созданию изображения.

Windows XP не так гибка, как Windows 7, при переносе существующей ОС на новую материнскую плату (или, в вашем случае, виртуальную машину). Если это не помогло, попробуйте вариант восстановления @Sirex.

-1

Проверьте настройку APIC виртуальной машины, она должна соответствовать наличию или отсутствию APIC времени, когда была установлена Windows.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .