锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

libvirt开启Linux虚拟机启动菜单 boot menu timeout

时间:2022-10-18 09:30:00 12通用hvm10二极管

测试环境

Red Hat Enterprise Linux release 8.5 (Ootpa) kernel-4.18.0-348.20.1.el8_5.x86_64 libvirt-6.0.0-37.1.module el8.5.0 13858 39fdc467.x86_64 libvirt-client-6.0.0-37.1.module el8.5.0 13858 39fdc467.x86_64 

背景介绍

官网下载的guest image是没有root权限的,获得root访问权限的方法有很多,包括libguestfs修改或通过cloud-init开始时写入等。还有一个官方重置Linux主机root详见密码方法Resetting the Root Password,这种方法的前提是你可以访问内核指导boot menu,这就导致了本文讨论的问题。如果你是Linux虚拟机一开始就直接开始内核引导,没有boot menu编辑启动参数的机会。这可以通过本文来解决。

解决方案

案例中的虚拟机名称Fedora-Cloud-Base-35,虚拟机可以通过以下命令启动并进入console:

# virsh start Fedora-Cloud-Base-35 && virsh console Fedora-Cloud-Base-35 

然而,内核直接开始引导,没有机会编辑和启动参数。此时可以通过virsh edit命令检查虚拟机的配置文件,并根据情况添加以下两行os标签下:

    <bootmenu enable='yes' timeout='30000'/>     <bios useserial='yes' rebootTimeout='0'/> 

添加的完整配置文件应如下(部分内容省略):

# virsh dumpxml Fedora-Cloud-Base-35     Fedora-Cloud-Base-35   ...        hvm                     ...  

这个配置会让boot menu等待30秒,你会有足够的时间做出反应。提示,如果你没有看到它boot menu,试着直接按e试一下。

参考资料

  1. https://libvirt.org/formatdomain.html#operating-system-booting
锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章