记录在ubuntu 18.04系统上安装qemu/kvm虚拟机的过程

本文详细指导了如何下载和安装Ubuntu桌面版,包括烧录镜像、配置QEMU/KVM、加入libvirt组、设置网络、安装OpenSSH并解决常见问题,以及Windows7系统下的相关操作。
摘要由CSDN通过智能技术生成

- 下载ubuntu镜像

ubuntu镜像下载地址

我下载的是desktop桌面版,比较好操作。

- 烧录

我用的Mac,使用的是balenaEtcher软件进行磁盘烧录。

balenaEtcher下载地址

如果出现磁盘损坏或者无法再次使用,参考这里解决:进入

- 安装ubuntu操作系统

ubuntu系统安装过程还是比较顺利的~

- 安装QEMU/KVM

  • 查看是否有硬件虚拟化处理器,大于0则表示有,如果为0得百度下是不是没有开设置或者硬件本身不支持
  1. grep -Eoc '(vmx|svm)' /proc/cpuinfo
    
    或者
    egrep -c '(svm|vmx)' /proc/cpuinfo
    
    或者
    lsmod | grep 'kvm'
    
    或者
    lsmod | grep -c 'kvm'
  • 开始安装
  • sudo apt-get update
    sudo apt-get install qemu-kvm qemu-utils qemu-system-common libvirt-clients libvirt-daemon-system virtinst virt-manager qemu-system-x86
    

    不出意外的话就会出现意外,如果发现安装失败,检查下ubuntu系统的系统更新设置,将需要更新的东西都更新一番,系统就不要更新了.... 然后回过头重新执行一遍。

  • 开始使用
  • virt-manager

    正常情况下使用virt-manager命令可以打开虚拟化管理工具的。可以使用 qemu-image 和 virsh 等命令。

  • 问题一:有关权限设置。只有 root 和 libvirtd 组里面的用户才有权限创建 KVM 虚拟机。所以要把自己的用户名加入到 libvirt组。具体的命令是:
  • sudo adduser <username> libvirt
    sudo adduser $USER libvirt
    sudo chown <user>:<group> filename_or_directory

    问题二:虚拟机网络配置。

  • 在终端中运行以下命令创建一个名为 br0 的桥接网络:

  • sudo nano /etc/network/interfaces
    auto lo br0
    iface lo inet loopback
    iface enp0s3 inet manual
    iface br0 inet dhcp
        bridge_ports enp0s3
    sudo systemctl restart networking.service

    修改配置文件,添加配置后重启使配置生效。enp0s3 是网卡名称,使用 ifconfig 查看。

- 安装OpenSSH

  • win10系统:
  • win10自动OpenSSH安装服务,进入“设置”搜索“可选功能”,安装OpenSSH客户端和服务端。
  • win+R打开cmd命令行工具,以管理员身份运行net start sshd启动服务。
  • 或者搜索"service.msc"/系统服务,找到OpenSSH SSH Server右键属性,更改状态为启动。
  • 输入sc config sshd start= auto 设置为自启动,或者在服务列表里改为自动启动
  • 检查防火墙设置,确保可以使用ping 192.168.xx.xx -p 22 进行访问

  • win7系统:
  • OpenSSH下载地址
  • #解压至 C:\Program Files\OpenSSH(指定位置)
    #打开 cmd,cd进入 C:\Program Files\OpenSSH(安装目录),执行安装 sshd 服务命令:
    powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
    
    
    #开放22号端口(如果你在windows关闭了防火墙,并配置了入站规则可以不执行如下命令,多执行不影响):
    netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
    
    
    #配置开机自启sshd服务,注意auto 前要空一格:
    sc config sshd start= auto
    
    #启动 ssh 服务:
    net start sshd
    
    
    
    #将 C:\Program Files\OpenSSH 添加到 path 中,以免每次都要切到 C:\Program Files\OpenSSH 才能使用 ssh。
    #步骤:右键点击“计算机”,选择“高级系统设置”,点击“高级”,选择“环境变量”,在“系统变量”的 Path 里编辑增加 “;C:\Program Files\OpenSSH”。

