如何保留QEMU虚拟机镜像的修改并正常启动Tiny Core Linux镜像?
问题根因
你当前遇到的两个问题本质是两个原因导致的:
- Tiny Core Linux默认以ISO镜像启动时是Live运行模式,系统完全加载到内存中运行,你挂载的`TCLcoredisk.qcow2只是一块空白磁盘,既没有被配置为持久化存储介质,也没有将系统安装到该磁盘中,因此关机后所有修改自然丢失。
- 单独启动
TCLcoredisk.qcow2时报错是因为这块磁盘是你创建的空白盘,没有安装引导程序和系统文件,无法被引导启动。
方案一:继续使用ISO启动,配置持久化存储(操作最简单)
无需把系统装到磁盘,后续启动仍需要携带ISO,但所有修改可永久保留:
- 先用你之前带ISO和qcow2磁盘的启动命令启动虚拟机:
qemu-system-x86_64 -boot d \ -cdrom Core-current.iso \ -m 500 \ -hda TCLcoredisk.qcow2 \ -nographic \ -enable-kvm \ -curses
- 进入系统后,先格式化qcow2磁盘:
# 对/dev/sda(就是你挂载的TCLcoredisk.qcow2磁盘)分区 fdisk /dev/sda # 按照提示新建一个主分区,完成后格式化分区为ext4格式 mkfs.ext4 /dev/sda1 # 挂载分区 mkdir -p /mnt/sda1 mount /dev/sda1 /mnt/sda1
- 在分区根目录创建
tce目录,用于存储持久化数据:
mkdir /mnt/sda1/tce
- 后续启动时,在原启动命令中添加内核参数指定持久化分区即可,所有安装的软件、修改的配置都会自动保存到qcow2磁盘中:
qemu-system-x86_64 -boot d \ -cdrom Core-current.iso \ -m 500 \ -hda TCLcoredisk.qcow2 \ -nographic \ -enable-kvm \ -curses \ -append "tce=sda1"
方案二:将Tiny Core Linux完整安装到qcow2磁盘,后续无需ISO启动
不需要携带ISO即可启动,所有修改永久保存:
- 同样先用带ISO和qcow2磁盘的命令启动虚拟机,先安装系统安装工具:
tce-load -wi tc-install
- 执行安装脚本:
sudo tc-install.sh
- 按照脚本提示依次选择:
- 安装模式选择
frugal嵌入式模式即可 - 目标磁盘选择
/dev/sda - 文件系统选择
ext4 - 引导程序选择
syslinux或grub都可以 - 等待安装完成后,在虚拟机内执行
poweroff安全关机
- 之后直接使用你之前单独启动qcow2磁盘的命令即可正常启动,无需再挂载ISO镜像。
注意事项
- 不要直接使用
pkill终止QEMU进程,容易损坏qcow2磁盘镜像,最好在虚拟机内执行poweroff命令安全关机,保证所有修改正常写入磁盘。 - 两种方案都和你之前的命令行使用习惯完全兼容,不需要额外调整显示相关参数。
内容的提问来源于stack exchange,提问作者Jeffrey
相关产品推荐
相关产品推荐

