fedora install kvm windows7 system


一、系統環境准備

1、egrep '(vmx|svm)' /proc/cpuinfo
2、close firewalld and selinux

3、yum install qemu-kvm libvirt virt-install bridge-utils -y

4、驗證是否安裝成功
lsmod | grep kvm

5、開啟kvm服務,並且設置其開機自動啟動
systemctl start libvirtd

systemctl enable libvirtd

6、配置網卡為網橋模式

cd /etc/sysconfig/network-scripts

#創建ifcfg-br0
BOOTPROTO=static
DEVICE=br0
TYPE=Bridge
NM_CONTROLLED=no
IPADDR=192.168.1.95
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=61.177.7.1
DNS2=8.8.8.8

#移除掉原來的 ifcfg-enp0s25 ,重新創建該文件,內容如下:
BOOTPROTO=none
DEVICE=enp0s25
NM_CONTROLLED=no
ONBOOT=yes
BRIDGE=br0

#重啟網絡服務

systemctl restart network

 

#查看網卡就會多一塊br0

[root@kvm-server images]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether b8:2a:72:d9:8c:02 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::ba2a:72ff:fed9:8c02/64 scope link 
       valid_lft forever preferred_lft forever
3: eno2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether b8:2a:72:d9:8c:03 brd ff:ff:ff:ff:ff:ff
4: eno3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether b8:2a:72:d9:8c:04 brd ff:ff:ff:ff:ff:ff
5: eno4: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether b8:2a:72:d9:8c:05 brd ff:ff:ff:ff:ff:ff
6: virbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 52:54:00:10:4b:45 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
7: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 state DOWN group default qlen 1000
    link/ether 52:54:00:10:4b:45 brd ff:ff:ff:ff:ff:ff
8: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether b8:2a:72:d9:8c:02 brd ff:ff:ff:ff:ff:ff
    inet 192.168.141.83/24 brd 192.168.141.255 scope global br0
       valid_lft forever preferred_lft forever
    inet6 fe80::ba2a:72ff:fed9:8c02/64 scope link 
       valid_lft forever preferred_lft forever
11: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master virbr0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:68:d1:59 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe68:d159/64 scope link 
       valid_lft forever preferred_lft forever

  

二、安裝虛擬機 

0、制作鏡像

[root@kvm-server images]# qemu-img create -f qcow2 /var/lib/libvirt/images/win7.qcow2 100G

  

1、傳鏡像文件

[root@kvm-server ~]# cd /var/lib/libvirt/images/
[root@kvm-server images]# ll
total 15300424
-rwxrwxrwx. 1 777 qemu 443 Jan 17 18:24 installwin7.sh
-rwxrwxrwx. 1 777 qemu 2949120 Jan 17 12:06 virtio-win-0.1.134_amd64.vfd
-rwxrwxrwx. 1 qemu qemu 168509440 Jan 17 12:19 virtio-win-0.1.134.iso
-rw-r--r--. 1 root root 8376 Jan 17 18:25 virt.txt
-rwxrwxrwx. 1 qemu qemu 3420557312 Oct 18 2016 windows7.iso
-rwxrwxrwx. 1 qemu qemu 7813267456 Jan 17 18:39 windows7.qcow2

2、創建虛擬機

[root@kvm-server images]# cat installwin7.sh 
#!/bin/sh
virt-install --connect qemu:///system \
--name win7 --ram 4096 --vcpus=2 --cpuset=auto \
--disk path=/var/lib/libvirt/images/windows7.qcow2,bus=virtio,size=100,format=qcow2 \
--network=network=default,model=virtio \
--graphics vnc,port=5910 \
--disk device=cdrom,path=/var/lib/libvirt/images/windows7.iso \
--disk device=cdrom,path=/var/lib/libvirt/images/virtio-win-0.1.134.iso \
--os-type=windows --os-variant=win7 --boot cdrom,hd

3、查看虛擬機

[root@kvm-server images]# virsh list
Id Name State
----------------------------------------------------
2 win7 running

4、檢查服務

[root@kvm-server images]# netstat -lntup|grep 5910
tcp        0      0 0.0.0.0:5910            0.0.0.0:*               LISTEN      40520/qemu-system-x 

5、更改配置文件網卡名稱

[root@kvm-server ~]# cd /etc/libvirt/qemu
[root@kvm-server qemu]# ll
total 4
drwx------. 3 root root   42 Jan 17 16:53 networks
-rw-------. 1 root root 4086 Jan 17 18:31 win7.xml

