服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Ubuntu - PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件

PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件

2024-01-03 07:10未知服务器之家 Ubuntu

问题说明 某天重启虚拟机 Ubuntu,发现虚拟机只有容器IP,桥接的接口在虚拟机显示状态为 DOWN: 想重启进入恢复模式,却发现恢复模式一直花屏,无法使用: 没有办法了,只能想办法提取原有系统内原有文件。 解决方案 定位虚拟

问题说明

某天重启虚拟机 Ubuntu,发现虚拟机只有容器IP,桥接的接口在虚拟机显示状态为 DOWN:

PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件

想重启进入恢复模式,却发现恢复模式一直花屏,无法使用:

PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件

没有办法了,只能想办法提取原有系统内原有文件。

解决方案

  1. 定位虚拟机编号:

PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件

  1. 找到虚拟机主硬盘:
    SSH 登录宿主机,执行以下命令

    ls -al /dev/mapper/
    

    PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件
    通常使用默认的 BIOS 启动类型,只会有一个硬盘,此处我使用 UEFI 启动类型,0号硬盘是 EFI 分区,所以是1号硬盘。

  2. 先将硬盘转为 qcow2 格式

    qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--101-disk--0 ubuntu.qcow2
    

    其中,-c 选项为压缩,仅支持 qcow2 格式, 这样生成的文件大小会比较小。

  3. 再将 qcow2 格式硬盘转为 img 格式

    qemu-img convert -p -f qcow2 -O raw ubuntu.qcow2 ubuntu.img
    
  4. 挂载 img 镜像文件
    使用 fdisk -lu ubuntu.img 查看镜像内情况:
    PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件
    可以看到第一个分区是 EFI 分区,跳过不处理;需要挂载第二个分区;
    可以得知第二个分区的起始位置是在整个磁盘的第 2203648 扇区(从0计数),而每一个扇区大小是 512 字节,所以,第二个分区的偏移量是 2203648 * 512 = 1128267776。
    为了挂载第二个分区,使用以下命令:

    mkdir ubuntu
    mount -o loop,offset=1128267776 ubuntu.img ubuntu
    
  5. 挂载结束,进入文件夹查看镜像文件

    cd ubuntu
    ls
    

    PVE 下虚拟机 Ubuntu 无法进入恢复模式的解决方案——提取原有系统文件
    挂载成功,教程结束。

延伸 · 阅读

精彩推荐