【问题标题】:How to retain the changes in the QEMU VM image?如何保留 QEMU VM 映像中的更改?
【发布时间】:2021-11-20 04:01:00
【问题描述】:

我想使用 QEMU 来模拟 Linux 操作系统并为 Tiny Core Linux (TCL) 创建一个虚拟机 (VM)。我使用以下命令通过 QEMU 运行 TCL VM。

首先,我创建了一个qcow2格式的VM镜像(我也尝试过创建.img镜像,但是效果好像一样)。:

qemu-img create -f qcow2 TCLcoredisk.qcow2 1G

然后,我通过 QEMU 模拟器启动了 TCL。它运行良好,我可以在 VM 中进行一些操作(例如,创建新目录和文件,挂载文件系统)。

qemu-system-x86_64 -boot d \
    -cdrom Core-current.iso \
    -m 500 \
    -hda TCLcoredisk.qcow2 \
    -nographic \
    -enable-kvm \
    -curses

问题是在我关闭 QEMU(pkill QEMU 进程)后,我无法保留通过引导之前的映像文件所做的更改。更糟糕的是,我什至无法启动映像。我只能使用.iso 映像文件通过-cdrom 引导,但更改将会丢失。但是,由于我在第一次启动时将文件系统安装在新创建的目录上,如果再次启动TCLcoredisk.qcow2 映像文件,所有首次启动的信息都会丢失。我使用以下命令来启动这个现有的图像文件:

qemu-system-x86_64 -drive "file=TCLcoredisk.qcow2,format=qcow2" \
    -m 500 \
    -nographic \ 
    -enable-kvm \
    -curses

我收到错误 Nothing to boot: No such file or directory (http://ipxe.org/2d03e13b)。我的主机只支持命令行而不使用图形界面,这就是我使用-nographic-curses的原因。我也想只通过命令行使用 TCL。我想在第一次启动后我不再需要使用.iso 图像文件了。有没有办法可以正确启动现有映像文件并保留以前启动时的更改?谢谢!

【问题讨论】:

  • 下一次引导应该是-boot c 从硬盘引导而不是boot -d。可以试试吗??
  • @nhatnq 谢谢。我尝试使用-boot c 但它仍然有相同的错误Nothing to boot: No such file or directory (http://ipxe.org/2d03e13b)No bootable device. 我想知道是否有办法检查操作系统和我的更改是否已写入图像文件。我不确定问题是来自图像文件还是错误的命令。下一个引导命令是否应该包括网络配置和/或其他配置?

标签: linux virtual-machine virtualization qemu kvm


【解决方案1】:

在常见问题解答中指出 Tiny Core Linux 仅基于 RAM。因此,您不能使用持久文件系统

什么是引导架构?

Tinycore 总是启动到 ram。这种独特的方式有几个优点, 像 100% 正常运行的 USB 启动、惊人的速度和能够启动 无法在启动后访问启动设备。 在加载 initrd 后,您可以立即取出 USB 驱动器, 例如。 https://distro.ibiblio.org/tinycorelinux/faq.html#arch

您将需要使用另一个发行版

【讨论】:

  • 谢谢。好点。 QEMU 有没有办法处理这种情况(即持久化基于 RAM 的操作系统)?
  • @Jeffrey 我认为没有,除非您可以尝试其他支持磁盘空间的发行版,例如 Ubuntu、Fedora。 Alpine 也是轻量级的选择
猜你喜欢
  • 2018-08-24
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
  • 1970-01-01
  • 2022-07-18
相关资源
最近更新 更多