[root@kvm-server qemu]# virsh edit win7
Domain win7 XML configuration not changed.

將:
<interface type='network'
   <mac address='52:54:00:0b:f8:a5'/>
   <source network='default'/>
 
修改為:
 <interface type='bridge'>
   <mac address='52:54:00:0b:f8:a5'/>
   <source bridge='br0'/>

6、關閉后再啟動虛擬機

[root@kvm-server qemu]# cd /var/lib/libvirt/images/
[root@kvm-server images]# ll
total 11511624
-rwxrwxrwx. 1  777 qemu        443 Jan 17 18:24 installwin7.sh
-rwxrwxrwx. 1  777 qemu    2949120 Jan 17 12:06 virtio-win-0.1.134_amd64.vfd
-rwxrwxrwx. 1 qemu qemu  168509440 Jan 17 12:19 virtio-win-0.1.134.iso
-rw-r--r--. 1 root root       8376 Jan 17 18:25 virt.txt
-rwxrwxrwx. 1 qemu qemu 3420557312 Oct 18  2016 windows7.iso
-rwxrwxrwx. 1 root root 7928414208 Jan 17 19:01 windows7.qcow2

[root@kvm-server images]# sh installwin7.sh 
ERROR    Guest name 'win7' is already in use.

[root@kvm-server images]# virsh undefine win7
Domain win7 has been undefined

[root@kvm-server images]# sh installwin7.sh 
WARNING  Unable to connect to graphical console: virt-viewer not installed. Please install the 'virt-viewer' package.
WARNING  No console to launch for the guest, defaulting to --wait -1

Starting install...
Domain installation still in progress. Waiting for installation to complete.

 

三、找台帶桌面的linux系統

1、安裝virt-manager軟件

sudo apt-get install virt-manager -y

2、啟動軟件

virt-manager

3、設置連接

192.168.141.83:5910

4、安裝windows7系統,查找陣列卡驅動,分區,安裝系統。

5、帶鍵盤的kvm_vm管理軟件

https://virt-manager.org/download/

 

三、內核優化

1、kvm-vt-d 功能

#檢查下硬件是否支持kvm vt-d功能

  檢查下硬件是否支持vt-d,支持的話查看內核參數是否支持,仍然支持的話查看是否開啟,intel 開啟命令是在grub.conf  kernel那行添加intel_iommu=on,AMD 則需要添加“iommu=pt iommu=1”  

如果你想在系統啟動時加載一個內核參數,需修改GRUB的配置模板(/etc/default /grub),添加"名稱=值”的鍵值對到GRUB_CMDLINE_LINUX變量,添加多個時用空格隔開,例如GRUB_CMDLINE_LINUX="...... name=value"(如果沒有GRUB_CMDLINE_LINUX變量時,用GRUB_CMDLINE_LINUX_DEFAULT替代即可),然后使用grub2-mkconfig -o /boot/grub2/grub.cfg更新grub.cfg文件

 

參考:

http://blog.csdn.net/cybertan/article/details/6596556

https://www.iyunv.com/thread-313278-1-1.html

#有開啟iommu的日志輸出類似如下:

[root@kvm-server ~]# dmesg | grep -e DMAR -e IOMMU
[    0.000000] ACPI: DMAR 0x000000007D3346F4 000160 (v01 DELL   PE_SC3   00000001 DELL 00000001)
[    0.109964] DMAR: Host address width 46
[    0.109965] DMAR: DRHD base: 0x000000d6000000 flags: 0x0
[    0.109970] DMAR: dmar0: reg_base_addr d6000000 ver 1:0 cap d2078c106f0466 ecap f020de
[    0.109971] DMAR: DRHD base: 0x000000df900000 flags: 0x1
[    0.109974] DMAR: dmar1: reg_base_addr df900000 ver 1:0 cap d2078c106f0466 ecap f020de
[    0.109975] DMAR: RMRR base: 0x0000007f458000 end: 0x0000007f46ffff
[    0.109976] DMAR: RMRR base: 0x0000007f450000 end: 0x0000007f450fff
[    0.109976] DMAR: RMRR base: 0x0000007f452000 end: 0x0000007f452fff
[    0.109977] DMAR: ATSR flags: 0x0
[    0.109979] DMAR-IR: IOAPIC id 2 under DRHD base  0xd6000000 IOMMU 0
[    0.109979] DMAR-IR: IOAPIC id 0 under DRHD base  0xdf900000 IOMMU 1
[    0.109980] DMAR-IR: IOAPIC id 1 under DRHD base  0xdf900000 IOMMU 1
[    0.109981] DMAR-IR: HPET id 0 under DRHD base 0xdf900000
[    0.109981] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[    0.109982] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[    0.110819] DMAR-IR: Enabled IRQ remapping in xapic mode

