QEMU простий та швидкий емулятор процесора

Автор: Майкл Вільямсон (Michael Williamson) Переклад: Олексій Бешенов

QEMU дозволяє працювати з віртуальним комп'ютером на базі вашого реального комп'ютера. Це дуже доречно підходить для тестування останніх версій дистрибутивів, запуску старих операційних систем, або випробування чогось ще.

Отже, нехай ви хочете запустити LiveCD, збережений на твердому диску. Це досить легко – просто пишемо

Опція -cdrom вказує QEMU шлях до образу диска, а -boot вказує пристрій завантаження - це CD-ROM (він завжди позначається як d ).

(Тут ви можете отримати повідомлення про kqemu - можете поки що без будь-яких наслідків не звертати на нього уваги.)

Крім того, ви можете завантажитися зі справжнього диска, для цього просто вкажіть шлях до дисковода директорії /dev . Наприклад, якщо ваш дисковод - /dev/hdc :

Звичайно, ми хочемо не просто використовувати компакт-диски весь час, а ще щось встановити. Отже, ми повинні спочатку зробити образ жорсткого диска за допомогою qemu-img:

Це створить образ з ім'ям virtualharddrive.qcow розміром 5 гігабайт. Для 5 мегабайт замість цього надрукуйте "5M", для десяти гігабайт - "10G", і таке інше.

Нарешті -f вказує qemu-img, який формат буде використовуватися. Вибір невеликий, і qcow працює досить добре і займає на диску лише необхідний об'єм - якщо віртуальний диск має ємність 5 гігабайт, але містить 2 гігабайти, то на реальному диску він і займе близько 2 гігабайт.

Далі слідуємо інструкціям, як за звичайної установки.

Не всі дистрибутиви йдуть на одному диску, тому іноді доводиться змінювати диски. Для цього потрібно зробити дві речі: по-перше, увімкнути обробку команд монітором QEMU,додавши опцію "-monitor stdio", якось так:

Коли ви запустите це, QEMU дозволить вводити команди. Для зміни CD надрукуйте

Вуаль! Віртуальна машина тепер повинна змінити диск, і ви продовжите інсталяцію. Насправді, диски можна змінювати будь-коли, а не тільки під час встановлення.

Після завершення інсталяції потрібно буде завантажитися з жорсткого диска. Оскільки QEMU робить це за замовчуванням, просто приберіть із команди «-boot d»:

Якщо вам потрібно використовувати диск після встановлення, використовуйте

Це дозволить вам робити із встановленою системою все що завгодно, без ризику по відношенню до вашого комп'ютера. Якщо хочете з чимось погратися, але не хочете вносити зміни до образу, додайте опцію -snapshot . Якщо після використання цієї опції ви таки захочете зберегти зміни, просто надрукуйте в моніторі QEMU «commit».

Хоча ці команди працюють, ви помітите, що всі дещо повільно, якщо мова не про полегшені дистрибутиви. Це відбувається через те, що QEMU використовує за умовчанням до 128 Мб оперативної пам'яті. Ви можете збільшити доступний простір пам'яті, вказавши його об'єм після ключа -m. Наприклад, якщо для запуску LiveCD потрібно використовувати 256 Мб пам'яті, потрібно надрукувати

Це має все добре прискорити, але не варто віддавати QEMU надто багато пам'яті — треба залишити щось для інших додатків. На жаль, по правді кажучи, працювати все буде досить повільно, і для додаткового прискорення знадобиться будь-кому.

Встановити будь-яке зі сховищ пакетів нескладно. Отримайте пакет kqemu-source - в apt-get зробіть

Якщо у вас немає пакета module-assistant, встановіть його:

Далі виконайте (як root) такі команди:

Все має бути готовим. Тепер щоразу, коли вам знадобиться модульkqemu, вам потрібно спочатку стати користувачем root, а потім надрукувати

Тепер запущений простим користувачем QEMU автоматично використовує kqemu для прискорення. Якщо QEMU поскаржиться на те, що kqemu не може запуститися, можливо, ви не встановили відповідних прав; спробуйте як root виконати

Сподіваюся, що тепер QEMU може використовувати kqemu.

Є ще одна опція: -kernel-kqemu. Теоретично це ще більше прискорює емулятор, але, на жаль, не все так просто. По-перше, версія QEMU у сховищах пакетів Debian такої настройки не підтримує. По-друге, навіть якщо опція використовується, не всі операційні системи працюватимуть — наприклад, остання версія дистрибутива GNU/Linux працюватиме швидше (якщо працюватиме), але Windows 98 просто звалиться.

QEMU можна знайти у Debian Sarge та Ubuntu Warty.

Коментарі

Я знаю. Є ще апаратна акселерація, якщо її підтримує. Цілком пристойно так працює:)

==VB не емулятор, а віртуальна машина. QEMU – саме емулятор.

Я теж так думав, однак, ось тут описаний прискорений режим, де емуляція тільки для коду ядра

http://en.wikipedia.org/wiki/QEMU Це також забезпечується accelerated Mode для підтримки комбінації binary translation (для керуючого коду) і природного execution (для user code), в самій моделі як VMware Workstation та Microsoft Virtual PC.

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

http://ua.wikipedia.org/wiki/Qemu Відрізняється дуже швидкою емуляцією при використанні спеціального модуля, названого kqemu. Спочатку модуль kqemu мав пропрієтарну ліцензію, нині ліцензований під GNU GPL. На даний момент стабільно працює тільки в Linux 2.4 – 2.6, є експериментальна підтримка Microsoft Windows та FreeBSD.

Треба було ще з Parallels Desktop на маку %)

2 анонім, субота, 31 травня 2008 р. 20:45:26:

VB – не емулятор, а віртуальна машина. QEMU – саме емулятор. До того ж, не в OSE версії VB коштує грошей не для особистого використання.

==Ліцензія VB дозволяє юзати його тільки для особистого використання for free, інакше за гроші.

є VirtualBox Open Source Edition (OSE) без таких обмежень, але він usb не підтримує і може чогось ще.

VirtualBox Open Source Edition (OSE) є одним, що має бути виконано під GPL і використовується з повним source code. Це функціональноцільова для повного пакета VirtualBox, except for number features that primaryly target enterprise customers. Це дає змогу generat revenue to fund further development of VirtualBox.

Ліцензія VB дозволяє використовувати його тільки для особистого використання for free, інакше за money.

Є ще апаратне прискорення на процесорах, які підтримують такі речі.