news 2026/4/3 4:59:47

virsh启用linux虚拟机+忘记密码的操作

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
virsh启用linux虚拟机+忘记密码的操作

比起君子讷于言而敏于行,我更喜欢君子善于言且敏于行。

目录

一、准备逻辑卷+镜像

二、安装virt-manager + 准备桥接网络(宿主机)

三、 创建linux虚拟机

四、 虚拟机查看网络设置静态ip

五、数据盘准备

六、忘记root密码


一、准备逻辑卷+镜像

sudo lvcreate -n centos-sign-lv -L 200G vmsvg sudo mkfs.ext4 /dev/vmsvg/centos-sign-lv sudo mkdir /mnt/centos-sign sudo mount /dev/vmsvg/centos-sign-lv /mnt/centos-sign cd /mnt/centos-sign ls sudo scp -r ubuntu2@10.xxx.xxx.xxx:/data/linux/centos-sign.raw /mnt/centos-sign

二、安装virt-manager + 准备桥接网络(宿主机)

#和windows那篇是一样的,我之前安装了,这一步可以跳过 sudo apt update sudo apt install -y virt-manager libvirt-daemon-system libvirt-clients qemu-kvm virtinst qemu-efi ovmf sudo systemctl enable --now libvirtd sudo systemctl status libvirtd #说明:virt-manager → 图形界面管理工具;libvirt-daemon-system+libvirt-clients → 提供虚拟机管理后台;qemu-kvm → 真正运行虚拟机的引擎 #将当前用户加入 libvirt 组,这一步是为了解决“权限不够导致无法连接”的问题 sudo usermod -aG libvirt $(whoami) sudo usermod -aG kvm,libvirt $USER #在当前 shell 中临时刷新组权限,这条命令会让当前终端立即切换到新的组权限(不需要重启或注销) newgrp libvirt sudo systemctl restart libvirtd virt-manager #宿主机准备好桥接网络 sudo vim /etc/netplan/01-bridge.yaml network: version: 2 renderer: networkd ethernets: eno2: dhcp4: no bridges: br0: interfaces: [eno2] #按照实际网卡填写 addresses: [10.155.xxx.xxx/24] # 宿主机 IP gateway4: 10.155.xxx.1 nameservers: addresses: [10.4.xxx.27,10.4.xxx.28] parameters: stp: false forward-delay: 0 #应用配置 sudo netplan apply #检查桥接接口br0,应该显示静态IP 10.155.xxx.xxx,eno2不再有IP,只是桥接接口 ip addr show br0 #测试网络,可以 ping 通,说明配置成功, ping 10.155.xxx.1 # 网关 ping 8.8.8.8 # 外网

三、 创建linux虚拟机

run起来之后,可以通过VNC访问ubuntu物理机IP:5902 (就是命令里,设置的端口)

#一定要注意端口问题,端口占用的话可以换一个干净的端口。默认是5900 sudo virt-install \ --name centos-sign \ --ram 16384 \ --vcpus 8 \ --cpu host \ --disk /mnt/centos-sign/centos-sign.raw,bus=virtio \ --os-type linux \ --os-variant centos7.0 \ --boot hd \ --network bridge=br0,model=virtio \ --graphics vnc,port=5902,listen=0.0.0.0 \ --input type=tablet,bus=usb \ --input type=keyboard,bus=usb \ --import \ --noautoconsole #查看一下状态 sudo virsh list --all

四、 虚拟机查看网络设置静态ip

配置完之后,拿到ip,就可以通过ssh连接设备了,比VNC好用一些。这是centos的网络配置,后续我会再补一下ubuntu的网络配置

#查看用的哪个网卡 ip addr #如果为down的话启用对应网卡 sudo ip link set eth6 up #永久写配置文件(root 身份) vim /etc/sysconfig/network-scripts/ifcfg-eth6 DEVICE=eth6 TYPE=Ethernet ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static NAME=eth6 IPADDR=IP地址 NETMASK=子网掩码 GATEWAY=网关 DNS1=DNS写一下 #重启网络服务 systemctl restart network #如果没有systemctl,那就再拉起一下eth6或者试试serice ifup eth6 service network restart

ubuntu系统

#这样可以在自己的终端登录虚拟机并操作命令 virsh console 虚拟机名称 #先看网卡 ip a #关闭cloud-init 网络配置 mkdir -p /etc/cloud/cloud.cfg.d cat > /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg <<EOF network: {config: disabled} EOF #删除 cloud-init 生成的 netplan 文件 mv /etc/netplan/50-cloud-init.yaml /tmp #写一个静态ip地址配置文件 vim 01-static.yaml network: version: 2 renderer: networkd ethernets: eth0: dhcp4: no addresses: - IP地址/24 gateway4: 网关 nameservers: addresses: - dns1 - dns2 #应用配置 netplan generate netplan apply #手动拉起网卡 ip link set eth0 up ip a

