Устанавливать Windows XP на SATA-диски в VirtualBox с переменным успехом я пробовал. И вот возникло желание перенести рабочую виртуальную машину с IDE-контроллера на SATA-контроллер без переустановки. В интернете нашёл инструкцию этого процесса, но на английском. Попробую собрать всё вместе.
Перенос системы выполняется всего в два этапа.
Этап первый. Добавление контроллера SATA.
В настройках выключенной виртуальной машины надо открыть страницу с носителями и добавить новый SATA-контроллер "AHCI (SATA)":
Теперь надо включить виртуальную машину и установить драйвер на только что добавленный контроллер. Для этого его необходимо скачать "Intel Matrix Storage Manager Driver". Его можно найти по следующим именам файлов.
На всякий случай загрузил оба файла на Яндекс.Диск по ссылке.
Так же эти драйверы можно применять во время установки системы.
Если драйверы установились нормально, в диспетчере устройств нет никаких ошибок, то можно переходить ко второму этапу.
Второй этап. Перенос дисков на SATA-контроллер.
Нужно выключить виртуальную машину и снова открыть страницу с накопителями в настройках. Теперь надо перетащить все диски на новый контроллер. Делать это можно с помощью мыши или удалением диска на старом контроллере и добавлением его на новом. Нужно внимательно следить, чтобы диски в порты SATA-контроллера добавлялись в том порядке, в котором они были подключены к IDE-контроллеру. Если порядок нарушен, то исправить его можно ручным указанием номера порта уже подключённого носителя.
Как минимум системный диск должен быть подключён к порту №0.
Теперь можно удалить IDE-контроллер, сохранить настройки и попробовать включить виртуальную машину. Если порядок дисков не нарушен, то система должна нормально загрузиться.
После загрузки система установит драйверы на диски и попросить перезагрузиться, чтобы начать правильно использовать диски.
Теперь система перенесена на SATA-контроллер без переустановки.
Эта инструкция актуальна только для Windows XP. Для более новых систем перед переключением дисков необходимо отредактировать реестр, чтобы служба "msahci" запускалась при загрузке.