AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1170061
Accepted
VPNer
VPNer
Asked: 2025-01-13 19:49:26 +0800 CST2025-01-13 19:49:26 +0800 CST 2025-01-13 19:49:26 +0800 CST

从裸机 Ubuntu Server 迁移到 KVM 或 VirtualBox 无法启动?

  • 772

我有一个裸机 Ubuntu Server 安装。我使用 dd 创建了一个完整磁盘映像并转换为 qcow2。

qemu-img convert -O qcow2 full_disk.dd.img full_disk.qcow2

然后我在这台机器上安装了全新的 Ubuntu Server 22.04。后来我想用 virt-install 导入磁盘:

virt-install --name guest-host --memory 16384 --vcpus 4 --disk path=/var/lib/libvirt/images/full_disk.qcow2,format=qcow2 --os-variant ubuntu22.04 --network network=default --graphics none --import

此后,“控制台”启动时没有输出。qemu-system-x86 几乎无限期地以100% CPU(在单个核心上)运行。我可以连接:

virsh --connect qemu:///system console guest-host

但仍然没有输出。(我可以用 Ctrl+] 退出)

virsh edit guest-host

包含:

    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
--extra-args="console=ttyS0"

进口时不接受该参数。

错误内核参数仅支持位置或内核安装。

我尝试编辑grub.cfg以使用串行输出,但没有得到任何输出。

我也尝试导入到 VirtualBox。它卡在“从本地磁盘启动...”处。

令人费解的是,它一直使用 100% 的 CPU。在某些时候,虚拟机应该处于空闲状态。VirtualBox 无法启动。我看不到虚拟机在 KVM 下是否在执行任何操作(因为没有输出)。

为了在图形化(virt-manager)环境中进行测试,我在笔记本上尝试了相同的步骤。似乎我无法更改固件和芯片组设置。 virt-manager 概览截图

进度:在 中virt-manager,选择操作系统和磁盘映像后,有一个选项可以更改配置。这允许我将固件(启动)更改为 UEFI(有几个选项,其中几个/usr/share/OVMF/OVMF_CODE_4M.fd有效,我能够启动到图形输出。但是,在virt-install(在 bash 中,没有 GUI)或 中,virsh我无法看到或访问输出。CPU 使用率不再是 100%。似乎有一些活动。这些都是好迹象。有一个错误: error: no suitable video mode found.。操作系统可能仍在启动。我正在查看网络模式以查看 SSHD 是否正在启动。

另一个选项是配置grub.cfg串行输出。

最终:我接受了@algebra 的回答。这确实解决了启动问题。我无法获得任何输出。我决定安装lightdm并ubuntu-desktop获得一个桌面环境,在那里我可以访问导入的操作系统。事实证明,网络设备的名称可能不同。要获得访问权限,您可以编辑/etc/netplan/...(永久)或手动激活网络设备(某些东西up,但不是永久的)。然后,您可以使用 发现虚拟网络上的 VM 客户机nmap -sn <subnet>。这样您就可以 ssh 到 VM。

附言:我已经删除了旧的问题,因为现在我认为它根本没有启动。

virtual-machines
  • 1 1 个回答
  • 156 Views

1 个回答

  • Voted
  1. Best Answer
    Algebra
    2025-01-13T20:57:35+08:002025-01-13T20:57:35+08:00

    您检查过 EFI / BIOS 启动吗?

    我认为 KVM 默认使用 BIOS 启动。如果原始操作系统只有 EFI 启动文件/分区,则无法工作。

    • 2

相关问题

  • Xen - 无法创建域,因为“无法连接 vdb”

  • 我可以安全地为我的虚拟机使用什么范围的 MAC 地址?

  • 将 VMDK 转换为 VHD 后启动虚拟机时出现问题

  • 在 VM 中运行 Fedora 目录服务器

  • 如何提高 Hyper-V 性能

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve