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

- 下载ubuntu镜像

ubuntu镜像下载地址

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

- 烧录

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

balenaEtcher下载地址

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

- 安装ubuntu操作系统

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

- 安装QEMU/KVM

  • 查看是否有硬件虚拟化处理器,大于0则表示有,如果为0得百度下是不是没有开设置或者硬件本身不支持
bash 复制代码
grep -Eoc '(vmx|svm)' /proc/cpuinfo

或者
egrep -c '(svm|vmx)' /proc/cpuinfo

或者
lsmod | grep 'kvm'

或者
lsmod | grep -c 'kvm'
  • 开始安装
bash 复制代码
sudo apt-get update
sudo apt-get install qemu-kvm libvirt-bin bridge-utils virt-manager

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

  • 开始使用
bash 复制代码
virt-manager

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

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

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

  • 在终端中运行以下命令创建一个名为 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下载地址

bash 复制代码
#解压至 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配置问题:启动后蓝屏或者一直提示更新修复启动程序,检查配置。下面是一个示例

    XML 复制代码
    "<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检查脚本执行情况。

    XML 复制代码
    #!/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|/
相关推荐
春日见5 分钟前
端到端自动驾驶综述
linux·人工智能·算法·机器学习·自动驾驶
CDN36017 分钟前
CSDN 技术分享|360CDN SDK 游戏盾集成与常见问题
运维·游戏
Lary_c20 分钟前
【测试自动化】pytest + Allure 完整学习指南
运维·自动化·pytest
Trouvaille ~20 分钟前
【项目篇】从零手写高并发服务器(六):EventLoop事件循环——Reactor的心脏
linux·运维·服务器·c++·高并发·epoll·reactor模式
bai_lan_ya20 分钟前
linux -- 文件IO
linux·服务器
林鸿群29 分钟前
Ubuntu 26.04 本地安装 GitLab CE 完整教程(非 Docker 方式)
linux·ubuntu·gitlab·私有部署·代码托管·ubuntu 26.04·omnibus
YuQiao030344 分钟前
国内安装claude code
ubuntu·claude·vibe coding
勇闯逆流河1 小时前
【Linux】Linux进程概念(进程优先级,进程切换详解)
linux·运维·服务器
老师好,我是刘同学1 小时前
30个核心Linux命令速查手册
linux
fsj2009yx1 小时前
如何把无公网的求生之路2服务器借助VPS转发注册到steam master列表中
linux·wireguard·求生之路2