Этот топик посвящен переносу windows xp с реальной машины на виртуальную под управлением VirtualBox.
Зачем это нужно?
Мне потребовалось обновить ОС на ноутбуке с windows xp до windows 7 с сохранением всех настроек программ, логов в IM клиентах и прочими вещами. Было 2 варианта:
- сделать бэкап нужных файлов и поставить windows на чистый диск
- поставить windows 7 второй системой
Первый вариант опасен тем, что некоторые вещи можно забыть забэкапить либо из бэкапа их восстановить будет сложно, а второй предполагает добавление лишнего мусора в файловую систему, а также усложнение навигации и поиска.
Поэтому было решено из реальной системы сделать виртуальную. Это оказалось совсем не сложно.
Подготовка к переносу
Прежде всего нужно убрать все ненужное.
- Очищаем раздел с системой от ненужных файлов (переносим или удаляем их), стараемся освободить раздел как можно больше. Это нужно для того, чтобы получаемый образ занимал меньше места.
- Удаляем аппаратно-зависимые приложения и специфичные устройства из диспетчера устройств. В моем случае это оказались различные приложения от HP (quick launch buttons, credential manager и куча других), а также драйвер тачпада. Но я про это не знал и в итоге обрел немного гемороя после переноса :)
- Чистим автозагрузку. Можно воспользоваться AVZ или аналогичными программами, умеющими удалять запускаемые приложения из реестра. Так же можно отключить несистемные службы (если знаете, зачем они нужны). Это поможет избавиться от диких тормозов после переноса, если что-то пойдет не так.
Установка ПО и перенос
Для переноса проще всего воспользоваться VMware Converter. Эта утилита позволит сделать из системного раздела образ, который потом можно будет загрузить в VirtualBox. На официальном сайте для скачивания нужно пройти какую-то хитрую регистрацию, но с помощью гугла удалось найти прямую ссылку на дистрибутив с официального сайта. Насколько я помню, программа это платная, но у нее есть триал период в 15 дней, которого вполне достаточно для переноса.
Устанавливаем эту программу и запускаем. Создаем новую задачу, выбираем в качестве источника локальный компьютер, выбираем разделы жесткого диска (тут нужно обязательно указать загрузочный и системный (если они отличаются) разделы!). В качестве результата конвертации выбираем other virtual machine. Далее выбираем место, куда будет сохранен образ (нужен или съемный носитель достаточного объема или сетевой диск). В качестве типа виртуальной машины выбираем Workstation 5.x (для нее точно есть поддержка в Virtualbox), остальные настройки можно оставить по-умолчанию.
Теперь можно запустить конвертацию и набраться терпения, т.к. процесс этот долгий. Убедитесь, что на вашем носителе достаточно свободного места для хранения образа (также желательна файловая система NTFS, т.к. образ будет больше 2 Гб, иначе нужно устанавливать разбивку на 2гб файлы в настройках конвертера).
После конвертации запускаем VirtualBox на какой-либо машине, выбираем полученный образ в качестве жесткого диска и вуаля! получаем виртуальную машину (правда, не факт, что рабочую:)). В настройках виртуальной машины нужно установить галочки напротив ACPI и IO APIC, так же желательно дать ей побольше памяти (если есть).
Теперь можно запустить виртуальную машину.
Возможные проблемы
- Важно правильно выбрать системный и загрузочный разделы. На моем ноутбуке загрузочным оказался раздел восстановления D, чему я оказался неприятно удивлен. Без него образ не будет работать. Шаманства с командами fixboot и fixmbr в консоли восстановления ни к чему не привели.
- Если система лицензионная, то после переноса обязательно возникнут проблемы с активацией, т.к. меняется оборудование.
- Если система при запуске выдает ошибку, нужно попробовать запустить её в безопасном режиме и удалить несовместимые устройства в диспетчере устройств.
Полезная информация
- How to migrate existing Windows installations to VirtualBox
- Статья «Рокировка с Windows» в журнале Linux Format за январь 2008 г.
P.S. Таким образом мне удалось перенести историю в скайпе и профиль Firefox в новую систему, которые обычным копированием файлов переноситься не захотели (пришлось ставить дополнительные программы). Если окажется что я забыл что-нибудь перенести, то всегда можно будет запустить виртуальную машину.