PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件
2023/11/18 18:07:00
本文主要是介绍PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题说明
某天重启虚拟机 Ubuntu,发现虚拟机只有容器IP,桥接的接口在虚拟机显示状态为 DOWN:
想重启进入恢复模式,却发现恢复模式一直花屏,无法使用:
没有办法了,只能想办法提取原有系统内原有文件。
解决方案
- 定位虚拟机编号:
-
找到虚拟机主硬盘:
SSH 登录宿主机,执行以下命令ls -al /dev/mapper/
通常使用默认的 BIOS 启动类型,只会有一个硬盘,此处我使用 UEFI 启动类型,0号硬盘是 EFI 分区,所以是1号硬盘。 -
先将硬盘转为 qcow2 格式
qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--101-disk--0 ubuntu.qcow2
其中,
-c
选项为压缩,仅支持 qcow2 格式, 这样生成的文件大小会比较小。 -
再将 qcow2 格式硬盘转为 img 格式
qemu-img convert -p -f qcow2 -O raw ubuntu.qcow2 ubuntu.img
-
挂载 img 镜像文件
使用fdisk -lu ubuntu.img
查看镜像内情况:
可以看到第一个分区是 EFI 分区,跳过不处理;需要挂载第二个分区;
可以得知第二个分区的起始位置是在整个磁盘的第 2203648 扇区(从0计数),而每一个扇区大小是 512 字节,所以,第二个分区的偏移量是 2203648 * 512 = 1128267776。
为了挂载第二个分区,使用以下命令:mkdir ubuntu mount -o loop,offset=1128267776 ubuntu.img ubuntu
-
挂载结束,进入文件夹查看镜像文件
cd ubuntu ls
挂载成功,教程结束。
这篇关于PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-22[开源]10.3K+ Star!轻量强大的开源运维平台,超赞!
- 2024-11-21Flutter基础教程:新手入门指南
- 2024-11-21Flutter跨平台教程:新手入门详解
- 2024-11-21Flutter跨平台教程:新手入门与实践指南
- 2024-11-21Flutter列表组件教程:初学者指南
- 2024-11-21Flutter列表组件教程:新手入门指南
- 2024-11-21Flutter入门教程:初学者必看指南
- 2024-11-21Flutter入门教程:从零开始的Flutter开发指南
- 2024-11-21Flutter升级教程:新手必读的升级指南
- 2024-11-21Flutter升级教程:轻松掌握Flutter版本更新