特殊:Badtitle/NS100:WindowsXPUnderQemuHowTo:修订间差异
小无编辑摘要 |
小无编辑摘要 |
||
(未显示同一用户的1个中间版本) | |||
第8行: | 第8行: | ||
NOTE: Changes made to the Ubuntu Gutsy Gibbon and Hardy Heron distribution code have broken the USB functionality in QEMU. If you need USB functionality with QEMU please see the details here: [[UbuntuHelp: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/156085|here]] . | NOTE: Changes made to the Ubuntu Gutsy Gibbon and Hardy Heron distribution code have broken the USB functionality in QEMU. If you need USB functionality with QEMU please see the details here: [[UbuntuHelp: https://bugs.launchpad.net/ubuntu/+source/qemu/+bug/156085|here]] . | ||
=== Running Windows Under Ubuntu 7.04/7.10 === | === Running Windows Under Ubuntu 7.04/7.10 === | ||
=== This method also works perfectly under Ubuntu 8.04 === | |||
[http://fabrice.bellard.free.fr/qemu/ QEmu] can run an OS inside another OS - for example, Windows under Linux. ''QEmu uses kqemu, an acceleration driver included in Ubuntu 7.04 Feisty Fawn to run Windows at usable speed. | [http://fabrice.bellard.free.fr/qemu/ QEmu] can run an OS inside another OS - for example, Windows under Linux. ''QEmu uses kqemu, an acceleration driver included in Ubuntu 7.04 Feisty Fawn to run Windows at usable speed. | ||
{|border="1" cellspacing="0" | |||
|Note: KQEMU will not work under Ubuntu 10.04. See [[UbuntuHelp:Kqemu|KQEMU]] page for more info | |||
|} | |||
Ubuntu 7.04 Feisty Fawn also includes a new version of rdesktop that can be used to start individual desktop apps from the VM on your normal desktop. See [[UbuntuHelp:SeamlessVirtualization|SeamlessVirtualization]]. This also works in Ubuntu 7.10 Gusty Gibbon. | Ubuntu 7.04 Feisty Fawn also includes a new version of rdesktop that can be used to start individual desktop apps from the VM on your normal desktop. See [[UbuntuHelp:SeamlessVirtualization|SeamlessVirtualization]]. This also works in Ubuntu 7.10 Gusty Gibbon. | ||
https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo?action=AttachFile&do=get&target=SeamlessVirtualizationWithThemingResized.png | https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo?action=AttachFile&do=get&target=SeamlessVirtualizationWithThemingResized.png | ||
第104行: | 第108行: | ||
</nowiki></pre> | </nowiki></pre> | ||
* '''Note''': Your CD drive might be under a slightly different name like /dev/cdrom1. Go to /dev to see what location you should use. | * '''Note''': Your CD drive might be under a slightly different name like /dev/cdrom1. Go to /dev to see what location you should use. | ||
* '''Note to 64 bit users''': Use 'qemu-system-x86_64' instead of 'qemu'. Otherwise the "-kernel-kqemu" option will not work. | |||
* '''Note for Windows 2000''': Add the option '-win2k-hack'. Otherwise the install may fail with "Not enough disk space" even when that isn't the case. | |||
12. This starts QEmu using the time from Ubuntu, windows.img as the hard disk file, /dev/cdrom as the CD, 384 MB of memory (a good minimum for XP) and will boot from the CD. | 12. This starts QEmu using the time from Ubuntu, windows.img as the hard disk file, /dev/cdrom as the CD, 384 MB of memory (a good minimum for XP) and will boot from the CD. | ||
13. Alternatively, you can use a .iso image file | 13. Alternatively, you can use a .iso image file | ||
第109行: | 第115行: | ||
qemu -localtime -cdrom cdimagefile.iso -m 384 -boot d windows.img | qemu -localtime -cdrom cdimagefile.iso -m 384 -boot d windows.img | ||
</nowiki></pre> | </nowiki></pre> | ||
* '''Note to 64 bit users''': Use 'qemu-system-x86_64' instead of 'qemu'. Otherwise the "-kernel-kqemu" option will not work. | |||
* '''Note for Windows 2000''': Add the option '-win2k-hack'. Otherwise the install may fail with "Not enough disk space" even when that isn't the case. | |||
14. If you're having trouble creating the Windows partition during Windows installation, check that you have read and write access to the disk image. Use this command to set the file permissions for the windows.img file so that all users in the kqemu group can access the virtual disk | 14. If you're having trouble creating the Windows partition during Windows installation, check that you have read and write access to the disk image. Use this command to set the file permissions for the windows.img file so that all users in the kqemu group can access the virtual disk | ||
<pre><nowiki> | <pre><nowiki> | ||
第114行: | 第122行: | ||
sudo chown $USER:kqemu windows.img | sudo chown $USER:kqemu windows.img | ||
</nowiki></pre> | </nowiki></pre> | ||
15. QEmu will start, boot from the CD, and load the XP installer. The installer works like any other Windows install for the most part. However, on some systems the last part of the initial install, pictured, below, will stick around for a very long time. In this case, just reboot (restart QEmu), and the installer will proceed past this point. | 15. QEmu will start, boot from the CD, and load the XP installer. The installer works like any other Windows install for the most part. However, on some systems the last part of the initial install, pictured, below, will stick around for a very long time. In this case, just reboot (restart QEmu), and the installer will proceed past this point. | ||
https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo?action=AttachFile&do=get&target=windows%2Bxp%2Bin%2Bqemu.png | https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo?action=AttachFile&do=get&target=windows%2Bxp%2Bin%2Bqemu.png | ||
第200行: | 第206行: | ||
<pre><nowiki> | <pre><nowiki> | ||
vdeqemu -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img | vdeqemu -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img | ||
</nowiki></pre> | |||
In Karmic, there is no '''vdeqemu''', rather, package vde2 provides a simple wrapper. Instead of the above command, substitute '''vdeqemu''' with '''vdeq qemu''', or '''vdeq qemu-system-x86_64''', and then the rest of your options, thus: | |||
<pre><nowiki> | |||
vdeq qemu -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img | |||
</nowiki></pre> | |||
or if using a 64-bit host, | |||
<pre><nowiki> | |||
vdeq qemu-system-x86_64 -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img | |||
</nowiki></pre> | </nowiki></pre> | ||
See [[UbuntuHelp:KVM#head-db5235851cc1b9c712f99a074f02c91e8590c880-2|KVM|Advanced Networking - Permanent Setup-]] for more details on using qemu-launcher and qemuctl with VDE and KVM hardware virtualisation | See [[UbuntuHelp:KVM#head-db5235851cc1b9c712f99a074f02c91e8590c880-2|KVM|Advanced Networking - Permanent Setup-]] for more details on using qemu-launcher and qemuctl with VDE and KVM hardware virtualisation | ||
第284行: | 第298行: | ||
This has been tested by me and works in Ubuntu 7.10 Gutsy Gibbon. Ubuntu:Vaderdarth211 | This has been tested by me and works in Ubuntu 7.10 Gutsy Gibbon. Ubuntu:Vaderdarth211 | ||
This has been tested by me and works in Ubuntu 8.04 Hardy Heron. Ubuntu:Paulx2 | This has been tested by me and works in Ubuntu 8.04 Hardy Heron. Ubuntu:Paulx2 | ||
=== Under 9.04 (Jaunty) === | |||
Install package qemu and one of the qemu gui helpers (I used Qemu Launcher). Set it to create new empty image (I set it for 10Gbytes). Set to boot from CD. Set RAM size to about half your RAM (for installation I have set the same and it worked thou). Hit 'Launch'. The system will boot from CD and install itself, make sure to hit F12 to select boot from hard disk when the first reboot occurs. | |||
Tested on : Pentium M 1.4GHz, 512M RAM (Dell Lattitude D600 laptop, Windows installed from CD accompanying this laptop, WinXP professional). No mention of any hardware virtualization in /proc/cpuinfo. And no BIOS upgrade either to enable if any. | |||
Graphic :set to Cirrus Logic compatible; | |||
Impressions : Installation takes some 12 hours in total :) It is surprisingly responsive even when RAM size is set to 256M. | |||
el_es | |||
---- | ---- | ||
[[category:UbuntuHelp]] | [[category:UbuntuHelp]] |
2010年5月20日 (四) 01:01的最新版本
文章出处: |
{{#if: | {{{2}}} | https://help.ubuntu.com/community/WindowsXPUnderQemuHowTo }} |
点击翻译: |
English {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/af | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Afrikaans| [[::WindowsXPUnderQemuHowTo/af|Afrikaans]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ar | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|العربية| [[::WindowsXPUnderQemuHowTo/ar|العربية]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/az | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|azərbaycanca| [[::WindowsXPUnderQemuHowTo/az|azərbaycanca]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/bcc | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|جهلسری بلوچی| [[::WindowsXPUnderQemuHowTo/bcc|جهلسری بلوچی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/bg | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|български| [[::WindowsXPUnderQemuHowTo/bg|български]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/br | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|brezhoneg| [[::WindowsXPUnderQemuHowTo/br|brezhoneg]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ca | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|català| [[::WindowsXPUnderQemuHowTo/ca|català]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/cs | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|čeština| [[::WindowsXPUnderQemuHowTo/cs|čeština]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/de | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Deutsch| [[::WindowsXPUnderQemuHowTo/de|Deutsch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/el | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Ελληνικά| [[::WindowsXPUnderQemuHowTo/el|Ελληνικά]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/es | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|español| [[::WindowsXPUnderQemuHowTo/es|español]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/fa | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|فارسی| [[::WindowsXPUnderQemuHowTo/fa|فارسی]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/fi | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|suomi| [[::WindowsXPUnderQemuHowTo/fi|suomi]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/fr | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|français| [[::WindowsXPUnderQemuHowTo/fr|français]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/gu | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|ગુજરાતી| [[::WindowsXPUnderQemuHowTo/gu|ગુજરાતી]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/he | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|עברית| [[::WindowsXPUnderQemuHowTo/he|עברית]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/hu | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|magyar| [[::WindowsXPUnderQemuHowTo/hu|magyar]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/id | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Bahasa Indonesia| [[::WindowsXPUnderQemuHowTo/id|Bahasa Indonesia]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/it | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|italiano| [[::WindowsXPUnderQemuHowTo/it|italiano]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ja | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|日本語| [[::WindowsXPUnderQemuHowTo/ja|日本語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ko | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|한국어| [[::WindowsXPUnderQemuHowTo/ko|한국어]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ksh | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Ripoarisch| [[::WindowsXPUnderQemuHowTo/ksh|Ripoarisch]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/mr | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|मराठी| [[::WindowsXPUnderQemuHowTo/mr|मराठी]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ms | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Bahasa Melayu| [[::WindowsXPUnderQemuHowTo/ms|Bahasa Melayu]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/nl | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Nederlands| [[::WindowsXPUnderQemuHowTo/nl|Nederlands]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/no | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|norsk| [[::WindowsXPUnderQemuHowTo/no|norsk]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/oc | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|occitan| [[::WindowsXPUnderQemuHowTo/oc|occitan]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/pl | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|polski| [[::WindowsXPUnderQemuHowTo/pl|polski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/pt | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|português| [[::WindowsXPUnderQemuHowTo/pt|português]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ro | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|română| [[::WindowsXPUnderQemuHowTo/ro|română]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/ru | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|русский| [[::WindowsXPUnderQemuHowTo/ru|русский]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/si | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|සිංහල| [[::WindowsXPUnderQemuHowTo/si|සිංහල]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/sq | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|shqip| [[::WindowsXPUnderQemuHowTo/sq|shqip]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/sr | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|српски / srpski| [[::WindowsXPUnderQemuHowTo/sr|српски / srpski]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/sv | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|svenska| [[::WindowsXPUnderQemuHowTo/sv|svenska]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/th | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|ไทย| [[::WindowsXPUnderQemuHowTo/th|ไทย]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/tr | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Türkçe| [[::WindowsXPUnderQemuHowTo/tr|Türkçe]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/vi | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|Tiếng Việt| [[::WindowsXPUnderQemuHowTo/vi|Tiếng Việt]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/yue | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|粵語| [[::WindowsXPUnderQemuHowTo/yue|粵語]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/zh | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|中文| [[::WindowsXPUnderQemuHowTo/zh|中文]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/zh-hans | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|中文(简体)| [[::WindowsXPUnderQemuHowTo/zh-hans|中文(简体)]]}}|}} {{#ifexist: {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo | UbuntuHelp:WindowsXPUnderQemuHowTo | {{#if: | :}}WindowsXPUnderQemuHowTo}}/zh-hant | • {{#if: UbuntuHelp:WindowsXPUnderQemuHowTo|中文(繁體)| [[::WindowsXPUnderQemuHowTo/zh-hant|中文(繁體)]]}}|}} |
{{#ifeq:UbuntuHelp:WindowsXPUnderQemuHowTo|:WindowsXPUnderQemuHowTo|请不要直接编辑翻译本页,本页将定期与来源同步。}} |
{{#ifexist: :WindowsXPUnderQemuHowTo/zh | | {{#ifexist: WindowsXPUnderQemuHowTo/zh | | {{#ifeq: {{#titleparts:WindowsXPUnderQemuHowTo|1|-1|}} | zh | | }} }} }} {{#ifeq: {{#titleparts:WindowsXPUnderQemuHowTo|1|-1|}} | zh | | }}
- title Running Windows XP under QEmu
Before installing this Windows emulator, consider whether or not it's truly necessary for you. In most cases, its functionality is provided by a free Linux program (see SoftwareEquivalents). Consider also Wine instead of Qemu, if you only need to run a single Windows program. Most of the stuff in this page is not specific to installing Windows XP under Qemu; it can be used to install other operating systems as well. See also Installation/QemuEmulator. NOTE: Changes made to the Ubuntu Gutsy Gibbon and Hardy Heron distribution code have broken the USB functionality in QEMU. If you need USB functionality with QEMU please see the details here: here .
Running Windows Under Ubuntu 7.04/7.10
This method also works perfectly under Ubuntu 8.04
QEmu can run an OS inside another OS - for example, Windows under Linux. QEmu uses kqemu, an acceleration driver included in Ubuntu 7.04 Feisty Fawn to run Windows at usable speed.
Note: KQEMU will not work under Ubuntu 10.04. See KQEMU page for more info |
Ubuntu 7.04 Feisty Fawn also includes a new version of rdesktop that can be used to start individual desktop apps from the VM on your normal desktop. See SeamlessVirtualization. This also works in Ubuntu 7.10 Gusty Gibbon. Note: Most computers purchased since 2006 support VT or Pacifica, technologies that provide hardware support for virtualization. To see if your system includes these technologies, run the following:
grep -E '^flags.*(vmx|svm)' /proc/cpuinfo
If there are any results and you have Hardy 8.04, install the 'kvm' package, skip to step 10 and replace 'qemu' in the commands with 'kvm'. Also for multicore machines enjoy the benefits of using '-smp 2' as an option. For older versions of ubuntu see Kernel Virtualization as another possibility for virtualizing other operating systems. Note: Even if you get no output from the above command, your computer may actually support virtualization in hardware. Some machines are delivered with hardware virtualization disabled in the BIOS. Other machines require an update to the latest BIOS to enable virtualization. To install Ubuntu inside QEmu, please read Installation/QemuEmulator.
Installing Windows in QEmu with Feisty 7.04 and Gutsy 7.10
While the following guide uses Windows XP, older versions of Windows work fine, and may be preferred due to their increased speed.
- As of Intrepid, the only thing that I had to do was to add myself to the kqemu group (step 6).
- First you need to install qemu kqemu-source and module assistant from the Universe Repository. (In Gutsy(7.10),Use the synaptic package manager, search for kqemu and install kqemu-source. Module Assistant is not needed.)
- Next you need to build the kqemu module from Ubuntu's package
sudo module-assistant prepare sudo module-assistant auto-install kqemu
- If it doesn't work, you can try:
cd /usr/src/kqemu* sudo ./configure sudo make sudo ./install.sh
- Next you need to configure udev to create the /dev/kqemu device node upon loading the kqemu module
- Create /etc/udev/rules.d/60-kqemu.rules
gksudo gedit /etc/udev/rules.d/60-kqemu.rules
with the following content: (the order of GROUP and MODE seems to matter, so be sure to add a new line at the end of the file)
KERNEL=="kqemu", NAME="%k", GROUP="kqemu", MODE="0660"
- Change the content of /etc/modprobe.d/kqemu.conf to
options kqemu major=0
- Create a group "kqemu" and add all users who should be allowed to use QEMU with acceleration to this group
sudo addgroup --system kqemu sudo adduser $USER kqemu
- Make sure to update your environment before proceeding to reflect that your user is now part of the
kqemu group (for example by logging out and in).
- Force udev to reload its config files
sudo /etc/init.d/udev reload
- Load the kqemu module
sudo update-modules # this is deprecated under Hardy, instead use "sudo depmod -a" sudo modprobe kqemu
- Check that the permissions are right
$ ls -l /dev/kqemu crw-rw---- 1 root kqemu 10, 62 2007-07-22 15:36 /dev/kqemu
- If the permissions are wrong, it is probably because your udev rule wasn't read properly. Try re-loading the
module
sudo modprobe -r kqemu sudo modprobe kqemu
and see if that clears the problem. If not, add OWNER="youruser"
to the end of the udev rule and try
again
- If you want to load the kqemu module upon system start in the future, add "kqemu" to your /etc/modules file
gksu gedit /etc/modules
10. Create a virtual drive for Windows
qemu-img create -f qcow windows.img 2G
- This creates a two gigabyte virtual drive, stored as a single file called windows.img in the location where
you ran the command. Any size above 1.5GB (the minimum to run Windows XP) is fine. The virtual drive will start out as a small file, and will only use the space you specified when it reaches capacity, due to the qcow file format used.
- Note: If you want to install Windows XP Service Pack 2 + Updates, 2 GB is not enough for the image size. Use at least 3-4 GB.
- Note: Consider using as much disk space as you can afford. Resizing NTFS partitions isn't fun, and hard disk space is cheap.
- Note: If you use qcow images, you will not be able to mount the image within Ubuntu. You can omit '-f qcow' and create a mountable image, but this will mean that the size of the virtual drive will be fixed and larger. Instructions to convert a raw drive to a qcow drive appear at the end of this page.
11. Install Windows XP. Put the CD in the drive and run:
qemu -localtime -cdrom /dev/cdrom -m 384 -boot d windows.img
- Note: Your CD drive might be under a slightly different name like /dev/cdrom1. Go to /dev to see what location you should use.
- Note to 64 bit users: Use 'qemu-system-x86_64' instead of 'qemu'. Otherwise the "-kernel-kqemu" option will not work.
- Note for Windows 2000: Add the option '-win2k-hack'. Otherwise the install may fail with "Not enough disk space" even when that isn't the case.
12. This starts QEmu using the time from Ubuntu, windows.img as the hard disk file, /dev/cdrom as the CD, 384 MB of memory (a good minimum for XP) and will boot from the CD. 13. Alternatively, you can use a .iso image file
qemu -localtime -cdrom cdimagefile.iso -m 384 -boot d windows.img
- Note to 64 bit users: Use 'qemu-system-x86_64' instead of 'qemu'. Otherwise the "-kernel-kqemu" option will not work.
- Note for Windows 2000: Add the option '-win2k-hack'. Otherwise the install may fail with "Not enough disk space" even when that isn't the case.
14. If you're having trouble creating the Windows partition during Windows installation, check that you have read and write access to the disk image. Use this command to set the file permissions for the windows.img file so that all users in the kqemu group can access the virtual disk
chmod 660 windows.img sudo chown $USER:kqemu windows.img
15. QEmu will start, boot from the CD, and load the XP installer. The installer works like any other Windows install for the most part. However, on some systems the last part of the initial install, pictured, below, will stick around for a very long time. In this case, just reboot (restart QEmu), and the installer will proceed past this point. 16. After a few 'reboots' of QEmu you will be running Windows XP. 17. Clicking on the QEmu window will take control of the Windows cursor. To go back to Linux, press Ctrl + Alt and to toggle fullscreen press Ctrl + Alt + F
Networking
QEmu provides two modes of networking. In both modes, a virtual network adapter is created inside Windows XP guest.
User mode networking
In user mode networking, QEmu manages network interface internally in the user mode emulator application. QEmu provides DHCP host which assigns a dynamic IP for the guest OS. TCP and UDP ports can be redirected from the host OS to the guest OS using QEmu command line parameters.
QEMU VLAN <------> Firewall/DHCP server <-----> Host network | (10.0.2.2) | ----> DNS server (10.0.2.3) | ----> SMB server (10.0.2.4)
Pros
- Easy to set up
Cons
- Only TCP and UDP connections are available by default. Ping command, for example, doesn't work inside the guest OS
- Incoming connections must be configured beforehand
TAP network
In TAP networking, QEmu connects the guest OS ethernet to the host OS using TAP network bridge. Linux creates a virtual network interface (tap0) which appears in ifconfig listing as other network interfaces. Furthermore, it is possible to bridge network traffic to the guest OS using normal Linux network bridging functionalities. For examples, see following pages
- http://www.ubuntuforums.org/showthread.php?t=179472
- http://compsoc.dur.ac.uk/~djw/qemu.html
- http://bbs.archlinux.org/viewtopic.php?id=27298
Pros
- Provides full emulated IP stack
Cons
- Difficult to set up. The set-up is especially cumbersome if you try to run QEmu without root privileges.
VDE and Dnsmasq
This is an alternative to TAP networking. Most of this is from the page KVM|- Advanced Networking and http://compsoc.dur.ac.uk/~djw/qemu.html. Caution: The following package, "dnsmasq" provides dns, tftp and dhcpd services. An LTSP standalone server would be affected because dnsmasq would interfere with the dhcpd and tftp services.
- Install the packages vde dnsmasq:
sudo apt-get install vde dnsmasq
- In the file /etc/sysctl uncomment the following line to allow IP forwarding:
net.ipv4.conf.default.forwarding=1
- In the file /etc/modules, add a new line with "tun", to make that module load on boot.
- Add the new network interface. Edit the file /etc/network/interfaces and paste this:
auto qtap0 iface qtap0 inet static address 10.111.111.254 netmask 255.255.255.0 pre-up /sbin/modprobe ipt_MASQUERADE pre-up /usr/bin/vde_switch --tap qtap0 --sock /var/run/vde.ctl \ --daemon --group vde2-net --mod 775 \ --mgmt /var/run/vde.mgmt --mgmtmode 770 \ --pidfile /var/run/vde_switch.pid pre-up /etc/init.d/dnsmasq restart up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE down iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE post-down kill -s HUP `cat /var/run/vde_switch.pid`
Temporary vdeq control sockets are created in /tmp, the vde_switch socket in /var/run/vde.ctl/ , and the management socket is /var/run/vde.mgmt . More info about vde_switch (VDE): http://wiki.virtualsquare.org/index.php/VDE
- Configure DNSmasq. Edit the file /etc/dnsmasq.conf and change the following options:
user=nobody domain=qemu.lan interface=qtap0 dhcp-range=10.111.111.1,10.111.111.253,255.255.255.0,10.111.111.255,8h
To avoid the need for root privileges add the group "vde2-net" to all users that will use VDE (log-out and log-in for this to take effect)
sudo usermod -aG vde2-net $USER
Either restart the PC or simply do:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" sudo modprobe tun sudo ifup qtap0
Then you will have a virtual network on qtap0 interface. VM will be able to connect to the Internet (because of the iptable line on /etc/network/interfaces), but will not be accessible from it. To run a VM with the virtual network use vdeqemu instead of qemu:
vdeqemu -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img
In Karmic, there is no vdeqemu, rather, package vde2 provides a simple wrapper. Instead of the above command, substitute vdeqemu with vdeq qemu, or vdeq qemu-system-x86_64, and then the rest of your options, thus:
vdeq qemu -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img
or if using a 64-bit host,
vdeq qemu-system-x86_64 -net vde,vlan=0 -net nic,vlan=0 -m 384 -boot c windows.img
See KVM|Advanced Networking - Permanent Setup- for more details on using qemu-launcher and qemuctl with VDE and KVM hardware virtualisation
Additional Options
Sharing Files With XP and Networking
It's not much use having an XP installation if you can't transfer files between Ubuntu and XP. Fortunately, QEMU sets up a virtual LAN and DHCP server for you. You can transfer files to and from XP just as if it was on a real LAN. You can also browse the net and download files and do all the network stuff you would do on a real networked XP box.
Sharing Files between the Host and VM
QEmu supports file sharing between the VM and host if you have Samba configured on the host system. The following assumes you have a share called 'qemu_share' in your home directory intended to transfer files between Ubuntu and Windows. To set this up, start QEmu with the following command:
qemu -smb $HOME/qemu_share -m 384 -localtime windows.img
Inside Windows, you can access the shared drive with the following command from a DOS prompt. For example, to map Windows drive 'e' to the share
net use e: \\10.0.2.2\qemu_share
The IP address of Ubuntu will always be 10.0.2.2. If you have running servers on your Ubuntu box, they can also be accessed at this IP address (e.g. ftp://10.0.2.2)
USB Tablet Emulation
NOTE: Changes made to the Ubuntu Gutsy Gibbon and Hardy Heron distribution code have broken the USB functionality in QEMU. If you need USB functionality with QEMU please see the details here: here . QEmu can emulate a USB tablet input device instead of an ordinary mouse. Since a tablet reports the pointer position in absolute coordinates, it is possible to have the guest pointer track the host pointer position directly without a mouse grab. Running QEmu with the command line options "-usb -usbdevice tablet" enables USB emulation and the tablet input device:
qemu -m 384 -localtime -usb -usbdevice tablet windows.img
Windows XP automatically uses the tablet without having to install any additional drivers. (TODO: Maybe these options should simply be added to the default ones at the top of the page. Not everyone will find this paragraph, and the feature is so useful that it should probably be recommended for general use. --DanielElstner)
Mounting A Virtual Drive
You can also mount the QEmu virtual disk just like any other drive. QCOW images cannot be mounted. If the drive was created in qcow format you'll need to convert it first, see [[UbuntuHelp:[convertimg2raw|below]]]. Make sure you are NOT running QEMU when you do this. Windows will not recognize anything you write while running QEMU. Even worse, it will perceive that something changed and will run the chkdsk the next time you start QEMU. Also, you may only be able to read something wrote by windows after the windows is closed. To mount the drive, create a directory '/media/qemu'. Then run
sudo mount -t ntfs -o loop,offset=32256 windows.raw /media/qemu
Or you can have it automatically mounted by adding the following line to /etc/fstab
/home/user/windows.raw /media/qemu ntfs rw,user,loop,offset=32256 0 0
Saving and Restoring the State of the VM
You can quickly save and restore the state of your Windows System using QEmu's 'overlay images'. Once you have done your initial install, you can create an overlay image and run QEMU off this. The overlay image is very much smaller that the original image and will only contain changes made since the original install. If you trash your XP installation, you can simply delete the overlay image and create a new one from the original image. To create an overlay image, use the qemu-image program. To create an image windows.ovl from windows.img, issue the following
qemu-img create -b windows.img -f qcow windows.ovl
To run Windows, you would now use
qemu windows.ovl -enable-audio -user-net -localtime -smb qemu_share
If the winxp.ovl installation is ruined, you can delete it, and start QEmu using the winxp.img file. But you will lose changes made since the original install.
Snapshot mode
With the option -snapshot
, QEmu writes to temporary files instead of disk image files. In this case, the raw disk image you use is not written back. You can however force the write back by pressing C-a s. The snapshot mode if useful to try a program that you don't trust (you should never trust a closed source program).
QEmu Monitor
QEmu also accepts commands from the shell while it is running. To do this, though, you need to press CTRL+ALT+2 with the QEmu window active. This brings up the QEmu Monitor. From here, you can swap CDs, send keypresses to the emulator, suspend to disk and so on. See the official documentation for full details.
eject cdrom change cdrom /path/to/some.iso
To exit the QEmu monitor press CTRL+ALT+1
Converting a qcow image to a raw file
To convert a qcow image, 'windows.img', to a raw 'windows.raw' file , run
qemu-img convert windows.img -O raw windows.raw
Converting a raw drive to qcow format
To convert a raw 'windows.img' file to a qcow formatted 'windows.qcow', run
qemu-img convert windows.img -O qcow windows.qcow
Troubleshooting
If you experience problems with mouse pointer hanging in bottom right corner, try before you start up qemu
export SDL_VIDEO_X11_DGAMOUSE=0
If you experience the guest Windows XP hanging after the mouse is captured, try this option
-usb -usbdevice tablet
External Links
This has been tested by me and works in Ubuntu 7.10 Gutsy Gibbon. Ubuntu:Vaderdarth211 This has been tested by me and works in Ubuntu 8.04 Hardy Heron. Ubuntu:Paulx2
Under 9.04 (Jaunty)
Install package qemu and one of the qemu gui helpers (I used Qemu Launcher). Set it to create new empty image (I set it for 10Gbytes). Set to boot from CD. Set RAM size to about half your RAM (for installation I have set the same and it worked thou). Hit 'Launch'. The system will boot from CD and install itself, make sure to hit F12 to select boot from hard disk when the first reboot occurs. Tested on : Pentium M 1.4GHz, 512M RAM (Dell Lattitude D600 laptop, Windows installed from CD accompanying this laptop, WinXP professional). No mention of any hardware virtualization in /proc/cpuinfo. And no BIOS upgrade either to enable if any. Graphic :set to Cirrus Logic compatible; Impressions : Installation takes some 12 hours in total :) It is surprisingly responsive even when RAM size is set to 256M. el_es