πŸ’» Эмулятор Qemu | Установка ΠΈ настройка (Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ)

πŸ’» Эмулятор Qemu | Установка ΠΈ настройка (Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ)

Qemu - это бСсплатный инструмСнт с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для эмуляции ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Windows, Linux, MacOS ΠΈ Π΄Π°ΠΆΠ΅ Π½Π° Android.

Π’ΠΎΡ‚ основныС области, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Qemu:

  • Запуск Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ОБ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Linux, Windows, BSD) Π½Π° ΠΎΠ΄Π½ΠΎΠΌ физичСском ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅.
  • Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ ОБ ΠΈ систСмными настройками, Π½Π΅ опасаясь ΠΏΠΎΠ²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ систСму.
  • ВСстированиС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Ρ€Π°Π·Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Ну ΠΈ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Ссли Π²Ρ‹ ОБ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Ρ‚ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΈΠΌΠ΅Π½Π½ΠΎ этого эмулятора Π²Ρ‹ смоТСтС Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свои систСмы Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠΉ Ρ„Π»Π΅ΡˆΠΊΠΈ.

МоТно Π²ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ΅ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Qemu - самый Π»ΡƒΡ‡ΡˆΠΈΠΉ эмулятор Π½Π° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΌΠ΅Π½Ρ‚ (ΠΊΡ€ΠΎΠΌΠ΅ VirtualBox ΠΈ VMWare). Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ разбСрёмся ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² Π½Ρ‘ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы.

πŸ’» Эмулятор Qemu | Установка ΠΈ настройка (Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ)

Установка

Для Linux:

# Ubuntu/Debian sudo apt install qemu-kvm qemu # Или sudo apt install qemu-system-x86 # Fedora/RHEL sudo dnf install qemu-kvm qemu-img # Arch Linux sudo pacman -S qemu-full

Для Windows:

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ установщик с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта qemu.org ΠΈ слСдуйтС инструкциям. QEMU Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· PowerShell.

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° установки: ПослС установки Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ qemu-system-x86_64 --version для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ вСрсии.

Если Ρƒ вас всё ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‚ΠΎ самоС врСмя Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Qemu.

ЗапускаСм Ubuntu

Π’ качСствС самого ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° я ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽ запуск Ubuntu Π½Π° Qemu. Всё довольно просто.

QEMU запускаСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ qemu-system-Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, qemu-system-x86_64.

ПослС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΈ эмулятора

НапримСр:

qemu-system-x86_64 -cdrom ubuntu-24.04.2-desktop-amd64.iso -hda disk.img

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅:

  • -system это Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°
  • -cdrom это iso ΠΎΠ±Ρ€Π°Π·
  • -hda это диск, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ установлСна Ubuntu

Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ img Ρ„Π°ΠΉΠ» Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

qemu-img create -f img disk.img 10G

ВмСсто 10G Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Π²Π°ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ диска.

ВмСсто img, ΠΏΡ€ΠΈ запускС эмулятора Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ USB Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ диск.

ПослС запуска эмулятора Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π²Ρ‘ Ρ‚ΠΎ ΠΆΠ΅ самоС, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ ΠΏΡ€ΠΈ запуска Ubuntu с Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½ΠΎΠ³ΠΎ носитСля.

Π’Π°ΠΌ остаСтся лишь Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ установщик Ubuntu ΠΈ систСма установится Π½Π° img диск.

Когда всё ΡƒΠΆΠ΅ установлСно, qemu ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° cdrom: qemu-system-x86_64 -hda disk.img

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΏΡ€ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹

