跳转到主要内容
你行网

Main navigation

  • 首页
  • Drupal
  • 编程与开发
  • 数据库
  • 操作系统与应用
  • 服务器与运维
  • 社区
User account menu
  • 登录

面包屑

  1. 首页

kvm虚拟机启动失败:default网络未激活

由 hrs, 21 八月, 2025
启动域时出错: Requested operation is not valid: network 'default' is not active
Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 72, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 108, in tmpcb
    callback(*args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1402, in startup
    self._backend.create()
  File "/usr/lib/python3/dist-packages/libvirt.py", line 1379, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: Requested operation is not valid: network 'default' is not active

这个错误表明您的虚拟机(通过 virt-manager 或 virsh 启动)依赖于一个名为 'default' 的虚拟网络,但这个网络当前处于未激活(inactive)状态。

简单来说:虚拟机需要连接到一个网络才能启动,但它指定的“default”网络没有运行,所以启动失败了。

问题原因分析
在 libvirt(管理虚拟化的工具包)中,'default' 通常是一个由 libvirt 自己创建和管理的 NAT 类型虚拟网络。它允许虚拟机通过宿主机(物理机)访问外部网络(如互联网),但外部网络无法直接访问虚拟机,这是最常见的默认配置。

这个 'default' 网络可能因为以下原因没有启动:

最常见原因:libvirt 的守护进程(libvirtd)或其网络部分没有设置成开机自启,或者被意外停止了。

系统重启后,虚拟网络没有自动启动。

该网络被手动停止了。

解决方法
您需要做的就是启动这个 'default' 虚拟网络,并将其设置为开机自启,以防下次重启后再次出现此问题。

请按照以下步骤在终端中操作:

1. 检查虚拟网络的状态
首先,确认 'default' 网络确实存在但未激活。

bash
sudo virsh net-list --all
这条命令会列出所有定义的虚拟网络。您会看到类似下面的输出:

text
名称 状态 自动启动 持久
-----------------------------------------
default 不活跃 否 是
如果 状态 列显示为 不活跃,那就确认了我们的问题。

2. 启动 default 网络
使用 virsh 命令启动它:

bash
sudo virsh net-start default
如果成功,终端不会有太多输出。再次运行 sudo virsh net-list(不加 --all),你应该能看到 default 网络的状态变为 活跃。

3. 设置 default 网络为开机自启
为了避免每次重启电脑后都要手动启动这个网络,请将其设置为自动启动:

bash
sudo virsh net-autostart default
输出会提示:网络 default 标记为自动启动。

4. 再次启动虚拟机
现在,回到 virt-manager 图形界面或者使用 sudo virsh start <虚拟机名称> 命令,再次尝试启动你的虚拟机,应该就可以成功启动了。

如果上述方法无效?
如果 sudo virsh net-list --all 命令根本没有显示 default 网络,或者执行 net-start 时报错,那可能是 default 网络的定义文件丢失或损坏了。

这时,你可以尝试重新定义默认网络:

bash
# 首先确保 libvirt 的网络服务是活动的
sudo systemctl enable --now libvirtd

# 重新创建并启动 default 网络
sudo virsh net-define /usr/share/libvirt/networks/default.xml
sudo virsh net-start default
sudo virsh net-autostart default
如果连 /usr/share/libvirt/networks/default.xml 这个文件都不存在,那问题可能更复杂一些,可能需要重新安装 libvirt 的相关包(如 libvirt-daemon-config-network),但这在常见的 Linux 发行版(如 Ubuntu, CentOS, Fedora)上非常罕见。

总结
问题    原因    解决方案
network 'default' is not active    名为 default 的 libvirt 虚拟网络未启动    1. 使用 sudo virsh net-start default 启动网络
2. 使用 sudo virsh net-autostart default 设置开机自启
绝大多数情况下,执行第2步和第3步的命令就能完美解决这个问题

  • 登录或注册以发表评论
内容类型分类
技术文章
文章归类
操作系统与运用

文章标签

  • KVM

评论

文章标签

CSS
Excel
ubuntu
php
vim
五笔
VPN
Linux
command
HTML
drupal 8
drupal 7
centos
composer
Mysql
模块(module)
drush
Drupal
JavaSrcipt
apache
英语
drupal 9
nerdtree
SEO
network
果树种植
surround
drupal10
主题(theme)
ssh
phpmyadmin
二进制
yum
权限
声音
selinux
HTML5
ssl
WireGuard
password
DDEV
Dreamweaver
flameshot
翻译
颜色
uploadprogress
邮件验证
kernel
firewalld
视图(views)
快捷键
xdebug
gzip
错误
电脑基础
C语言
ckeditor
简介
mbstring
源地址
certbot
php扩展
git
httpd
csharp
电子秤
apt
短信验证
压缩解压
breadcrumb
表单
KVM
AI
firmware
重定向
摄影
diff
superfish
drupal 11
版本号
网站备份
docker
java
tagclouds
端口
RSS
adsense
电脑技巧
算法
simple_adsense
youtube
JavaScript
cookie
badblocks
网站运营
计算机基础
zip
RFID
VUE
dns
标签优化
gimp
form
ip
mod_expires 模块
赚钱
http验证
curl
重定向,301
netstat
字段
maven
input
nginx
哈希值
npm
wps
更多

相关文章

  • 因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
  • ubuntu 安装kvm 虚拟机
  • 匿名函数(Anonymous Functions)详解
  • foreach 是 PHP 循环语句使用方法
  • implode() 函数的定义和用法
  • Drupal 11 主题制作教程
  • 检查 Composer 是否为官方源
  • 在 Drupal 中权重(Weight)是怎样排序的
  • 解决 Drupal 主题缺失问题
  • 为什么学习php 会一边学,一边忘
RSS源

友情链接 网站地图 版权信息 联系我们 网址导航 社区

Copyright © 2019 - 2021 你行网 版权所有  粤ICP备19072650号