制作windows7虚拟机镜像并配置网络

编程知识 更新时间:2023-04-28 07:14:59

制作windows7虚拟机镜像并配置网络

服务器安装的系统是Ubuntu16.04-DeskTop版;
虚拟机镜像制作所需的ISO文件:win7-x86.iso;

1、安装windows7

(1) 拷贝Windows7操作系统的ISO文件到宿主机。


(2) 使用命令“qemu-img create -f qcow2 win7.img 50G”创建一个50GB大小的镜像文件win7.img。

qemu-img create -f qcow2 win7.img 50G
其中:
“create”参数为使用qemu-img命令创建镜像文件;
“-f”参数指定镜像文件的格式为“qcow2”(qcow2是一种硬盘的格式);
镜像文件名为win7.img,大小为50GB;


(3) 下载Virtio驱动。Windows系统默认没有Virtio驱动,而启动虚拟机时命令指定了磁盘驱动和网卡驱动是Virtio,因此需要下载两个Virtio驱动文件:virtio-win-0.1-81.isovirtio-win-1.1.16.vfd。其中,virtio-win-0.1-81.iso文件中包含了网卡驱动,virtio-win-1.1.16.vfd文件包含了硬盘驱动。

(4) 使用刚下载的Windows7镜像文件和刚创建的磁盘镜像文件引导启动系统安装,开启BIOS启动选择菜单,启动时按F12,进入光盘安装界面,输入1,具体命令如下:

qemu-system-x86_64 -m 2048 -drive file=win7.img,cache=writeback,if=virtio,boot=on -fda virtio-win-1.1.16.vfd -cdrom win7-x86.iso -net nic -net user -boot once=d,menu=on -usbdevice tablet --enable-kvm
其中:
-drive file=win7.img,cache=writeback,boot=on 硬盘选项,
虚拟磁盘是win7.img,cache方式为writeback,可引导型磁盘,if=virtio使用磁盘半虚拟化
-boot once=d,menu=on中once=d 表示只从光盘启动一次
-usbdevice tablet 启用usb设备中的tablet功能。开启该功能可使虚拟机内外的鼠标同步。


(5) 安装界面,稍慢,耐心等待。

(6) 在启动界面中选择,要安装的语言,时间和货币格式,键盘和输入方法后,点击“下一步”,如下图所示:




(7) 选择安装的类型为“自定义(高级)”,如下图所示:

(8) 选择Windows7的安装位置。因为没有相应的硬盘,所以应该首先加载硬盘驱动程序,此处点击“加载驱动程序”,如下图所示:


(9) 此时要进行Windows7安装,因此选择Windows7的驱动程序,然后点击“下一步”,如下图所示:

(10) 格式化分区,选择“驱动器高级选项”,选择“新建”,新建一个磁盘分区,大小为50G,如下图所示:



(11) Windows7安装情况如下图所示:



(12) 等待虚拟机重启,重启后继续进行win7的设置。






(13) 安装结束后关闭win7。

2、重启windows7

(1) 使用以下命令再次虚拟机镜像,将virtio-win-0.1-81.iso挂载为客户机的光驱,再从客户机上安装所需的virtio网卡驱动程序。

qemu-system-x86_64 -m 2048 -drive file=win7.img,cache=writeback,if=virtio,boot=on -cdrom virtio-win-0.1-81.iso -net nic,model=virtio -net user -boot order=c -usbdevice tablet --enable-kvm



(2) 正常进入Windows7客户机之后,选择“管理”—“设备管理器”中的“网络适配器”,右键“更新驱动程序软件”,从光驱中选择合适的驱动即可。







3、设置windows7网络

使用网桥方式配置客户机网络在宿主机中的步骤如下:
(配置之前最好将VMware中的宿主机拍快照)
(1) 安装所需软件包
查看是否安装:

dpkg -l |grep uml
dpkg -l |grep bridge


要采用网桥模式的网络配置,需要在宿主机中,安装两个配置网络所需的软件包,uml-utilitiesbridge-utils,前者是含有建立虚拟网络设备(TAP interfaces)的工具,后者是虚拟网桥桥接工具。
可以使用apt-get工具来安装:

apt-get install uml-utilities     #建立虚拟网络设备的工具
apt-get install bridge-utils      #虚拟网桥桥接工具

(2) 使用“ifconfig”命令查看宿主机网络接口名称(eth0或者ens33)

(3) 检查/dev/net/tun,查看当前用户是否有可读写权限。

(4) 建立一个bridge,并将其绑定在一个可以正常工作的网络接口上,同时让bridge成为连接本机和外部网络的接口。
主要配置命令如下:

brctl show                 #查看网桥
brctl addbr br0            #增加一个虚拟网桥
br0brctl show              #查看网桥
brctl addif br0 ens33      #在br0中添加一个接口
ens33brctl show            #查看网桥
(如果xshell连接,该命令执行完,xshell会断开,
  eth0或者ens33是宿主机的网络接口的名字,按自己实际的名字配置。)
brctl stp br0 on       #打开STP协议,否则可能造成环路
(STP协议(生成树协议)逻辑上断开环路,防止二层网络的广播风暴的产生。)
brctl show            #查看网桥
ifconfig ens33 0      #将ens33的IP设置为0dh
client br0            #设置动态ip分配给br0配置ip


使用“route”命令显示路由表信息:

使用“ifconfig”命令查看网络接口:

使用命令“ifconfig br0 up”启动网桥。
如果想要删除某个虚拟网桥和接口,可以使用命令delbrdelif
(5) 准备启动脚本qemu_ifup,功能是在启动虚拟机时创建和打开指定的TAP接口,并将该接口添加到虚拟网桥中。/etc/qemu-ifup脚本代码已提供。

查看qemu-ifup文件的权限,如果没有执行权限,使用如下命令修改:

(6) 准备结束脚本qemu_ifdown,主要功能是退出虚拟机时将该接口从虚拟网桥中移除,然后关闭该接口。一般不用做这个,因为QEMU会自动做。/etc/qemu-ifdown脚本代码已提供。
(7) 查看br0的状态在启动客户机之前,在宿主机上,用命令行看一下此时的br0的状态:

(8) 用qemu命令启动bridge模式的虚拟机在宿主机中,用命令行启动客户机,如下:

qemu-system-x86_64 -m 2048 -drive file=win7.img,cache=writeback,if=virtio,boot=on -cdrom virtio-win-0.1-81.iso -net nic,model=virtio -net tap,ifname=tap1,script=qemu-ifup,downscript=no -usbdevice tablet --enable-kvm -vnc :1


(9) 启动客户机之后,再用命令行看一下此时的br0的状态:

在创建了客户机之后,添加了一个名为tap1的TAP虚拟网络设备,将其绑定在br0这个bridge上。
再次使用“ls /sys/devices/virtual/net/”查看宿主机网络设备:

虚拟机启动以后,发现共有三个虚拟网络设备,依次为:前面建立好的bridge设备br0,网络回路设备lo(就是一般IP为127.0.0.1的设备)和给客户机提供网络的TAP设备tap1。
也可以使用“ifconfig”命令查看宿主机的网络设备:

客户机中的步骤如下:设置网络位置为“工作网络
ping百度:

打开浏览器,查看是否能上网:


(10) 当客户机关闭后,再次在宿主机中查看br0和虚拟设备的状态,如下:

由上面的输出信息可知,tap1设备已被删除。

更多推荐

制作windows7虚拟机镜像并配置网络

本文发布于:2023-04-21 05:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/0253f21a919b9b2e079744b37bc45a1f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:镜像   虚拟机   网络

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 92475文章数
  • 23542阅读数
  • 0评论数