Не удается загрузить ISO Ubuntu Server 22.04 LTS ARM 64-bit в QEMU на Windows 11.

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

Краткое описание проблемы

Я использую Windows 11 и установил QEMU с помощью менеджера пакетов Scoop.

scoop install qemu

После этого я попытался запустить виртуальную машину QEMU, используя архитектуру процессора ARM 64-бит. Я хочу загрузить виртуальную машину с ISO с Ubuntu 22.04 LTS ARM 64-бит.

qemu-system-aarch64 -cpu cortex-a15 -m 4096 -machine virt -drive if=virtio,format=raw,file=ubuntu-22.04.1-live-server-arm64.iso -boot d
  • Используя эмуляцию процессора ARM Cortex A15
  • Выдал виртуальной машине 4 ГБ памяти
  • Используя общий тип машины virt
  • Подмонтировал ISO-файл с драйвером virtio
  • Проинструктировал виртуальную машину загрузиться с CD-ROM с помощью -boot d

Ожидаемый результат

Виртуальная машина QEMU запускается с ISO сервера Ubuntu.

Фактический результат

Окно монитора QEMU появляется, но ISO на самом деле не загружается.

введите описание изображения здесь

Метод 1 (Успешно)

1. Получите файл EFI.

Я получил его из своего WSL Ubuntu.

sudo apt-get install qemu-efi
cp /usr/share/qemu-efi-aarch64/QEMU_EFI.fd  ./

2. Загрузите img.

Скачайте img QEMU вместо установки из ISO файла.

Ссылка для загрузки: https://cloud-images.ubuntu.com/releases/22.04/release/ubuntu-22.04-server-cloudimg-arm64.img

Главная страница: https://cloud-images.ubuntu.com

3. Загрузка.

Лучше сделать копию img для резервного копирования перед загрузкой:

cp ubuntu-22.04-server-cloudimg-arm64.img ubuntu-arm.img

Загрузка:

qemu-system-aarch64 -M virt -cpu cortex-a72 -nographic \
    -net nic -net user \
    -bios QEMU_EFI.fd -hda ubuntu-arm.img

Если все работает нормально, вы увидите сообщения о загрузке и в конечном итоге попадете на экран входа в систему.

Метод 2 (Неудавшийся)

Я попытался установить ISO файл с файлом EFI, он загрузился и показал начальный экран установки, но в конце концов это не сработало. Через несколько минут после нажатия Enter, он выдал мне Не удалось запустить Snap Daemon, возможно, потому что не удалось подключиться к сети.

qemu-img create -f qcow2 ubuntu-arm.img 16G

qemu-system-aarch64 -M virt -cpu cortex-a72 -nographic \
    -net nic -net user \
    -bios QEMU_EFI.fd -hda ubuntu-arm.img \
    -cdrom ubuntu-22.04.2-live-server-arm64.iso -boot d

Мне удалось на ubuntu22.04, возможно, это даст вам какое-то направление.

(Программа qemu была установлена)

  1. Создайте файл qcow2: qemu-img create -f qcow2 ubuntu22-server-arm64.img 50G.

  2. Выполните следующую команду:

    sudo /usr/local/bin/qemu-system-aarch64 -nographic \
    -m 8G -cpu cortex-a72 \
    -machine virt -smp 4 \
    -bios /usr/share/qemu-efi-aarch64/QEMU_EFI.fd \
    -device virtio-gpu-pci \
    -netdev user,id=net0 -device virtio-net-device,netdev=net0 \
    -device nec-usb-xhci,id=xhci,addr=0x1b \
    -device usb-tablet,id=tablet,bus=xhci.0,port=1 \
    -device usb-kbd,id=keyboard,bus=xhci.0,port=2 \
    -hda ubuntu22-server-arm64.img \
    -drive file=ubuntu-22.04.2-live-server-arm64.iso,if=none,id=cdrom,cache=writeback \
    -device virtio-blk,drive=cdrom,bootindex=0 \
    -vnc 0.0.0.0:60
    
  3. Получите доступ к 127.0.0.1:5960 через VNCViewer, и на командной строке также появится некоторая информация. После ожидания некоторое время, командная строка выведет следующие сообщения об ошибках. Игнорируйте их и продолжайте ожидать некоторое время, затем интерфейс установки появится в окне VNC.

    [ TIME ] Время ожидания устройства /dev/ttyAMA0 истекло.
    [DEPEND] Неудовлетворимая зависимость для Subi…ler для Ubuntu Server ttyAMA0.
    [FAILED] Не удалось запустить Snap Daemon.
    
  4. После установки зеркального адреса установка может зависнуть и автоматически перезагрузиться. Игнорируйте сообщения об ошибках и продолжайте ожидать.

  5. В всплывающем окне на интерфейсе переустановки выберите “Попробовать установить снова” и продолжайте установку.

