Skip to main content

场景一:调整云主机引导方式为 UEFI

适用场景: 需要将现有云主机的 BIOS 引导强制更改为 UEFI 引导。

操作节点: 目标云主机所在的计算节点(宿主机)

示例云主机 ID: 475296e8-ca8e-03fc-9ca6-4206c02803c6

操作步骤:

  1. 登录宿主机

    记录需要操作的云主机 ID,并通过 SSH 登录到该云主机所在的物理宿主机。

  2. 进入 Libvirt 容器

    进入底层负责计算调度的容器终端:

    Bash

    docker exec -it gostack_libvirt bash
  3. 备份当前 XML 配置

    导出并备份当前云主机的配置文件(带上日期后缀):

    Bash

    virsh dumpxml 475296e8-ca8e-03fc-9ca6-4206c02803c6 > /tmp/vm_475296e8-ca8e-03fc-9ca6-4206c02803c6_backup_$(date +%F).xml
  4. 编辑 XML 配置文件

    Bash

    virsh edit 475296e8-ca8e-03fc-9ca6-4206c02803c6
  5. 修改系统引导段落 <os>

    找到 <os> 段落,修改或添加 <loader><nvram> 标签:

    XML

    <os>
    <type arch='x86_64' machine='pc-i440fx-rhel7.6.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/OVMF/OVMF_CODE.fd</loader>
    <nvram>/var/lib/libvirt/qemu/nvram/475296e8-ca8e-03fc-9ca6-4206c02803c6_VARS.fd</nvram>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
    <smbios mode='sysinfo'/>
    </os>
  6. 保存并退出

    修改完成后,按 Esc 键,输入 :wq 保存配置文件并退出。

  7. 重启云主机

    强制停止并使用新配置重新启动云主机:

    Bash

    virsh destroy 475296e8-ca8e-03fc-9ca6-4206c02803c6 && virsh start 475296e8-ca8e-03fc-9ca6-4206c02803c6
  8. 验证配置

    检查 XML 文件,确认修改已生效:

    Bash

    virsh dumpxml 475296e8-ca8e-03fc-9ca6-4206c02803c6 | grep -A 6 "<os>"

🛠️ 应急回滚机制:

Bash

virsh destroy 475296e8-ca8e-03fc-9ca6-4206c02803c6
virsh define /tmp/vm_475296e8-ca8e-03fc-9ca6-4206c02803c6_backup_2026-02-27.xml
virsh start 475296e8-ca8e-03fc-9ca6-4206c02803c6
virsh list | grep 475296e8 # 确认是否处于 running 状态