БСйчас я ΠΏΡ€ΠΈΠ²Π΅Π΄Ρƒ список всСх основных ΠΎΠΏΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ для запуска эмулятора:

  • -machine ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΡΠΎΠ±Ρ€Π°Π»ΠΈΡΡŒ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ubuntu, pc, pc-q35 ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, смотритС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ -machine help;
  • -cpu - Ρ‚ΠΈΠΏ процСссора, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ нСпосрСдствСнно Ρ‚ΠΈΠΏ процСссора, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π»Π°Π³ΠΈ;
  • -smp - Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΡΠΈΠΌΡƒΠ»ΡΡ†ΠΈΡŽ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹;
  • -boot - позволяСт Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ порядок Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ устройств, a,b - дискСта, с - ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ТСсткий диск, d - CDROM, n-p - Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· ΡΠ΅Ρ‚ΡŒ, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина загруТаСтся ΠΈΠ· ТСсткого диска;
  • -m - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ количСство ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, доступной машинС;
  • -k - раскладка ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ;
  • -soundhw - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π·Π²ΡƒΠΊΠΎΠ²ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚Ρƒ ΠΊ систСмС;
  • -device - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ устройство ΠΊ машинС, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΈ Π΅Π³ΠΎ ΠΎΠΏΡ†ΠΈΠΈ;
  • -name - имя гостСвой систСмы, Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ Π² Π²Π΅Ρ€Ρ…Ρƒ ΠΎΠΊΠ½Π°;
  • -uuid - ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ UUID для систСмы;
  • -fda, fdb - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ дискСту ΠΈΠ· Ρ„Π°ΠΉΠ»Π°;
  • -hda, hdb - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ТСсткий диск ΠΈΠ· Ρ„Π°ΠΉΠ»Π°;
  • -cdrom - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ оптичСский диск;
  • -usb - Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ USB;
  • -usbdevice - ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ USB устройство;
  • -display - Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ отобраТСния, доступно sdl, curses, gtk, none, vga ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅;
  • -full-screen - Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠΎΠ»Π½Ρ‹ΠΉ экран;
  • -no-acpi - ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ACPI;
  • -net - ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСтСвой интСрфСйс;
  • -realtime Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΎΠΏΡ†ΠΈΠΈ mclock Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ on;
  • -gdb - ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ° gdb;
  • -enable-kvm - Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ kvm;
  • -loadvm - Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сохранСнноС состояниС;
  • -daemonize - ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ процСсс Ρ„ΠΎΠ½ΠΎΠ²Ρ‹ΠΌ;
  • -snapshot - Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ измСнСния Π½Π΅ Π² Ρ„Π°ΠΉΠ» ТСсткого диска, Π° Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹;
  • -nographic - ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ графичСский Π²Ρ‹Π²ΠΎΠ΄.
  • -kernel - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π· ядра linux.
  • -append - командная строка для ядра;
  • -initrd - Ρ„Π°ΠΉΠ» initrd для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Linux.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΊΠΎΠ»-Π²ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти ΠΈΠ»ΠΈ ядСр процСссора большС, Ρ‡Π΅ΠΌ Ρƒ вас Π΅ΡΡ‚ΡŒ Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ ΠΈΠ»ΠΈ хостС.

πŸ’» Эмулятор Qemu | Установка ΠΈ настройка (Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ)

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ эмулятора

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ запустим эмулятор с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π½Π°ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π° послС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, сработали Π»ΠΈ ΠΎΠ½ΠΈ.

Π― создам Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ, ΠΈ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡŽ Ρ‚Π°ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ процСссора.

Π”Π°Π»Π΅Π΅ Π·Π°ΠΏΡƒΡ‰Ρƒ Π½Π° Π½Π΅ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму x16-PRos

Π˜Ρ‚Π°ΠΊ, Π²ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° для запуска, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

qemu-system-x86_64 -smp 4 -m 1 -hda x16pros.img -full-screen
  • -smp 4 - ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠΎΠ»-Π² ядСр процСссора
  • -m 1 - выдСляСм 1ΠœΠ‘ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти
  • -hda x16pros.img - запускаСм систСму ΠΈΠ· Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ диска
  • -full-screen - запускаСм эмулятор Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅

ПослС запуска x16-PRos Π² Π΅Π³ΠΎ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ CPU. Она Π½Π°ΠΌ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ процСссорС.

πŸ’» Эмулятор Qemu | Установка ΠΈ настройка (Π·Π°ΠΌΠ΅Ρ‚ΠΊΠΈ)

И Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ процСссор Ρƒ нас Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π° 4 ядра (ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈ прописали Π² ΠΊΠΎΠΌΠ°Π½Π΄Π΅), Π° Π²ΠΎΡ‚ имя процСссора Ρƒ нас ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠ»ΠΎΡΡŒ стандартноС (qemu virtual cpu).

Но Ссли Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ запуска Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ -cpu n270-v1, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚ΠΎΡ‚ процСссор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ послС -cpu.

Ну Π° Ссли хочСтся ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ процСссор, ΠΊΠ°ΠΊΠΎΠΉ стоит Ρƒ тСбя Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, Ρ‚ΠΎ добавь Π² ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ -enable-kvm -cpu host

