无法提取和挂载 gzip 压缩的分区映像

无法提取和挂载 gzip 压缩的分区映像

我需要压缩 SSD 驱动器的一个分区,该分区位于可用空间小于该分区的机器上。我搜索、找到并执行了以下命令:

root@host1:~/# dd if=/dev/sdd1 | gzip -c  > /tmp/ubuntu.image
226510848+0 records in
226510848+0 records out
115973554176 bytes (116 GB, 108 GiB) copied, 3716.19 s, 31.2 MB/s

现在,在另一台机器上我无法提取该文件。尝试使用上下文菜单“在此处提取”,我得到:

无法打开“ubuntu.image”
存档类型不受支持。

当我尝试以下命令时,光标消失 1-2 秒,但随后我得到提示,但文件未被提取或显示任何错误:

me@host2:/media/me/ntfs$ tar -xvzf ubuntu.image
me@host2:/media/me/ntfs$

file命令打印如下:

me@host2:/media/me/ntfs$ file ubuntu.image 
ubuntu.image: gzip compressed data, last modified: Fri Oct 27 13:02:10 2017, from Unix

那么问题出在哪里?我该如何在 host2 上安装此映像?
Host1 和 Host2 都是 Ubuntu 16.04

答案1

Tar 用于提取 tar 球 :)

这是经过 gzip 压缩的图像,但没有常见的 .gz 后缀(通常用于 gzip 压缩文件)。这没什么大不了的;数据就在那里。

如果你尝试gunzip直接使用,它会报错,因为它不使用默认后缀。有很多方法可以解决这个问题:

  1. 将文件重命名为 ubuntu.image.gz( mv ubuntu.image ubuntu.image.gz) 并使用 解压缩gunzip ubuntu.image.gz
  2. 使用zcat ubuntu.image > ubuntu_uncompress.image
  3. 使用gunzip -S .image ubuntu.image。这将产生一个名为 ubuntu 的未压缩文件。

我坚持重命名文件。另请注意,解压后的文件将与分区原来的大小相同。

获得解压后的图像后,你可以使用以下方式挂载它:sudo mount -o loop ubuntu.image /mnt/

相关内容