QEMU - бесплатный эмулятор и виртуализатор с открытым исходным кодом.

При использовании в качестве эмулятора компьютера, QEMU может запускать операционные системы и программы, созданные для одной машины (например, ARM) на другой машине (например, на вашем AMD64). С помощью динамической трансляции, он достигает очень хорошую производительность.

Установка

Для Ubuntu, Debian и аналогичных:

aptitude install kvm-pxe

aptitude install qemu

Создание виртуальной машины

Для начала создайте файл, который будет “жёстким диском” вашего будущего виртуального компьютера:

qemu-img create /media/flash/ubuntu 4G

В данном случае был создан файл Ubuntu размером в 4ГБ. Название было использовано так не случайно, старайтесь не давать непонятные имена, сами же запутаетесь.

Запускаем виртуальную машину:

qemu -m 512 -hda /media/flash/ubuntu -net nic -net user -localtime -vnc 10.0.0.1:1 \ -cdrom /media/flash/ubuntu-12.04-server-i386.iso -boot d -usb

Итак, расшифровка:

1
2
3
4
5
6
7
-m 512  мы выделили виртуальной машине 512МБ
-hda /media/flash/ubuntu  жесткий диск нашей виртуальной машины
-net nic -net user   машинка выйдет в сеть и получит IP по DHCP с роутера или точки доступа, если он у вас установлен.
-vnc 10.0.0.1:1   к виртуальной машине можно будет подключится по VNC, у нас же на сервере нет графики. IP здесь указан РЕАЛЬНОЙ машины. :1 означает, что будет использоваться порт 5901. Если вы делаете вторую машину, используйте 10.0.0.1:2 и подключайтесь уже через VNC на 5902 порт.
-cdrom /media/flash/ubuntu-12.04-server-i386.iso  файл-установочный образ.
-boot d загружаться с CDROM. Если нужно загрузиться с жесткого диска, используйте -boot с.
-usb подключить USB-устройства.

Чтобы виртуальная машина работала постоянно, запустите её через screen. Это позволит запустить машину и выйти с сервера, она же продолжит свою работу

Проблемы и решения

open /dev/kvm: No such file or directory

Ваша машина может не поддерживать виртуализацию. Сожалею, но будет работать всё медленно.

1
2
open /dev/kvm: No such file or directory
Could not initialize KVM, will disable KVM support

Попробуйте запустить тест kvm-ok. Если вы увидите такое:

1
2
 INFO: Your CPU does not support KVM extensions
 KVM acceleration can NOT be used

Значит, проблему решить будет сложно. Вариант решения:

1
2
 apt-get install module-assistant
 m-a a-i kqemu

Как подмонтировать raw образ

Помните, мы создавали /media/flash/ubuntu ? Получилось так, что кое-что я указал неправильно и система перестала загружаться. Неприятно, но поправимо, нужно лишь кое-что исправить. А для этого можно подмонтировать этот образ. Итак:

sfdisk -l -uS /media/flash/ubuntu

и получаем

 2048  12580863   12578816  83  Linux

2048 - вот то, что нам нужно было. Умножаем это на 512 и получаем 1048576. Монтируем:

mount -o loop,offset=1048576 /media/flash/ubuntu /mnt/

Все, доступ получен!