kvm安装Windows7旗舰版(一)

简介: kvm安装Windows7旗舰版

前言:


kvm通常是现在的云平台的底层架构,因此,kvm是需要好好学习的。那么,如何在vm的Linux虚拟机里练习安装kvm虚拟机呢(这里,可能很多同学有点疑惑了,简单来说,就是在vm里安装的虚拟机里配置好kvm环境,然后在制作一个可以随意分发的Windows虚拟机,简称俄罗斯套娃)?

实验目的:


通过在vm虚拟机里安装kvm虚拟机,熟悉kvm的运作机制,并制作出可供云平台比如OpenStack平台使用的虚拟机镜像。

实验环境:


宿主机是Windows7旗舰版,vmware的版本是12pro,vm里安装的操作系统为centos7.6。

计划在centos7.6这个虚拟机里搭建一个完整的kvm环境,制作一个可联网的kvm虚拟机,该虚拟机版本为Windows7旗舰版。

宿主机的配置:

image.png

vm的版本:

image.png

需要用到的Windows安装包和驱动:

这里啰嗦两句了,ISO文件必须是Windows的纯净版,如果是deep,萝卜什么的定制ISO,虚拟机不会也不能引导成功。

链接:https://pan.baidu.com/s/1HoHhb8tWlB8dL2GVwiiLRg

提取码:kvms  

image.png

一,kvm环境搭建


Linux虚拟机需要安装桌面和libvirt服务,kvm是每个centos自带的,内核完全支持,就不说了。虚拟机的CPU需要开启虚拟化。如下图:

151133bf03584ebcb7f9370cf6ee80cc.png

Linux启动后,配置好本地仓库和virt源仓库,仓库文件内容应该如下,本地仓库的搭建见本人博客,这里就不解释了----Linux的完全本地仓库搭建指南(科普扫盲贴)_zsk_john的博客-CSDN博客_linux仓库

[kvm]
name=kvm
baseurl=https://mirrors.aliyun.com/centos/7.9.2009/virt/x86_64/kvm-common/
enable=1
gpgcheck=0

仓库配置好后,执行以下命令安装桌面和kvm环境:

1. yum -y install qemu-kvm libvirt virt-install bridge-utils virt-manager
2. yum groupinstall " GNOME Desktop" -y

这里稍微做一个科普,kvm环境主要是由两个命令族组成(命令族的意思是一系列基本相同的命令,比如,ip 族命令,net族命令),一个是qemu族,一个是virt族。

[root@slave1 opt]# ip
ip                    ipa-client-automount  ipcalc                iprdbg                ipset                 iptunnel
ip6tables             ipa-client-install    ipcmk                 iprdump               iptables              
ip6tables-restore     ipa-getcert           ipcrm                 iprinit               iptables-restore      
ip6tables-save        ipa-getkeytab         ipcs                  iprsos                iptables-save         
ipa                   ipa-join              ipmaddr               iprupdate             iptables-xml          
ipa-certupdate        ipa-rmkeytab          iprconfig             ipsec                 iptc                  
[root@slave1 opt]# net
netaddr             netreport           netscsid            netstat             nettle-hash         nettle-lfib-stream 
[root@slave1 opt]# virt
virt-clone          virt-install        virtlogd            virt-pki-validate   virt-xml            
virt-host-validate  virtlockd           virt-manager        virt-what           virt-xml-validate
root@slave1 opt]# qemu-
qemu-ga         qemu-img        qemu-io         qemu-nbd        qemu-pr-helper

比如上面的net族,我们可以认为netaddr和netsta这两个命令是一个族的,ipa ,ipset ,ip等等命令是ip族的,当然,在kvm里常用的命令是virt-clone virt-install virt-xml virsh 这么几个命令,尤其是virsh,virt-install ,virt-clone 这三个命令非常常用。

以上软件安装完毕后,需要开启libvirt服务,开启服务命令为:

1. systemctl start libvirtd
2. systemctl enable libvirtd
3. systemctl status libvirtd

请确保服务应该是这个样子的:

最后一段说的是我有一个虚拟机在运行,名字是win7。

[root@slave1 opt]# systemctl status libvirtd
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2022-05-03 17:48:06 CST; 5h 3min ago
     Docs: man:libvirtd(8)
           https://libvirt.org
 Main PID: 27166 (libvirtd)
    Tasks: 20 (limit: 32768)
   CGroup: /system.slice/libvirtd.service
           ├─27166 /usr/sbin/libvirtd
           ├─27279 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelp...
           └─27280 /usr/sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelp...
May 03 18:30:51 slave1 dnsmasq-dhcp[27279]: DHCPREQUEST(virbr0) 192.168.122.60 52:54:00:f9:56:56
May 03 18:30:51 slave1 dnsmasq-dhcp[27279]: DHCPACK(virbr0) 192.168.122.60 52:54:00:f9:56:56 zsk-PC
May 03 18:30:56 slave1 dnsmasq-dhcp[27279]: DHCPINFORM(virbr0) 192.168.122.60 52:54:00:f9:56:56
May 03 18:30:56 slave1 dnsmasq-dhcp[27279]: DHCPACK(virbr0) 192.168.122.60 52:54:00:f9:56:56 zsk-PC
May 03 18:34:46 slave1 libvirtd[27166]: 2022-05-03 10:34:46.569+0000: 27166: error : qemuMonitorIO:718 : internal error: End of file from qemu monitor
May 03 22:00:47 slave1 dnsmasq[27279]: no servers found in /etc/resolv.conf, will retry
May 03 22:02:53 slave1 dnsmasq[27279]: reading /etc/resolv.conf
May 03 22:02:53 slave1 dnsmasq[27279]: using nameserver 61.128.114.166#53
May 03 22:02:53 slave1 dnsmasq[27279]: using nameserver 8.8.8.8#53
May 03 22:05:17 slave1 libvirtd[27166]: 2022-05-03 14:05:17.175+0000: 27171: warning : qemuDomainObjTaint:7564 : Domain id=4 name='win7' uu...host-cpu
Hint: Some lines were ellipsized, use -l to show in full.

