Виртуализация Windows 7 с qemu-kvm Проблемы с SATA

Вопрос или проблема

Я работаю над виртуализацией образа Windows 7 с использованием KVM на Ubuntu 12.10 64 бита. Вот характеристики моего компьютера:

Процессор: Intel i7-2860WM, 8 ГБ ОЗУ

Я использую образ, созданный с помощью WinImage, на машине Windows 7 Ultimate 64 бита.

Мне удалось создать виртуальную машину и успешно ее запустить с использованием инструмента “virt-manager”. Чтобы образ работал правильно, я должен указать тип дискового шины как SATA, в противном случае, когда виртуальная машина пытается загрузиться, я получаю BSOD с кодом ошибки 0x0000007B, что связано с ошибками инициализации жесткого диска.

Я хотел бы иметь возможность создавать/запускать эту виртуальную машину из командной строки с использованием KVM, вместо того чтобы использовать утилиту virt-manager. Однако, когда я пробую следующее:

sudo kvm -hda Win7.vhd

Машина загружается и сразу переходит к BSOD с кодом ошибки 0x0000007B. Мне нужен способ из командной строки указать виртуальной машине использовать шину SATA. Или мне нужно создать виртуальную SATA шину и загрузиться с образа Win7.vhd? В основном, мне нужно иметь возможность указывать SATA в качестве опции шины из командной строки, но у меня не было удачи в этом. Любые мысли приветствуются!

у меня такая же проблема, как у вас (очень похожая), ссылаясь на этот источник, это будет:

sudo kvm -M q35 -m 2G -hda Win7.vhd

и немного отклонившись от темы, в моем случае это был реальный жесткий диск, который я вставил в свой Linux через SATA-USB конвертер, и он был определен как /dev/sdc, поэтому это сработало для меня:

sudo kvm -M q35 -m 2G -hda /dev/sdc

Тем не менее, вопрос действительно старый,

Установите драйвер VirtIO SCSI, упомянутый в Использовании драйверов virtio-win с Win7 SP1 x64 (я использую 173-4), затем используйте SCSI при добавлении нового диска в virt-manager.

Опция -hda все еще не работает, однако поведение изменилось в версиях qemu, что делает его несовместимым со старыми ОС, или, возможно, реализация контроллера IDE изменилась.

Тестировалось на qemu 8.2.2

Ответ или решение

Виртуализация Windows 7 с использованием QEMU-KVM и Проблемы с SATA

Виртуализация Windows 7 на платформе KVM (Kernel-based Virtual Machine) может быть сложной задачей из-за различных конфигураций дисковых контроллеров. Ваша проблема с кодом ошибки BSOD 0x0000007B, возникающая при запуске виртуальной машины, указывает на проблемы с инициализацией жесткого диска. Этот ответ будет опираться на вашу ситуацию и предложит решения для управления виртуальным SATA.

Основные Соображения

При виртуализации Windows 7 важно учитывать, с каким типом дискового контроллера вы работаете. В вашем случае, чтобы загрузить образ Windows 7, необходимо указать использование SATA-контроллера, так как Windows 7 требует правильного драйвера для инициализации SATA-устройств.

Использование коммандной строки для запуска KVM

Чтобы корректно запустить вашу виртуальную машину через командную строку, вы можете использовать следующие параметры команды kvm:

  1. Выбор модели системной платы:
    Используйте -M q35, чтобы выбрать модель системной платы Q35, которая имеет поддержку SATA и SCSI.

  2. Указание процессорной памяти:
    Можно установить объем оперативной памяти, который будет выделен виртуальной машине. Например, -m 2G для 2 ГБ.

  3. Указание жесткого диска с использованием SATA:
    Вместо параметра -hda используйте параметры для SATA, чтобы явно указать, что устройство будет использовать SATA контроллер. Вы можете сделать это с помощью опции -drive.

Пример команды для запуска виртуальной машины:

sudo kvm -m 2G -machine q35 -drive format=vpc,file=Win7.vhd,if=none,id=disk0 -device ahci,id=ahci -device ide-drive,drive=disk0

Опции и параметры

  • -m 2G – выделяет 2 ГБ оперативной памяти для виртуальной машины.
  • -machine q35 – определяет модель системной платы как Q35.
  • -drive format=vpc,file=Win7.vhd,if=none,id=disk0 – указывает файл образа как виртуальный диск с указанием формата.
  • -device ahci,id=ahci – добавляет контроллер AHCI, обеспечивающий поддержку SATA.
  • -device ide-drive,drive=disk0 – присоединяет виртуальный диск к системе.

Установка драйвера VirtIO (дополнительно)

Если планируете использовать SCSI или улучшенные функции доступа к диску, стоит рассмотреть установку драйверов VirtIO. Это может улучшить производительность вашей виртуальной машины. Убедитесь, что вы интегрировали драйверы VirtIO в образ Windows 7.

  1. Загрузите драйверы VirtIO с официального сайта.
  2. В процессе установки операционной системы выберите соответствующий драйвер во время выбора устройства.

Резюме

Для успешной виртуализации Windows 7 с использованием KVM в Ubuntu 12.10, обязательно укажите SATA-контроллер через правильные команды в командной строке. Использование -m, -machine и -drive позволяет избежать проблем с загрузкой и инициализацией жесткого диска. Если вы столкнулись с дополнительными трудностями, убедитесь, что все необходимые драйвера установлены и поддерживают вашу конфигурацию.

Оцените материал
Добавить комментарий

Капча загружается...