Бписок доступных для эмуляции процСссоров Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ qemu-system-x86_64 -cpu help

Бписок процСссоров (2025 Π³ΠΎΠ΄):

@proxPC:~$ qemu-system-x86_64 -cpu help Available CPUs: x86 486 (alias configured by machine type) x86 486-v1 x86 Broadwell (alias configured by machine type) x86 Broadwell-IBRS (alias of Broadwell-v3) x86 Broadwell-noTSX (alias of Broadwell-v2) x86 Broadwell-noTSX-IBRS (alias of Broadwell-v4) x86 Broadwell-v1 Intel Core Processor (Broadwell) x86 Broadwell-v2 Intel Core Processor (Broadwell, no TSX) x86 Broadwell-v3 Intel Core Processor (Broadwell, IBRS) x86 Broadwell-v4 Intel Core Processor (Broadwell, no TSX, IBRS) x86 Cascadelake-Server (alias configured by machine type) x86 Cascadelake-Server-noTSX (alias of Cascadelake-Server-v3) x86 Cascadelake-Server-v1 Intel Xeon Processor (Cascadelake) x86 Cascadelake-Server-v2 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES] x86 Cascadelake-Server-v3 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX] x86 Cascadelake-Server-v4 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, no TSX] x86 Cascadelake-Server-v5 Intel Xeon Processor (Cascadelake) [ARCH_CAPABILITIES, EPT switching, XSAVES, no TSX] x86 Conroe (alias configured by machine type) x86 Conroe-v1 Intel Celeron_4x0 (Conroe/Merom Class Core 2) x86 Cooperlake (alias configured by machine type) x86 Cooperlake-v1 Intel Xeon Processor (Cooperlake) x86 Cooperlake-v2 Intel Xeon Processor (Cooperlake) [XSAVES] x86 Denverton (alias configured by machine type) x86 Denverton-v1 Intel Atom Processor (Denverton) x86 Denverton-v2 Intel Atom Processor (Denverton) [no MPX, no MONITOR]
x86 Denverton-v3 Intel Atom Processor (Denverton) [XSAVES, no MPX, no MONITOR] x86 Dhyana (alias configured by machine type) x86 Dhyana-v1 Hygon Dhyana Processor x86 Dhyana-v2 Hygon Dhyana Processor [XSAVES] x86 EPYC (alias configured by machine type) x86 EPYC-Genoa (alias configured by machine type) x86 EPYC-Genoa-v1 AMD EPYC-Genoa Processor x86 EPYC-IBPB (alias of EPYC-v2) x86 EPYC-Milan (alias configured by machine type) x86 EPYC-Milan-v1 AMD EPYC-Milan Processor x86 EPYC-Milan-v2 AMD EPYC-Milan-v2 Processor x86 EPYC-Rome (alias configured by machine type) x86 EPYC-Rome-v1 AMD EPYC-Rome Processor x86 EPYC-Rome-v2 AMD EPYC-Rome Processor x86 EPYC-Rome-v3 AMD EPYC-Rome-v3 Processor x86 EPYC-Rome-v4 AMD EPYC-Rome-v4 Processor (no XSAVES) x86 EPYC-v1 AMD EPYC Processor x86 EPYC-v2 AMD EPYC Processor (with IBPB) x86 EPYC-v3 AMD EPYC Processor x86 EPYC-v4 AMD EPYC-v4 Processor x86 GraniteRapids (alias configured by machine type) x86 GraniteRapids-v1 Intel Xeon Processor (GraniteRapids) x86 Haswell (alias configured by machine type) x86 Haswell-IBRS (alias of Haswell-v3) x86 Haswell-noTSX (alias of Haswell-v2) x86 Haswell-noTSX-IBRS (alias of Haswell-v4) x86 Haswell-v1 Intel Core Processor (Haswell) x86 Haswell-v2 Intel Core Processor (Haswell, no TSX) x86 Haswell-v3 Intel Core Processor (Haswell, IBRS) x86 Haswell-v4 Intel Core Processor (Haswell, no TSX, IBRS) x86 Icelake-Server (alias configured by machine type) x86 Icelake-Server-noTSX (alias of Icelake-Server-v2) x86 Icelake-Server-v1 Intel Xeon Processor (Icelake) x86 Icelake-Server-v2 Intel Xeon Processor (Icelake) [no TSX] x86 Icelake-Server-v3 Intel Xeon Processor (Icelake) x86 Icelake-Server-v4 Intel Xeon Processor (Icelake) x86 Icelake-Server-v5 Intel Xeon Processor (Icelake) [XSAVES] x86 Icelake-Server-v6 Intel Xeon Processor (Icelake) [5-level EPT] x86 IvyBridge (alias configured by machine type) x86 IvyBridge-IBRS (alias of IvyBridge-v2) x86 IvyBridge-v1 Intel Xeon E3-12xx v2 (Ivy Bridge) x86 IvyBridge-v2 Intel Xeon E3-12xx v2 (Ivy Bridge, IBRS) x86 KnightsMill (alias configured by machine type) x86 KnightsMill-v1 Intel Xeon Phi Processor (Knights Mill) x86 Nehalem (alias configured by machine type) x86 Nehalem-IBRS (alias of Nehalem-v2) x86 Nehalem-v1 Intel Core i7 9xx (Nehalem Class Core i7) x86 Nehalem-v2 Intel Core i7 9xx (Nehalem Core i7, IBRS update) x86 Opteron_G1 (alias configured by machine type) x86 Opteron_G1-v1 AMD Opteron 240 (Gen 1 Class Opteron) x86 Opteron_G2 (alias configured by machine type) x86 Opteron_G2-v1 AMD Opteron 22xx (Gen 2 Class Opteron) x86 Opteron_G3 (alias configured by machine type) x86 Opteron_G3-v1 AMD Opteron 23xx (Gen 3 Class Opteron) x86 Opteron_G4 (alias configured by machine type) x86 Opteron_G4-v1 AMD Opteron 62xx class CPU x86 Opteron_G5 (alias configured by machine type) x86 Opteron_G5-v1 AMD Opteron 63xx class CPU x86 Penryn (alias configured by machine type) x86 Penryn-v1 Intel Core 2 Duo P9xxx (Penryn Class Core 2)
x86 Snowridge-v4 Intel Atom Processor (Snowridge, no MPX) [no split lock detect, no core-capability] x86 Westmere (alias configured by machine type) x86 Westmere-IBRS (alias of Westmere-v2) x86 Westmere-v1 Westmere E56xx/L56xx/X56xx (Nehalem-C) x86 Westmere-v2 Westmere E56xx/L56xx/X56xx (IBRS update) x86 athlon (alias configured by machine type) x86 athlon-v1 QEMU Virtual CPU version 2.5+ x86 core2duo (alias configured by machine type) x86 core2duo-v1 Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz x86 coreduo (alias configured by machine type) x86 coreduo-v1 Genuine Intel(R) CPU T2600 @ 2.16GHz x86 kvm32 (alias configured by machine type) x86 kvm32-v1 Common 32-bit KVM processor x86 kvm64 (alias configured by machine type) x86 kvm64-v1 Common KVM processor x86 n270 (alias configured by machine type) x86 n270-v1 Intel(R) Atom(TM) CPU N270 @ 1.60GHz x86 pentium (alias configured by machine type) x86 pentium-v1 x86 pentium2 (alias configured by machine type) x86 pentium2-v1 x86 pentium3 (alias configured by machine type) x86 pentium3-v1 x86 phenom (alias configured by machine type) x86 phenom-v1 AMD Phenom(tm) 9550 Quad-Core Processor x86 qemu32 (alias configured by machine type) x86 qemu32-v1 QEMU Virtual CPU version 2.5+ x86 qemu64 (alias configured by machine type) x86 qemu64-v1 QEMU Virtual CPU version 2.5+ x86 base base CPU model type with no features enabled x86 host processor with all supported host features x86 max Enables all features supported by the accelerator in the current host
x86 SandyBridge (alias configured by machine type) x86 SandyBridge-IBRS (alias of SandyBridge-v2) x86 SandyBridge-v1 Intel Xeon E312xx (Sandy Bridge) x86 SandyBridge-v2 Intel Xeon E312xx (Sandy Bridge, IBRS update) x86 SapphireRapids (alias configured by machine type) x86 SapphireRapids-v1 Intel Xeon Processor (SapphireRapids) x86 SapphireRapids-v2 Intel Xeon Processor (SapphireRapids) x86 SierraForest (alias configured by machine type) x86 SierraForest-v1 Intel Xeon Processor (SierraForest) x86 Skylake-Client (alias configured by machine type) x86 Skylake-Client-IBRS (alias of Skylake-Client-v2) x86 Skylake-Client-noTSX-IBRS (alias of Skylake-Client-v3) x86 Skylake-Client-v1 Intel Core Processor (Skylake) x86 Skylake-Client-v2 Intel Core Processor (Skylake, IBRS) x86 Skylake-Client-v3 Intel Core Processor (Skylake, IBRS, no TSX) x86 Skylake-Client-v4 Intel Core Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, no TSX] x86 Skylake-Server (alias configured by machine type) x86 Skylake-Server-IBRS (alias of Skylake-Server-v2) x86 Skylake-Server-noTSX-IBRS (alias of Skylake-Server-v3) x86 Skylake-Server-v1 Intel Xeon Processor (Skylake) x86 Skylake-Server-v2 Intel Xeon Processor (Skylake, IBRS) x86 Skylake-Server-v3 Intel Xeon Processor (Skylake, IBRS, no TSX) x86 Skylake-Server-v4 Intel Xeon Processor (Skylake, IBRS, no TSX) x86 Skylake-Server-v5 Intel Xeon Processor (Skylake, IBRS, no TSX) [IBRS, XSAVES, EPT switching, no TSX] x86 Snowridge (alias configured by machine type) x86 Snowridge-v1 Intel Atom Processor (SnowRidge) x86 Snowridge-v2 Intel Atom Processor (Snowridge, no MPX) x86 Snowridge-v3 Intel Atom Processor (Snowridge, no MPX) [XSAVES, no MPX]