安装好的虚拟机里的kvm虚拟机是这样的:

a5703ed8c1f6416da9a0179642de4e10.png

image.png

二,设置Linux虚拟机网卡桥接模式,以使得kvm虚拟机能够正常上网。


Linux虚拟机的网卡名称是ens33,修改这个网卡的配置文件,内容如下(原先的关于ip地址和netmask,gateway,dns这些的都删除掉,添加一个BRIDGE="br0",DEVICE和NAME都是ens33):

TYPE="Ethernet"
BRIDGE="br0"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens33"
UUID="d4876b9f-42d8-446c-b0ae-546e812bc954"
DEVICE="ens33"
ONBOOT="yes"

新建一个虚拟网卡配置文件,该网卡命名为br0,这个网卡的配置文件如下(ens33原来的关于ip地址和netmask,gateway,dns写到这个文件里,DEVICE和NAME都是br0,TYPE修改成Bridge):

TYPE="Bridge"
NAME="br0"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
UUID="a276650e-af08-4270-8bac-08aa6197f2bc"
DEVICE="br0"
ONBOOT="yes"
PREFIX="24"
IPADDR=192.168.0.17
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=61.128.114.166
DNS2=8.8.8.8

 重启网络服务后,该Linux虚拟机仍可正常上网,并且查看网卡可以看到两个网卡的mac地址是一样的,这样就算桥接网卡成功啦(两个00:0c:29:e9:9e:89)。

重启网络服务命令是:

systemctl restart network

网卡信息如下

[root@slave1 network-scripts]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN qlen 1000
    link/ether 00:0c:29:e9:9e:89 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether 00:0c:29:e9:9e:89 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.17/24 brd 192.168.0.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee9:9e89/64 scope link 
       valid_lft forever preferred_lft forever
4: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether 52:54:00:4a:0d:60 brd ff:ff:ff:ff:ff:ff
    inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever
5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast master virbr0 state DOWN qlen 1000
    link/ether 52:54:00:4a:0d:60 brd ff:ff:ff:ff:ff:ff
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN qlen 1000
    link/ether fe:54:00:fc:03:6f brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fefc:36f/64 scope link 
       valid_lft forever preferred_lft forever
目录
相关文章
|
4月前
|
人工智能 JavaScript 开发工具
极速上手!Claude Code 原生支持 Windows 免WSL安装教程
Claude Code 现已支持 Windows 原生运行,无需 WSL 配置。本文提供详细安装教程,涵盖 Node.js 环境验证、Git 安装及 Claude Code 配置步骤,助你快速上手这一强大 AI 编程工具。
2061 5
|
4月前
|
存储 虚拟化 Windows
VMware安装Windows10
本案例介绍了在Windows系统上使用VMware Workstation 17.5 Pro安装配置Windows 10虚拟机的详细步骤,包括所需设备、软件下载链接、虚拟机设置及系统安装全过程。
812 133
VMware安装Windows10
|
5月前
|
Ubuntu Unix Linux
在Windows上轻松安装和使用Ubuntu的方法详解
继续点击“Continue”按钮以继续安装流程,随后选择清理磁盘并安装操作系统的选项。 接下来,在安装过程中,你需要选择时区。为了与你的地理位置相匹配,请选择中国上海作为你的时区设置。 在安装过程中,你还需要设置计算机的名称以及账号密码。请务必牢记这些信息,因为它们将作为你登录系统的凭证。
|
3月前
|
安全 Ubuntu iOS开发
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
184 3
Nessus Professional 10.10 Auto Installer for Windows - Nessus 自动化安装程序
|
4月前
|
安全 数据安全/隐私保护 Windows
ZyperWin++使用教程!让Windows更丝滑!c盘飘红一键搞定!ZyperWin++解决系统优化、Office安装和系统激活
ZyperWin++是一款仅5MB的开源免费Windows优化工具,支持快速优化、自定义设置与垃圾清理,兼具系统加速、隐私保护、Office安装等功能,轻便无广告,小白也能轻松上手,是提升电脑性能的全能管家。
1380 0
|
5月前
|
Ubuntu Linux Windows
如何在Ubuntu系统中安装Wine,借此来运行Windows程序
熟悉的登录画面出现,在Ubuntu系统中扫描登录微信程序。
|
5月前
|
Ubuntu Linux Shell
手把手教你安装适用于Linux的Windows子系统——Ubuntu
重启完成,你看看重新打开Ubuntu是不是发生了变化,等待几分钟,系统配置完成,根据提示设置用户名和密码即可
|
5月前
|
Ubuntu Linux 数据安全/隐私保护
Windows上快速安装Linux子系统Ubuntu
Installing, this may take a few minutes...WslRegisterDistribution failed with error: 0x800701bcError: 0x800701bc WSL 2 ?????????????????? https://aka.ms/wsl2kernelPress any key to continue... 原因是 wsl1 升级到 wsl2 之后,内核却没有升级。 解决:下载最新的wsl安装包(wsl安装包)