2、顯卡透傳

參考:http://blog.csdn.net/u011846257/article/details/52350369

 #查看顯卡參數

[root@kvm-server ~]# lspci -nn|grep VGA
0c:00.0 VGA compatible controller [0300]: Matrox Electronics Systems Ltd. G200eR2 [102b:0534]
42:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106GL [Quadro P2000] [10de:1c30] (rev a1) 

3、other

#給內核加啟動參數

1. Fedora or CentOS7

$ sudo grub2-mkconfig -o /boot/grub2/grub.cfg //生成grub2的配置文件

$ sudo yum install grub2-tools.x86_64 //沒有grub2-mkconfig命令時,先安裝grub2-tools

帶EFI的系統,grub.cfg文件會是在/boot/efi下,比如CentOS7:/boot/efi/EFI/centos/grub.cfg

#更多參考:

http://blog.csdn.net/qutiezhu/article/details/52856105

http://www.firewing1.com/howtos/fedora-20/create-gaming-virtual-machine-using-vfio-pci-passthrough-kvm 

 

4、ubuntu顯卡直通

http://blog.csdn.net/Zhanxix/article/details/73200297?locationNum=8&fps=1

https://www.pugetsystems.com/labs/articles/Multiheaded-NVIDIA-Gaming-using-Ubuntu-14-04-KVM-585/

 

#GPU Passthrough with KVM and Debian Linux

https://scottlinux.com/2016/08/28/gpu-passthrough-with-kvm-and-debian-linux/

 

#fedora 2003 

https://docs-old.fedoraproject.org/en-US/Fedora/13/html/Virtualization_Guide/chap-Virtualization-PCI_passthrough.html


 一、測試報告

1、查詢設備ID

[root@kvm-server ~]#  virsh nodedev-list | grep pci

pci_0000_42_00_0
pci_0000_42_00_1

2、過濾顯卡

參數說明:顯卡驅動和音頻驅動

[root@kvm-server 0000:42:00.0]# lspci -nn|grep NVIDIA

42:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP106GL [Quadro P2000] [10de:1c30] (rev a1)
42:00.1 Audio device [0403]: NVIDIA Corporation GP106 High Definition Audio Controller [10de:10f1] (rev a1)

 

[root@kvm-server 0000:42:00.0]# cd /sys/bus/pci/devices/0000:42:00.0

[root@kvm-server 0000:42:00.0]# ls
boot_vga                  device           hwmon   i2c-16  i2c-7           modalias   resource0     subsystem
broken_parity_status      dma_mask_bits    i2c-1   i2c-17  i2c-8           msi_bus    resource1     subsystem_device
class                     driver           i2c-10  i2c-18  i2c-9           msi_irqs   resource1_wc  subsystem_vendor
config                    driver_override  i2c-11  i2c-2   irq             numa_node  resource3     uevent
consistent_dma_mask_bits  drm              i2c-12  i2c-3   local_cpulist   power      resource3_wc  vendor
current_link_speed        drm_dp_aux_dev   i2c-13  i2c-4   local_cpus      remove     resource5
current_link_width        enable           i2c-14  i2c-5   max_link_speed  rescan     revision
d3cold_allowed            graphics         i2c-15  i2c-6   max_link_width  resource   rom

#備注:默認沒有driver文件,需要在virtual machine manager里面,添加 pci host device 設備,找到顯卡p2000驅動,點完成。

啟動虛擬機時會報錯,無法啟動。再刪除pci host device 設備,再進cd /sys/bus/pci/devices/0000:42:00.0目錄,就會發現,多了一個driver文件夾。

 

3、掛載vfio驅動

modprobe vfio

modprobe vfio-pci

#解綁
echo 0000:42:00.0 > /sys/bus/pci/devices/0000\:42\:00.0/driver/unbind
echo 0000:42:00.1 > /sys/bus/pci/devices/0000\:42\:00.1/driver/unbind

