UBUNTU 安装虚拟机

一、安装

sudo apt update

sudo apt install virtinst

二、创建虚拟机

sudo virt-install --name ubuntu14-vm \ --ram 4096 --vcpus 4 --disk size=80,path=/var/lib/libvirt/images/ubuntu14-vm.qcow2,format=qcow2 --os-type linux -- os-variant ubuntu14.04 --network network=default --graphics none --console pty,target_type=serial --location ~/isos/ubuntu-14.04.6-server-amd64.iso --extra-args 'console=ttyS0,115200n8'

三、虚拟机操作

列表

virsh list --all

查看ip

virsh net-dhcp-leases default

启动

virsh start ubuntu14-vm

进入

virsh console ubuntu14-vm

停止

virsh shutdown ubuntu14-vm

强制关机

virsh destroy ubuntu14-vm

四、卸载虚拟机

记录虚拟机磁盘

virsh domblklist ubuntu14-vm

卸载

virsh undefine ubuntu14-vm --remove-all-storage

手动删除磁盘文件(可能已清除)

sudo rm -f /var/lib/libvirt/images/ubuntu14-vm.qcow2

验证是否彻底删除

virsh list --all | grep ubuntu14-vm

检查磁盘文件是否还在

ls /var/lib/libvirt/images/ubuntu14-vm.qcow2

五、挂载共享目录

1、在宿主机创建目录

sudo mkdir -p /srv/shared-disk

sudo chmod 777 /srv/shared-disk # 或根据需要设置权限

echo "Hello from host" | sudo tee /srv/shared-disk/test.txt

2、virsh edit ubuntu14-vm

在 <devices> 标签内任意位置添加以下内容(复制注意非法字符):

<filesystem type='mount' accessmode='squash'>

<source dir='/srv/shared-disk'/>

<target dir='shared-disk'/>

</filesystem>

3、进入虚拟机,安装 9p 支持(Ubuntu 14.04 通常已内置,但模块可能未加载)

加载内核模块

sudo modprobe 9p

sudo modprobe 9pnet_virtio

验证是否支持

lsmod | grep 9p

4、创建挂载点并挂载

sudo mkdir -p /mnt/disk

sudo mount -t 9p -o trans=virtio,version=9p2000.L shared-disk /mnt/disk

关键参数:

-t 9p:指定文件系统类型

trans=virtio:使用 virtio 传输(高性能)

version=9p2000.L:使用现代 9P 协议(支持权限、symlink 等)

shared-disk:对应 XML 中的 <target dir='...'> 值

5、开放权限 sudo chmod -R a+rw share_disk

相关推荐
Web3探索者9 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo11 小时前
Linux系统中网线与USB网络共享冲突
linux
荣--13 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森14 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10152 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