五、数据盘准备

#准备400G的数据盘 sudo lvcreate -L 400G -n centos-sign-data vmsvg virsh attach-disk centos-sign \ /dev/vmsvg/centos-sign-data vdb --cache none --subdriver raw --targetbus virtio --persistent #去虚拟机里面查看一下数据盘是否出现 lsblk | grep vdb #可以查看之前的数据盘是什么格式,怎么自动挂载的 cat /etc/fstab /dev/vdb /data xfs defaults 0 0 #我这儿原fstab写的是整盘 /dev/vdb 直接挂载成 xfs,没有分区表。为保持兼容,无需再 fdisk 分区。一次性整盘格式化 xfs(会清数据!) sudo mkfs.xfs -f /dev/vdb #确保挂载点存在 sudo mkdir -p /data sudo mount -a # 读取原 /etc/fstab df -h /data

六、忘记root密码

#先停掉虚拟机 virsh destroy centos-sign #宿主机操作 sudo losetup -fP /mnt/centos-sign/centos-sign.raw losetup -a | grep centos-sign /dev/loop24: []: (/mnt/centos-sign/centos-sign.raw) lsblk /dev/loop24 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT loop24 7:24 0 100G 0 loop ├─loop24p1 259:0 0 99.9G 0 loop ← 这就是根分区 / ├─loop24p14 259:1 0 4M 0 loop ← BIOS/GRUB 保留分区 └─loop24p15 259:2 0 106M 0 loop ← EFI System Partition sudo mkdir /mnt/passwd sudo mount /dev/loop24p1 /mnt/passwd sudo chroot /mnt/passwd passwd root 按提示输入两次新密码 sudo umount /mnt/passwd sudo losetup -d /dev/loop24 启动虚拟机 virsh start centos-sign
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/27 16:11:49

【全栈前端老曹】2025年CSDN博客文章创作历程与技术心得年度总结

【全栈前端老曹】2025年CSDN博客前端创作历程与技术年度总结 &#x1f389; 老曹的年度感言 首先&#xff0c;我要向CSDN平台表达最诚挚的感谢&#xff0c;感谢平台为我们这些技术爱好者提供了一个展示自我、分享知识的广阔舞台。同时&#xff0c;也要感谢各位技术评委的辛勤工…

作者头像 李华
网站建设 2026/4/1 4:46:04

CNN反卷积实现:PyTorch中转置卷积层的应用

CNN反卷积实现&#xff1a;PyTorch中转置卷积层的应用 在图像分割、超分辨率重建和生成对抗网络&#xff08;GAN&#xff09;等任务中&#xff0c;如何将低维特征图“还原”为高分辨率输出&#xff0c;一直是深度学习中的关键挑战。传统的插值方法虽然计算高效&#xff0c;但在…

作者头像 李华
网站建设 2026/3/28 7:24:32

提示工程架构师处理多语言场景的8个常见问题,一一解答!

提示工程架构师处理多语言场景的8个常见问题&#xff0c;一一解答&#xff01; 引言&#xff1a;多语言场景下的提示工程困境 在全球化浪潮下&#xff0c;越来越多的产品需要支持多语言交互——从跨境电商的智能客服&#xff0c;到跨国企业的AI协作工具&#xff0c;再到面向全球…

作者头像 李华
网站建设 2026/4/2 10:00:45

CUDA共享内存优化:提升PyTorch张量操作效率

CUDA共享内存优化&#xff1a;提升PyTorch张量操作效率 在深度学习模型日益复杂的今天&#xff0c;一个看似简单的矩阵乘法可能涉及数亿次浮点运算。当我们在 PyTorch 中写下 z torch.mm(x, y) 时&#xff0c;背后是数千个 GPU 线程并行协作的精密舞蹈。然而&#xff0c;真正决…

作者头像 李华
网站建设 2026/4/1 2:26:03

Docker Prune清理系统:释放PyTorch构建产生的冗余数据

Docker Prune清理系统&#xff1a;释放PyTorch构建产生的冗余数据 在现代AI开发中&#xff0c;一个看似不起眼的问题却常常让工程师措手不及——明明刚换的硬盘&#xff0c;怎么跑几个模型训练任务就满了&#xff1f;尤其是在使用 PyTorch-CUDA 镜像进行深度学习项目时&#xf…

作者头像 李华