#綁定
echo 10de 1c30 > /sys/bus/pci/drivers/vfio-pci/new_id
echo 10de 10f1 > /sys/bus/pci/drivers/vfio-pci/new_id

4、查看是否加載成功

[root@kvm-server 0000:42:00.0]# dmesg

5、查看加載信息

[root@kvm-server ~]# dmesg |grep iommu
[    0.000000] Command line: BOOT_IMAGE=/vmlinuz-4.13.16-100.fc25.x86_64 root=/dev/mapper/fedora_kvm--server-root ro rd.lvm.lv=fedora_kvm-server/root rd.lvm.lv=fedora_kvm-server/swap rhgb quiet intel_iommu=on
[    0.000000] Kernel command line: BOOT_IMAGE=/vmlinuz-4.13.16-100.fc25.x86_64 root=/dev/mapper/fedora_kvm--server-root ro rd.lvm.lv=fedora_kvm-server/root rd.lvm.lv=fedora_kvm-server/swap rhgb quiet intel_iommu=on
[    0.939074] iommu: Adding device 0000:00:00.0 to group 0
[    0.939096] iommu: Adding device 0000:00:01.0 to group 1
[    0.939114] iommu: Adding device 0000:00:01.1 to group 2
[    0.939133] iommu: Adding device 0000:00:02.0 to group 3
[    0.939155] iommu: Adding device 0000:00:02.2 to group 4
[    0.939174] iommu: Adding device 0000:00:03.0 to group 5
[    0.939193] iommu: Adding device 0000:00:03.2 to group 6
[    0.939231] iommu: Adding device 0000:00:05.0 to group 7
[    0.939248] iommu: Adding device 0000:00:05.2 to group 7
[    0.939267] iommu: Adding device 0000:00:11.0 to group 8
[    0.939304] iommu: Adding device 0000:00:16.0 to group 9
[    0.939321] iommu: Adding device 0000:00:16.1 to group 9
[    0.939336] iommu: Adding device 0000:00:1a.0 to group 10
[    0.939351] iommu: Adding device 0000:00:1c.0 to group 11
[    0.939371] iommu: Adding device 0000:00:1c.7 to group 12
[    0.939386] iommu: Adding device 0000:00:1d.0 to group 13
[    0.939401] iommu: Adding device 0000:00:1e.0 to group 14
[    0.939436] iommu: Adding device 0000:00:1f.0 to group 15
[    0.939451] iommu: Adding device 0000:00:1f.2 to group 15
[    0.939496] iommu: Adding device 0000:01:00.0 to group 16
[    0.939522] iommu: Adding device 0000:01:00.1 to group 16
[    0.939566] iommu: Adding device 0000:02:00.0 to group 17
[    0.939590] iommu: Adding device 0000:02:00.1 to group 17
[    0.939607] iommu: Adding device 0000:03:00.0 to group 18
[    0.939623] iommu: Adding device 0000:09:00.0 to group 19
[    0.939641] iommu: Adding device 0000:0a:00.0 to group 20
[    0.939657] iommu: Adding device 0000:0a:01.0 to group 21
[    0.939694] iommu: Adding device 0000:0b:00.0 to group 20
[    0.939699] iommu: Adding device 0000:0c:00.0 to group 20
[    0.939724] iommu: Adding device 0000:3f:08.0 to group 22
[    0.939750] iommu: Adding device 0000:3f:09.0 to group 23
[    0.939810] iommu: Adding device 0000:3f:0a.0 to group 24
[    0.939826] iommu: Adding device 0000:3f:0a.1 to group 24
[    0.939843] iommu: Adding device 0000:3f:0a.2 to group 24
[    0.939859] iommu: Adding device 0000:3f:0a.3 to group 24
[    0.939896] iommu: Adding device 0000:3f:0b.0 to group 25
[    0.939912] iommu: Adding device 0000:3f:0b.3 to group 25
[    0.939979] iommu: Adding device 0000:3f:0c.0 to group 26
[    0.939999] iommu: Adding device 0000:3f:0c.1 to group 26
[    0.940031] iommu: Adding device 0000:3f:0c.2 to group 26
[    0.940048] iommu: Adding device 0000:3f:0c.3 to group 26
[    0.940065] iommu: Adding device 0000:3f:0c.4 to group 26
[    0.940132] iommu: Adding device 0000:3f:0d.0 to group 27
[    0.940149] iommu: Adding device 0000:3f:0d.1 to group 27
[    0.940167] iommu: Adding device 0000:3f:0d.2 to group 27
[    0.940188] iommu: Adding device 0000:3f:0d.3 to group 27
[    0.940205] iommu: Adding device 0000:3f:0d.4 to group 27
[    0.940241] iommu: Adding device 0000:3f:0e.0 to group 28
[    0.940259] iommu: Adding device 0000:3f:0e.1 to group 28
[    0.940338] iommu: Adding device 0000:3f:0f.0 to group 29
[    0.940358] iommu: Adding device 0000:3f:0f.1 to group 29
[    0.940377] iommu: Adding device 0000:3f:0f.2 to group 29
[    0.940399] iommu: Adding device 0000:3f:0f.3 to group 29
[    0.940419] iommu: Adding device 0000:3f:0f.4 to group 29
[    0.940437] iommu: Adding device 0000:3f:0f.5 to group 29
[    0.940525] iommu: Adding device 0000:3f:10.0 to group 30
[    0.940544] iommu: Adding device 0000:3f:10.1 to group 30
[    0.940565] iommu: Adding device 0000:3f:10.2 to group 30
[    0.940583] iommu: Adding device 0000:3f:10.3 to group 30
[    0.940603] iommu: Adding device 0000:3f:10.4 to group 30
[    0.940626] iommu: Adding device 0000:3f:10.5 to group 30
[    0.940645] iommu: Adding device 0000:3f:10.7 to group 30
[    0.940701] iommu: Adding device 0000:3f:13.0 to group 31
[    0.940720] iommu: Adding device 0000:3f:13.1 to group 31
[    0.940739] iommu: Adding device 0000:3f:13.4 to group 31
[    0.940757] iommu: Adding device 0000:3f:13.5 to group 31
[    0.940804] iommu: Adding device 0000:3f:16.0 to group 32
[    0.940827] iommu: Adding device 0000:3f:16.1 to group 32
[    0.940846] iommu: Adding device 0000:3f:16.2 to group 32
[    0.940865] iommu: Adding device 0000:40:01.0 to group 33
[    0.940883] iommu: Adding device 0000:40:02.0 to group 34
[    0.940901] iommu: Adding device 0000:40:03.0 to group 35
[    0.940918] iommu: Adding device 0000:40:03.2 to group 36
[    0.940959] iommu: Adding device 0000:40:05.0 to group 37
[    0.940980] iommu: Adding device 0000:40:05.2 to group 37
[    0.941028] iommu: Adding device 0000:42:00.0 to group 38
[    0.941053] iommu: Adding device 0000:42:00.1 to group 38
[    0.941079] iommu: Adding device 0000:7f:08.0 to group 39
[    0.941107] iommu: Adding device 0000:7f:09.0 to group 40
[    0.941164] iommu: Adding device 0000:7f:0a.0 to group 41
[    0.941185] iommu: Adding device 0000:7f:0a.1 to group 41
[    0.941205] iommu: Adding device 0000:7f:0a.2 to group 41
[    0.941226] iommu: Adding device 0000:7f:0a.3 to group 41
[    0.941261] iommu: Adding device 0000:7f:0b.0 to group 42
[    0.941281] iommu: Adding device 0000:7f:0b.3 to group 42
[    0.941352] iommu: Adding device 0000:7f:0c.0 to group 43
[    0.941378] iommu: Adding device 0000:7f:0c.1 to group 43
[    0.941400] iommu: Adding device 0000:7f:0c.2 to group 43
[    0.941420] iommu: Adding device 0000:7f:0c.3 to group 43
[    0.941441] iommu: Adding device 0000:7f:0c.4 to group 43
[    0.941509] iommu: Adding device 0000:7f:0d.0 to group 44
[    0.941530] iommu: Adding device 0000:7f:0d.1 to group 44
[    0.941555] iommu: Adding device 0000:7f:0d.2 to group 44
[    0.941577] iommu: Adding device 0000:7f:0d.3 to group 44
[    0.941598] iommu: Adding device 0000:7f:0d.4 to group 44
[    0.941634] iommu: Adding device 0000:7f:0e.0 to group 45
[    0.941656] iommu: Adding device 0000:7f:0e.1 to group 45
[    0.941735] iommu: Adding device 0000:7f:0f.0 to group 46
[    0.941758] iommu: Adding device 0000:7f:0f.1 to group 46
[    0.941784] iommu: Adding device 0000:7f:0f.2 to group 46
[    0.941807] iommu: Adding device 0000:7f:0f.3 to group 46
[    0.941830] iommu: Adding device 0000:7f:0f.4 to group 46
[    0.941855] iommu: Adding device 0000:7f:0f.5 to group 46
[    0.941944] iommu: Adding device 0000:7f:10.0 to group 47
[    0.941967] iommu: Adding device 0000:7f:10.1 to group 47
[    0.941990] iommu: Adding device 0000:7f:10.2 to group 47
[    0.942020] iommu: Adding device 0000:7f:10.3 to group 47
[    0.942047] iommu: Adding device 0000:7f:10.4 to group 47
[    0.942070] iommu: Adding device 0000:7f:10.5 to group 47
[    0.942094] iommu: Adding device 0000:7f:10.7 to group 47
[    0.942150] iommu: Adding device 0000:7f:13.0 to group 48
[    0.942175] iommu: Adding device 0000:7f:13.1 to group 48
[    0.942197] iommu: Adding device 0000:7f:13.4 to group 48
[    0.942220] iommu: Adding device 0000:7f:13.5 to group 48
[    0.942271] iommu: Adding device 0000:7f:16.0 to group 49
[    0.942295] iommu: Adding device 0000:7f:16.1 to group 49

 