- 安装过程中问题总结

  • iso镜像文件有问题:启动一直黑屏,提示No bootable device. / Could not boot from cdrom (code 0004)问题。
  • qcow2配置问题:启动后蓝屏或者一直提示更新修复启动程序,检查配置。下面是一个示例
    "<domain type='kvm'>\n" +
    "  <name>"+ machineName +"</name>\n" +
    "  <memory>"+ memory +"</memory>\n" +
    "  <currentMemory unit='KiB'>"+ memory +"</currentMemory>\n" +
    "  <vcpu>"+ vcpu +"</vcpu>\n" +
    "  <os>\n" +
    "    <type arch='x86_64' machine='pc-i440fx-bionic'>hvm</type>\n" +
    "    <boot dev='hd'/>\n" +
    "    <boot dev='network'/>\n" +
    "    <boot dev='cdrom'/>\n" +
    "    <bootmenu enable='yes'/>\n" +
    "  </os>\n" +
    "  <features>\n" +
    "    <acpi/>\n" +
    "    <apic/>\n" +
    "  </features>\n" +
    "  <devices>\n" +
    "    <disk type='file' device='disk'>\n" +
    "      <driver name='qemu' type='qcow2'/>\n" +
    "      <source file='" + Constants.WORK_PATH + diskName + ".qcow2'/>\n" +
    "      <target dev='vda'  bus='ide'/>\n" +
    "    </disk>\n" +
    "    <interface type='network'>\n" +
    "      <source network='default'/>\n" +
    "      <model type='rtl8139'/>\n" +
    "    </interface>\n" +
    "    <graphics type='vnc' listen='0.0.0.0' autoport='yes'/>\n" +
    "  </devices>\n" +
    "</domain>";
  • Java使用ProcessBuilder执行脚本问题:1、检查.sh文件是否有执行权限  2、检查是否已经安装相关的库,比如expect 库。3、有时候sh xxx.sh 无法识别,可使用 ./xx.sh检查脚本执行情况。
    #!/usr/bin/expect
    
    set password [lindex $argv 0]
    set transfer_type [lindex $argv 1]
    set originpath [lindex $argv 2]
    set targetpath [lindex $argv 3]
    
    set timeout 30
    
    if {$transfer_type == "1"} {
        spawn scp $originpath $targetpath
    } elseif {$transfer_type == "2"} {
        spawn scp -r $originpath $targetpath
    } else {
        puts "Invalid transfer type. Please provide 1 for file or 2 for folder."
        exit 1
    }
    
    expect {
        # 处理首次连接时的验证信息
        "Are you sure you want to continue connecting (yes/no)?" {
            send "yes\r"
            exp_continue
        }
        # 处理需要输入密码的情况
        "password:" {
            send "$password\r"
        }
    }
    
    interact
  • 虚拟机与宿主机通信问题:尝试使用ping 192.168.x.x 查看是否可以正常连接,如果无法上网或者无法ping通,检查虚拟网络配置。
  • 关于ssh和scp文件传输问题:

- win7 镜像下载链接

www.winwin7.com

知乎win7下载链接

  • Windows 7 Enterprise with Service Pack 1 (x86) - DVD (Chinese-Simplified) :(Win7 32位企业版)
  • ed2k://|file|cn_windows_7_enterprise_with_sp1_x86_dvd_620153.iso|2501507072|7788AED3A02EB99DE1341771950EB697|h=WBMUACNG33CACDQMCWTGFZFI4NCTN3IV|/
  • Windows 7 Enterprise with Service Pack 1 (x64) - DVD (Chinese-Simplified) :(Win7 64位企业版)
  • ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_620654.iso|3264206848|FAEF3BD4D9AF6C529533CA6468E1911E|/
  • Windows 7 Professional with Service Pack 1 (x86) - DVD (Chinese-Simplified) :(Win7 32位专业版)
  • ed2k://|file|cn_windows_7_professional_with_sp1_x86_dvd_622569.iso|2651877376|56C4B513A6109715CD2BEBFBA80370A0|/
  • Windows 7 Professional with Service Pack 1 (x64) - DVD (Chinese-Simplified):(Win7 64位专业版)
  • ed2k://|file|cn_windows_7_professional_with_sp1_x64_dvd_621744.iso|3419052032|A14DCBDA295966DC95B74250595961AB|/
  • Windows 7 Home Premium with Service Pack 1简体中文家庭高级版:
  • ed2k://|file|cn_windows_7_home_premium_with_sp1_x86_dvd_620856.iso|2651877376|F0DCDB42A6A3F16C68898A6834521E47|/
  • Windows 7 Home Premium with Service Pack 1 (x64) - DVD (Chinese-Simplified)
  • ed2k://|file|cn_windows_7_home_premium_with_sp1_x64_dvd_620792.iso|3419052032|5696C317BE29542579A0E1DFC9FDCB7F|/
  • Win7 旗舰版 ISO 镜像英文版
  • ed2k://|file|en_windows_7_enterprise_with_sp1_x64_dvd_u_677651.iso|3182604288|E4D1A2A7BB46706F6545E713EA32A5F3|/
  • ed2k://|file|en_windows_7_enterprise_with_sp1_x86_dvd_u_677710.iso|2434502656|9B710D7876B754D5F96F72B4A7C9B9A8|/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值