跳转到主要内容
你行网

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

相关文章

因权限问题导致drupal cms 无法正常安装,那么该如何解决这个问题
ubuntu 安装kvm 虚拟机
匿名函数(Anonymous Functions)详解
foreach 是 PHP 循环语句使用方法
implode() 函数的定义和用法
Drupal 11 主题制作教程
检查 Composer 是否为官方源
在 Drupal 中权重(Weight)是怎样排序的
解决 Drupal 主题缺失问题
为什么学习php 会一边学,一边忘
WPS文字(WPS Writer)中的装订线设置方法
在 PHP 中什么是try
在PHP中判断数据库是否存在并新建数据库
information_schema.SCHEMATA 详解
MySQL 验证数据库是否存在的方法
PHP数据类型及其作用总结
RFID技术手册
Drupal 11.1:告别 Body 字段,迎接全新的 Hook 系统
php过滤器的作用和说明
php 会话使用方法
RSS源

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

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