在kvm中虛擬機,直通 獨立P2000顯卡

1、blos中開啟vt-d 參數

2、添加intel_iommu=on,參數到grub文件中,

[root@kvm-server ~]# vim /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.lvm.lv=fedora_kvm-server/root rd.lvm.lv=fedora_kvm-server/swap rhgb quiet intel_iommu=on"
GRUB_DISABLE_RECOVERY="true"

3、加載grub文件到內核中 

 [root@kvm-server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg

 

#查看加載是否成功

vim /boot/grub2/grub.cfg

linux16 /vmlinuz-4.13.16-100.fc25.x86_64 root=/dev/mapper/fedora_kvm--server-root ro rd.lvm.lv=fedora_kvm-server/root rd.lvm.lv=fedora_kvm-server/swap rhgb quiet intel_iom
mu=on 

  

4、reboot 重啟系統

5、雙顯卡,把VGA線接到板載顯卡上面

6、在kvm中安裝系統

  • 啟動方式選擇:UEFI and Q35
  • 選擇windows7.iso
  • 選擇irtio-win-0.1.134.iso
  • 加載顯卡----pci host device ----P2000  (備注:這就是需要穿透的顯卡)
  • 加載音頻(顯卡音頻)---pci host device ----Audio  (備注:這就是需要穿透的顯卡)

7、安裝系統驅動

 

8、安裝完成windows7系統,修改win7.xml配置文件

9、編輯kvm xml 文件

[root@kvm-server qemu]# cd /etc/libvirt/qemu

[root@kvm-server qemu]# ll
total 12
drwx------. 3 root root 42 Jan 17 16:53 networks
-rw------- 1 root root 4134 Jan 18 19:02 win7.xml
-rw-------. 1 root root 4086 Jan 18 10:50 win7.xml.bak

#編輯kvm xml 文件

添加圖上部分代碼,開啟隱藏顯卡檢測功能。

[root@kvm-server qemu]# virsh edit win7

#使修改的配置文件生效

[root@kvm-server ~]# virsh define win7.xml

9、修改win7.xml 網卡的橋接br0選項

10、啟動windows7虛擬機,進入系統安裝顯卡驅動,完裝完成,重啟系統。

 

dmesg |grep -i iommu
dmesg |grep IOM
dmesg |grep iommu

 

11、安裝virt-manager軟件

#ubuntu系統

sudo apt-get install virt-manager -y   

#fedora系統

dnf install virt-manager -y

12、安裝remote-viewer,spice鏈接,安裝系統。

spice://192.168.141.83:5900

 

#執行 Virt-viewer 並聯機至虛擬機桌面
啟動 Virt-viewer,在 Connection Address 字段輸入:"Spice://: QVM port",例如:Spice://192.168.1.1:5901 並點擊 "Connect"。
技術分享

#連接時要先清空防火牆

iptables -F

iptalbes -L 

 

#uefi啟動

參考:

http://blog.sina.com.cn/s/blog_8ea8e9d50102wj5q.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM