调整到老博客的程度
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
---
|
||||
title: 从再生龙(clonezilla)镜像直接提取文件
|
||||
date: 2022-07-14T13:05:51+08:00
|
||||
lastmod: 2022-07-14T13:05:51+08:00
|
||||
draft: false
|
||||
description: ''
|
||||
authors:
|
||||
- Kushidou
|
||||
tags:
|
||||
- clonezilla
|
||||
- Linux
|
||||
categories: []
|
||||
toc: true
|
||||
comments: true
|
||||
---
|
||||
|
||||
从clonezilla的镜像直接提取文件,免于先全盘全区恢复。
|
||||
|
||||
<!--more-->
|
||||
|
||||
再生龙(clonezilla)是一个常用的Linux系统备份工具,适用于多个版本、多种CPU架构的电脑。
|
||||
|
||||
再生龙生成的镜像是比较特殊的格式,如果想要从里面提取文件,通常只能进行镜像恢复后进入系统提取。但是往往我们没有那么多硬盘来恢复系统。
|
||||
|
||||
再生龙的原理简单来说就是把硬盘分区使用partclone工具打包成img文件,然后使用gzip进行分卷压缩。我们只需要逆向操作,利用工具,把镜像解包挂载,直接在当前系统挂载,就可以得到原分区的文件了。
|
||||
|
||||
## 挂载方法:
|
||||
|
||||
### 1. 环境需求
|
||||
|
||||
我们操作再生龙镜像时,最好是使用Linux环境。这个环境中,需要安装partclone(也就是再生龙生成镜像的核心工具)。
|
||||
|
||||
```bash
|
||||
sudo apt install partclone
|
||||
# 以Debian系为例
|
||||
```
|
||||
|
||||
并且我们需要准备一个足够大的硬盘,用来存储镜像包和解包出的img文件。硬盘/分区的空间需要大于镜像本来的**分区**空间。
|
||||
|
||||
### 2. 合并镜像
|
||||
|
||||
再生龙默认情况下会把一个硬盘分区分按4GB的大小进行分包,通常以`gz.aa`、`gz.ab`等结尾,我们需要把这些包重新整合成一个gz包。
|
||||
|
||||
整合成gz包后,我们就可以解压gz来得到镜像img了。我们可以把两个步骤用流的方式写入一条命令,节省硬盘空间。
|
||||
|
||||
```bash
|
||||
cat sda1.ext4-ptcl-img.gz.* | gzip -d -c > sda1.img
|
||||
```
|
||||
|
||||
这一步生成的img文件不能直接使用(google上也有说能用的,但是我试下来不能),需要进行一次转换。经过实际操作,这个文件所占用的空间是镜像原分区的大小,但是统计硬盘使用量时却只计算实际大小,希望了解的人可以帮忙解释一下。
|
||||
|
||||
```bash
|
||||
partclone.extfs -r -s sda1.img -o sda1-ex.img --restore_raw_file
|
||||
```
|
||||
|
||||
当然上面两条指令也可以使用流的方式再次封装到一条,但是消耗的时间、失败后重新来过的时间,都会更长。
|
||||
|
||||
## 3.挂载镜像
|
||||
|
||||
将最后生成的img镜像挂载到我们的/mnt(或其他)目录,进入这个目录就可以看到原来全部的文件了。
|
||||
|
||||
```bash
|
||||
sudo mount -o loop -t ext4 sda1-ex.img /mnt
|
||||
```
|
||||
|
||||
最后我们只需要进入 `/mnt` 目录,就可以想直接操作硬盘一样把文件复制出来了。
|
||||
Reference in New Issue
Block a user