(未稳定,待修改)
下面以Windows XP系统为宿主系统(qemu的运行环境)。
以ubuntu为qemu的虚拟系统(在qemu内运行)。
由于ubuntu的权限问题,如果执行命令失败,请尝试使用sudo提升权限。
一、对宿主系统(Windows)安装TAP-Win32虚拟网卡,并加入-net参数运行qemu
* 安装OpenVPN
下载OpenVPN的Windows安装程序。
http://openvpn.net/index.php/open-source/downloads.html
默认勾选TAP Virtual Ethernet Adapter。
安装结束后,Windows会出现一个新的虚拟网卡。
* 设置qemu外windows的虚拟网卡的IP
右键“网络邻居”->属性,打开“网络连接”
把新的TAP-Win32 Adapter V9网卡的名称改为my-tap。
右键->属性->Internet协议(TCP/IP)
双击后选择“使用下面的IP地址”
把IP地址和子网掩码分别改为:
192.168.200.10
255.255.255.0
其余留空,因为这里并不需要也没有DNS服务器,
而是要自己手动为网卡分配不同的IP。
上面就是为那张虚拟网卡配IP(不影响另一张真实网卡)。
系统托盘一般会出现一个新的“网络连接”图标,
因为还没连接上虚拟机,所以出现一个红色的叉(没有连接)。
* 用-net参数启动qemu虚拟机
假设我的硬盘镜像是ubuntu.bin,在命令提示符下执行:
>qemu.exe -L . -m 1024 -hda ubuntu.bin -localtime -net nic -net tap,ifname=my-tap
其中-net nic表示虚拟机(qemu)内的OS添加新的网卡。
如果不添加,ubuntu中键入ifconfig将看不到eth0(即第一张网卡)。
而-net tap,ifname=my-tap表示为虚拟机(qemu)外的系统(这里是Windows XP)指定网卡。
如果不添加,默认就是连真实网卡而非OpenVPN中自带的虚拟网卡。
my-tap是虚拟网卡的名称,可以用openvpn --show-adapters查看。
因为我用中文版的Windows XP会产生带空格的中文网卡名,
所以我把它改为英文my-tap(和重命名文件的方法一样)。
更多信息请google这个关键词“qemu openvpn”。
或者参考以下网址(日文):
http://www.h7.dion.ne.jp/~qemu-win/TapWin32-ja.html
如果系统启动成功,你会看到系统托盘的新网络图标提示连接上网络。
* 配置qemu内ubuntu的网卡IP和默认网关
为虚拟机内部设置一个不同的IP(假设为192.168.200.11)
如果不设置IP,ifconfig命令将不会得到IPv4的地址
打开终端(应用程序->附件->终端),键入命令如下:
$ sudo ifconfig eth0 192.168.200.11
这里eth0是指第一张网卡,可以用ifconfig查看。
然后,把虚拟机外部的host机IP(假设为192.168.200.10)设置为默认网关。
如果不设置网关,ping命令将出现Destination Host Unreachable错误。
键入指令如下:
$ sudo route add default gw 192.168.200.10 eth0
如果操作正常的话,你可以访问默认网关192.168.200.10
(即虚拟机外Windows的那个虚拟网卡TAP-Win32 Adapter V9)
尝试连接宿主系统的网卡:
$ ping 192.168.200.10
可以看到ping可以到达宿主机器。
* 关于网络设置的补充说明
通常使用192.168.*.*格式的IP。
因为192.168.0.0-192.168.255.255(192.168/16)属特殊IP地址段供本地使用。
只是这样的IP不可以直接用于互联网(这里没有问题)。
有些命令可以是这样的:
1. 添加默认网关时可以忽略最后的eth0。
route add default gw 192.168.200.10
2. 配置以太网广播地址和子网掩码(可以省略)。
ifconfig eth0 broadcast 255.255.255.255 netmask 255.255.255.0
* 恢复IP设置
正常情况下,只要重启qemu就可还原虚拟机内ubuntu的IP和网关设置。
如果想手动删除默认网关,可键入:(假设虚拟网卡以192.168.200.10为IP)
$ sudo route del default gw 192.168.200.10 eth0
如果想重新设置虚拟系统(例如qemu内的ubuntu)的对外IP,
直接执行ifconfig指定新的IP即可。
例如sudo ifconfig eth0 192.168.200.12。
* qemu可能会启动失败
qemu可能会在启动时挂掉(不知为何,可能是虚拟网卡的问题),重启再试。
二、让虚拟机内的ubuntu可以访问宿主Windows的共享文件。
* 设置windows的共享文件
我的电脑->工具->文件夹属性->查看
去掉“使用简单文件共享(推荐)前的勾。
然后创建或找一个需要共享的目录,
右键->属性->共享->共享此文件夹,
你可以在对话框中设置读写权限。
然后点“权限”设置用户名。
权限->添加->高级->立即查找。
如果你想添加新的Windows用户,可以这样:
我的电脑->右键->管理->本地用户和组->用户->右键->新用户。
然后重新查找用户名。
设置完后文件夹会出现一个手掌。
* 用虚拟机内的ubuntu访问windows的共享文件夹
按照(一)配好ubuntu的IP后。
系统菜单->位置->网络。
打开“Windows网络”->WORKGROUP。
你会看到宿主计算机的名称。
打开后(或者在打开共享目录后)提示输入用户名和密码。
输入宿主Windows的用户名和密码。
连接成功后,就可以看到Windows的文件了。
(ubuntu好像默认自带了samba的功能)
三、让虚拟机内的ubuntu可以访问宿主Windows的ftp。
* 安装FileZilla的Windows服务器端(Server版)
http://filezilla-project.org/
开始菜单中选择FileZilla Server Interface。
打开管理界面,主菜单->Edit->Users添加用户名和密码。
加入新的Shared folders(共享文件夹),指定读写权限。
* 在Windows命令提示符下测试ftp连接(21端口)
假设我的用户名是test,密码是test。
C:\Documents and Settings\Administrator>ftp localhost
提示输入用户名和密码(注意密码是没有回显的)
登陆成功的话会显示
230 Logged on
ftp>
然后输入ls可以查看目录。
* 用虚拟机内的ubuntu访问windows的ftp文件夹
按照(一)配好ubuntu的IP。
登陆ftp的方法之一是使用终端。
输入ftp命令(假设宿主的虚拟网卡IP是192.168.200.10)
$ ftp 192.168.200.10
其余操作和windows的操作相同。
另一种方法是
系统菜单->位置->连接到服务器
服务类型选择:FTP(需登录)
输入相应的信息后弹出对话框。
输入密码后,即可看到宿主系统ftp的文件。
四、在Windows上访问虚拟机内的ubuntu的ftp文件夹
* 安装ftp服务器vsftpd
$ sudo apt-get install vsftpd
* 启动vsftpd服务
重启ubuntu。
按照(一)加入-net参数和配好ubuntu的IP。
键入下面的命令启动服务
$ sudo service vsftpd start
* 在windows上用IE访问ubuntu的ftp文件夹(默认是根目录)。
首先测试一下连接(假设ubuntu的网卡IP是192.168.200.11)
> ping 192.168.200.11
然后在虚拟机中看看vsftpd监听哪个端口
$ sudo netstat -anp | grep vsftpd
可以看到它正在监听tcp的21端口。
(可以修改/etc/vsftpd.conf来更改端口)
然后打开IE。输入ftp://192.168.200.11/
输入用户名和密码。即可访问ubuntu的整个根目录。
(如果乱码,可以改为utf-8编码)
如果使用其它浏览器(如Chome和Firefox),可能打开的是/home对应的用户目录。
五、在Windows上用telnet远程登陆虚拟机内的ubuntu
* 安装telnetd服务器
$ sudo apt-get install telnetd
虽然网上说要用xinetd,而且要修改配置文件,
但我发现只安装telnetd也可以在启动时运行telnetd服务。
* 尝试在windows上用telnet远程登陆ubuntu
重新启动qemu。
按照(一)加入-net参数和配好ubuntu的IP。
在windows下测试连接(假设ubuntu的网卡IP已经手动设置为192.168.200.11)
> ping 192.168.200.11
然后用telnet 192.168.200.11登陆上ubuntu
> telnet 192.168.200.11
提示u中t输入用户名和密码(密码是无回显的)
登陆后显示最后登陆时间、Linux的版本号、ubuntu的版本号和欢迎。
最后出现提示符。
你可以像在ubuntu的终端那样输入Linux命令(有些输出可以带颜色)。
* 乱码问题
如果有乱码,可能是字符集的问题(ubuntu使用utf-8编码)。
你可以使用一些较高级的程序代替windows的telnet命令行。
例如PuTTY可以设置窗口的字符集为UTF-8。
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
* 可不可以在ubuntu上远程登陆自己呢?
我试过是可以的,不过需要小心,
因为telnet登陆后的提示符和登陆前是相同的。
很容易弄错(因为不知道现在是不是在远程登陆),
所以最好不要直接在ubuntu上telnet自己。
六、在虚拟的ubuntu系统中创建svn服务器
* 安装Subversion和Apache2
(打开终端)
(安装subversion版本控制服务器)
$ sudo apt-get install subversion subversion-tools
(安装Apache httpd静态页面服务器)
$ sudo apt-get install apache2
(安装httpd的svn模块插件,使远程机器可以访问本地的代码仓库,即WebDAV)
$ sudo apt-get install libapache2-svn
$ sudo /etc/init.d/apache2 restart
$ ps -A | grep apache2
* 测试本地svn仓库
(创建helloworld工程)
$ sudo mkdir /var/svn-repos/
$ sudo svnadmin create /var/svn-repos/helloworld
(提升/var/svn-repos/的访问用户和权限,使httpd可以访问)
(假设当前启动apache2服务器进程的组是wmt,可以用groups查看)
$ sudo chown -R www-data:wmt /var/svn-repos/*
$ sudo chmod -R 770 /var/svn-repos/*
(测试本地导入)
$ cd
$ mkdir temp
$ echo hello > temp/test.txt
$ svn import ./temp file:///var/svn-repos/helloworld
(如果出现GNU nano提示忽略,按Ctrl-X跳过即可)
(如果提交成功,将显示当前版本号为1)
$ svn list file:///var/svn-repos/helloworld
test.txt
$ cd
(测试本地导出)
$ svn checkout file:///var/svn-repos/helloworld
$ cat ./helloworld/test.txt
hello
$ echo hello_world >> ./helloworld/test.txt
$ cd helloworld
$ echo hello > test2.txt
$ svn add test2.txt
$ svn commit -m "Add test2.txt and change test.txt"
$ svn list file:///var/svn-repos/helloworld
* 宿主系统访问虚拟机内的svn仓库代码
假设虚拟网卡的IP:
宿主机windows:192.168.200.10(已设置)
虚拟机ubuntu:192.168.200.11(将要设置)
(重启Apache2,改用虚拟网卡启动qemu,打开终端)
(配置网络)
$ sudo ifconfig eth0 192.168.200.11
$ sudo route add default gw 192.168.200.10 eth0
$ ping 192.168.200.10
(如果ping可以到达宿主Windows系统,说明网卡配置成功)
$ sudo /etc/init.d/apache2 restart
(转到宿主Windows系统,打开命令提示符)
> ping 192.168.200.11
(测试80端口是否监听)
(可以用telnet测试:> telnet 192.168.200.11 80)
打开IE,访问192.168.200.11这个网址,显示It works!
关于libapache2-svn插件有用的配置在:
/etc/apache2/mods-enabled/dav_svn.conf
/etc/apache2/mods-enabled/dav_svn.load
需要修改dav_svn.conf
$ sudo gedit /etc/apache2/mods-enabled/dav_svn.conf
在相应的位置加上(小心,Location标签默认是被注释掉的)
<Location /svn>
DAV svn
SVNParentPath /var/svn-repos
</Location>
上面的配置的意思是:
* 把下面的SVNPath或SVNParentPath映射到服务器虚拟目录/svn上(由Location标签指定)
* 把本地的/var/svn-repos所有子目录作为可访问代码库
然后保存dav_svn.conf
(假设当前在wmt组,用groups查看)
$ sudo chown -R www-data.wmt /var/svn-repos/*
(重启Apache2)
$ sudo /etc/init.d/apache2 restart
(检查输出中是否有配置错误,否则修改dav_svn.conf)
然后在宿主机上打开IE,输入http://192.168.200.11/svn/helloworld/
即刚才建立的/var/svn-repos/helloworld路径,可以看到
helloworld - Revision 2: /
test.txt
test2.txt
看到刚才提交的两个文件。
如果Windows上安装了TortoiseSVN,也可以直接检出这个仓库
http://192.168.200.11/svn/helloworld/
如果需要加权限,可以参考这里的介绍:
http://www.howtoforge.com/debian_subversion_websvn
http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html
但一般跑虚拟机没必要使用权限和认证那么麻烦
* 好处
在虚拟机上搭建svn服务器有以下好处:
* 取代ftp,方便使用。
* 版本控制文件,易于比较。
* 快速修改和比较代码。
* 在虚拟机中编译工程代码。
七、debian的系统密码修改(用于
http://code.google.com/p/mod-actionscript/downloads/list
中的debian模拟器的密码修改)
进入grub,
选择Debian GNU/Linux, kernel 2.6.26-2-686,按e编辑
选择第二项,按e编辑,在末尾添加rw init=/bin/sh,回车(这里应该是修改了内核的引导参数,阻止其执行默认的初始化程序,改为使用/bin/sh初始化)
然后按b启动,出现sh命令行提示符后输入passwd root
修改密码后输入sync同步,然后关闭qemu。
八、debian的mysql密码修改(同上)
Linux下,运行 killall -TERM mysqld
Windows下,如果写成服务的 可以运行:net stop mysql,如未加载为服务,可直接在进程管理器中进行关闭。
2、以安全模式启动MySQL
Linux下,运行 /usr/local/mysql/bin/mysqld_safe --skip-grant-tables &
Windows下,在命令行下运行 X:/MySQL/bin/mysqld-nt.exe --skip-grant-tables
3、完成以后就可以不用密码进入MySQL了
Linux下,运行 /usr/local/mysql/bin/mysql -u root -p 进入
Windows下,运行 X:/MySQL/bin/mysql -u root -p 进入
4、更改密码
>use mysql
>update user set password=password("新密码") where user="root";
>flush privileges;
注:如是4.1以上版本则使用old_password()函数进行密码更改。
本文来源网页吧http://www.wangyeba.com
九、shell的语言区域问题(待考证!!!)
可以在shell中修改
export LANG=en_US.UTF-8
但可能会影响到xwindow的显示(如果xwindow使用中文的话)
十、查看分区大小
参考资料:
1. Tapの使い方
http://www.h7.dion.ne.jp/~qemu-win/TapWin32-ja.html
2. Quick HOWTO : Ch16 : Telnet, TFTP, and xinetd/zh
http://wiki.ubuntu.org.cn/Quick_HOWTO_:_Ch16_:_Telnet,_TFTP,_and_xinetd/zh
3. Ubuntu Telnet 服务开启
http://space.itpub.net/7735683/viewspace-487329
4. Setting up Subversion and websvn on Debian
http://www.howtoforge.com/debian_subversion_websvn
5. 安装Subversion服务器
http://man.chinaunix.net/linux/debian/debian_learning/ch09s14.html
6. mod-actionscript
http://code.google.com/p/mod-actionscript/downloads/list
更新日志:
20110429:添加(十)
20110425:添加(七)(八)(九)
20110329:添加(六)
相关推荐
### QEMU虚拟机网卡及网络配置详解 ...总结而言,QEMU提供了丰富的网卡虚拟化技术和网络配置方案,可以根据实际需求灵活选择合适的配置方式。TAP方式因其强大的功能和灵活性成为了最常用的网络配置模式之一。
QEMU Manager通常提供一个图形用户界面,使得创建和管理虚拟机变得更加直观,比如创建虚拟硬盘、分配内存、设置网络接口等。 在QEMU中,您可以通过ISO映像文件安装各种操作系统,如Linux、Windows或其他自由软件...
Ubuntu 23.04 QEMU 图形化安装配置网卡桥接 本文档将指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡...本文档指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡桥接,实现虚拟机访问外部网络。
2. 安装与配置Qemu:学习如何在Windows环境下下载、安装和配置Qemu,以确保能正确模拟目标系统。 3. 模拟ARM系统:理解如何准备和加载ARM架构的操作系统镜像,如Linux,以便在Qemu中运行。 4. 执行系统仿真:掌握...
windows平台安装此工具,可实现打开各种架构的虚拟机
### 在Windows XP下使用QEMU虚拟机实战指南 在IT技术快速发展的今天,虚拟化技术已成为软件开发、测试以及IT教育的重要工具。其中,QEMU作为一款开源的虚拟机平台,因其灵活性和广泛的兼容性而备受青睐。本文将详细...
通过上述步骤和知识点的了解,可以完成在Fedora系统上配置QEMU-KVM虚拟机,并使其在桥接模式下访问外部网络。需要注意的是,本知识点基于Fedora 19环境,不同版本的操作系统或者不同的发行版可能会有些许差异,需要...
KVM 网络配置在 Ubuntu 18.04 下的配置方法 KVM(Kernel-based Virtual Machine)是一种开源的虚拟机软件,能够在 Linux 操作系统上实现虚拟化技术。配置 KVM 网络需要了解网桥模式的配置方法,以下是详细的配置...
win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10 双击qemu-w64-setup-20210505.exe,指定安装目录,例:D:\qemu 安装好后,利用如下步骤qemu创建一个虚拟硬盘文件: 在D:\qemu文件夹下,打开cmd命令行 在...
2. **tap-windows-9.24.7-I601-Win10.exe**:Tap-Windows是TAP驱动程序的Windows实现,它允许QEMU通过虚拟网络接口卡(NIC)与主机网络进行通信。在模拟环境中模拟网络连接时,这个驱动是必需的。 3. **QEMU_EFI.fd...
用于 Ubuntu 20根文件的 qemu-arm-static
因此,许多研究人员正在探索虚拟化作为实现ICS系统高保真模拟的一种手段,在该系统中可以安全地执行网络安全测试。可编程逻辑控制器(PLC)是一个重要的集成电路元件,用于监控断路器和铁路开关等物理过程。先前的...
在Windows环境下运行QEMU,可以为开发者提供一个便捷的平台,用于测试不同操作系统或进行软件开发工作。QEMU-WINDOWS-LITE版本是专为Windows用户设计的轻量化版本,简化了安装和使用的流程。 QEMU的轻量级特性主要...
Qemu-1.15.1 Windows编译版本是专为Windows操作系统设计的一个特定构建,相较于之前的版本,它在性能上实现了显著提升,为用户提供更加流畅和高效的虚拟化体验。 在Qemu1.15.1中,开发者对底层代码进行了优化,使得...
QEMU的核心功能包括系统级虚拟化和用户级虚拟化,支持Linux、Windows以及其他多种操作系统。在本文中,我们将深入探讨QEMU的安装、配置和使用,以及其与KVM、virsh等相关工具的交互。 **1. QEMU的安装** 在Linux...
1. **下载QEMU离线安装包**:首先,你需要在有网络的环境中找到适用于你的Ubuntu版本的QEMU deb包,这通常可以在Ubuntu的官方软件仓库或者第三方软件源中获取。确保下载所有必要的依赖项,因为QEMU可能需要其他库来...
KVM模块是KVM虚拟机的核心部分,负责初始化CPU硬件,打开虚拟化模式,然后将虚拟客户机运行在虚拟机模式下,并对虚拟客户机的运行提供一定的支持。Qemu模块是纯软件实现的虚拟化模拟器,负责模拟硬件设备。用户空间...
在Windows环境下,需要先下载并安装QEMU的Windows版本,如提供的`qemu-0.9.0-windows`压缩包。解压后,找到`qemu-img.exe`执行文件,通过命令行窗口运行相关操作。注意,某些功能可能需要管理员权限。 总的来说,...
为了充分利用GNU MCU QEMU 201905,开发者应当了解如何创建和配置虚拟机映像,这可能涉及到编写启动配置文件,如QEMU的命令行参数或配置文件,来指定内存大小、网络设置、磁盘映像等。同时,他们需要理解ZYNQ的硬件...