在 windows 上使用 qemu 运行虚拟 linux

use*_*380 21 linux virtualization qemu

我正在尝试使用 Qemu 1.3 for windows 在带有 Windows 7 的 U 盘上运行 lubuntu。在我的 U 盘上下载并解压 Qemu 后,如果我点击 qemu.io.exe,我得到

qemu-io.exe>
Run Code Online (Sandbox Code Playgroud)

如何启动我下载的 linux .iso 文件?这听起来很基本,但我从 Qemu 网站上不清楚。

ixe*_*013 30

这是我如何在 64 位 Windows 7 Enterprise 上运行最小版本的 CentOS 7,而不是管理员组的成员(非管理员)。

基本思想是:

  1. 下载 qemu for windows 并解压到任何地方
  2. 下载要运行的 Linux 发行版的 ISO 映像
  3. 创建一个文件作为你的虚拟机硬盘
  4. 运行 qemu,从 CD 映像启动
  5. 安装操作系统
  6. 重启虚拟机,这次没有光盘镜像

网络和精美的图形很难做到正确。还在挣扎,其实...

1.下载QEMU

使用在 QEMU 链接页面上找到预编译二进制文件。我为此使用了2.8.0 版

要以非管理员身份“安装”此版本,请打开命令提示符,发出命令set __COMPAT_LAYER=RunAsInvokerqemu-w64-setup-20170131.exe从该提示符运行。安装在您具有写入权限的文件夹中,例如“我的文档”或其他内容。

2.下载Linux的ISO镜像

再次,帮助自己。我使用的是 CentOS 7Minimal 发行版,该文件名为CentOS-7-x86_64-Minimal-1611.iso.

3.创建虚拟硬盘

我为此使用了一个批处理文件。将以下内容复制到名为的文件中createvm.bat并调整变量以适合您的环境:

@echo off
rem ==================================
rem Replace with your values
rem ==================================
set "QEMUDIR=%USERPROFILE%\Documents\Warez\qemu-2.8.0-win64"

rem ==================================
rem Safety net
rem ==================================
if not exist hda.img (
    rem CREATE a virtual hard disk 
    "%QEMUDIR%\qemu-img.exe" create hda.img 40G
) else (
    echo file hda.img already exist. Delete or move and try again.
    goto:eof
)
Run Code Online (Sandbox Code Playgroud)

4. 运行 QEMU,从虚拟 CD 启动

为这个使用批处理,因为您可能经常使用它。将以下内容复制到installvm.bat

@echo off

rem ==================================
rem Replace with your values
rem ==================================
set "QEMUDIR=%USERPROFILE%\Documents\Warez\qemu-2.8.0-win64"
set "ISOFILE=CentOS-7-x86_64-Minimal-1611.iso"

rem ==================================
rem You can add a w suffix to this if 
rem you don't want a console
rem ==================================
set "QEMUBIN=qemu-system-x86_64.exe"

rem ==================================
rem Run the virtual machine
rem ==================================
start "QEMU" "%QEMUDIR%\%QEMUBIN%" -drive file=hda.img,index=0,media=disk,format=raw -cdrom %ISOFILE% -m 2G -L Bios -usbdevice mouse -usbdevice keyboard -boot menu=on -rtc base=localtime,clock=host -parallel none -serial none -name centos -no-acpi -no-hpet -no-reboot 
Run Code Online (Sandbox Code Playgroud)

5. 安装操作系统

我在使用 GUI 安装程序时遇到了问题。当提示安装 CentOS 时,按TAB键并将quiet该行末尾的单词替换为text

按照屏幕上的安装说明进行操作。安装完成后,虚拟机将退出。这可能需要很长时间,尤其是在以非管理员用户身份运行时。

6. 在 QEMU 中运行你的 Linux 镜像

这一步是您每次需要时反复执行以运行 VM 的操作。将以下内容复制到runvm.bat

@echo off

rem ==================================
rem Replace with your values
rem ==================================
set "QEMUDIR=%USERPROFILE%\Documents\Warez\qemu-2.8.0-win64"

rem ==================================
rem You can add a w suffix to this if 
rem you don't want a console
rem ==================================
set "QEMUBIN=qemu-system-x86_64.exe"

rem ==================================
rem Run the virtual machine
rem ==================================
start "QEMU" "%QEMUDIR%\%QEMUBIN%" -drive file=hda.img,index=0,media=disk,format=raw -m 2G -L Bios -usbdevice mouse -usbdevice keyboard -boot menu=on -rtc base=localtime,clock=host -parallel none -serial none -name centos -no-acpi -no-hpet -no-reboot -device e1000,netdev=user.0 -netdev user,id=user.0,hostfwd=tcp::2222-:22
Run Code Online (Sandbox Code Playgroud)

我添加了一个本地 portforward :如果你 ssh/putty 到 localhost:2222,你将到达你的 VM 的 SSH 守护进程。要注意的是firewalldiptables 可能会堵塞交通,这取决于你安装了Linux的方式。

  • 非常感激! (2认同)

Xyo*_*yon 3

Qemu 手册将是一个很好的起点。它将帮助您确定下一步应该做什么,即告诉 qemu 要做什么,以及具体如何做。

  • 我会以此作为答案,尽管手册似乎并没有非常具体地说明我想要做的事情。我并没有被这里的文档所震撼,除非我遗漏了一些东西。 (3认同)