.

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

Проблема запуска Ubuntu Server 22.04 LTS ARM 64-бит ISO в QEMU на Windows 11

Запуск виртуальных машин с операционной системой Linux в среде Windows может стать настоящим испытанием, особенно когда речь идет о специфических архитектурах, таких как ARM 64-бит. Давайте рассмотрим решение этой проблемы по шагам, основываясь на вашем опыте и предоставленных данных.

Шаг 1: Верificaция окружения

Первое, что следует сделать, это убедиться, что у вас правильно установлены все компоненты. Вы можете использовать пакетный менеджер Scoop для установки QEMU, но проверьте, что у вас есть все необходимые зависимости и разрешения, чтобы QEMU могла работать должным образом с виртуальными машинами на архитектуре ARM.

Шаг 2: Поддержка UEFI

Ваш первоначальный подход включает запуск виртуальной машины с использованием BIOS по умолчанию, что может быть причиной проблемы. Для поддержки UEFI, необходимого для современных дистрибутивов, таких как Ubuntu Server, необходимо загрузить файл прошивки UEFI:

  1. Установите qemu-efi на WSL Ubuntu:

    sudo apt-get install qemu-efi
    cp /usr/share/qemu-efi-aarch64/QEMU_EFI.fd ./
  2. Скопируйте файл QEMU_EFI.fd в ту папку, где находится ваш ISO-образ.

Шаг 3: Загрузка с образа диска

Попробуйте загрузиться не с ISO-образа, а с образа виртуального диска (например, .img). Это может помочь избежать проблем, связанных с совместимостью ISO и BIOS.

  1. Скачайте облачный образ Ubuntu:

  2. Создайте резервную копию образа:

    cp ubuntu-22.04-server-cloudimg-arm64.img ubuntu-arm.img
  3. Запустите QEMU с EFI и образом:

    qemu-system-aarch64 -M virt -cpu cortex-a72 -nographic \
    -net nic -net user \
    -bios QEMU_EFI.fd -hda ubuntu-arm.img

Шаг 4: Альтернативное решение

Если вы все же хотите работать с ISO-файлом, рекомендую использовать следующий набор параметров, чтобы устранить возможные ошибки подключения к сети:

  1. Создайте новый образ диска:

    qemu-img create -f qcow2 ubuntu-arm.img 16G
  2. Запустите виртуальную машину с ISO-образом:

    qemu-system-aarch64 -M virt -cpu cortex-a72 -nographic \
    -net nic -net user \
    -bios QEMU_EFI.fd -hda ubuntu-arm.img \
    -cdrom ubuntu-22.04.2-live-server-arm64.iso -boot d

Шаг 5: Решение проблем с сетью

Если в процессе установки возникает ошибка "Failed to start Snap Daemon", это может быть связано с тем, что система не может получить доступ к интернету. Попробуйте следующие действия:

  1. Убедитесь, что у вас установлен драйвер сети:

    • Используйте параметры сети -net nic -net user.
    • Проверьте доступность сети в вашей виртуальной машине.
  2. Вы можете также попробовать подключить отдельный сетевой интерфейс, если у вас есть такая возможность.

Заключение

Работа с QEMU и Ubuntu на архитектуре ARM требует тщательной настройки и отладки. Следование указанным шагам поможет вам преодолеть затруднения и успешно запустить вашу виртуальную машину. Не забывайте, что иногда процессы, не связанные именно с виртуализацией, могут влиять на стабильность и производительность вашего окружения. Удачи в ваших экспериментах с виртуализацией!

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

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