Π Π°Π±ΠΎΡ‚Π° с дисковыми ΠΎΠ±Ρ€Π°Π·Π°ΠΌΠΈ

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΈΠΌ Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ Π²Π°ΠΌ Π½Π°Π΄ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ваш ΠΎΠ±Ρ€Π°Π· диска, Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· qemu-img

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с qemu-img:

# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ динамичСского ΠΎΠ±Ρ€Π°Π·Π° qemu-img create -f qcow2 disk.qcow2 40G # ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ qemu-img convert -f raw -O qcow2 input.img output.qcow2 # ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° qemu-img resize disk.qcow2 +10G # ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ qemu-img info disk.qcow2

Π‘ΠΎΠ²Π΅Ρ‚: Π€ΠΎΡ€ΠΌΠ°Ρ‚ qcow2 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ снимки состояния ΠΈ динамичСскоС Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ мСста.

Автоматизация

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, создайтС bash скрипт Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠΈ этого:

#!/bin/bash qemu-system-x86_64 \ -enable-kvm \ -cpu host \ -smp 4 \ -m 4G \ -hda ~/ubuntu.img \ -vga virtio \ -display sdl \

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ тСкст Π² Ρ„Π°ΠΉΠ» start_qemu.sh ΠΈ Π²Ρ‹Π΄Π°ΠΉΡ‚Π΅ Π΅ΠΌΡƒ ΠΏΡ€Π°Π²ΠΎ Π½Π° исполнСниС: chmod +x start_qemu.sh

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ эмулятор ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ./start_qemu.sh

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Qemu β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… эмуляторов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сущСствуСт.

И ΠΏΡƒΡΡ‚ΡŒ вас Π½Π΅ ΠΏΡƒΠ³Π°Π΅Ρ‚ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ взаимодСйствиС с Π½ΠΈΠΌ происходит Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС. Π’Π°ΠΊΠΆΠ΅ я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ это Π½Π΅ вСсь Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» Π΄Π°Π½Π½ΠΎΠ³ΠΎ эмулятора.

ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎ Π½Ρ‘ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π½Π° сайтС qemu.org/docs

❂ ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ссылочки: Telegram Канал | Π’Πš Π“Ρ€ΡƒΠΏΠΏ

❂ Π₯ΠΈΠΆΠΈΠ½Π° программиста: Rutube | YouTube | Plvideo

✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀ ✀

⌨ ВСги:

1
2 коммСнтария