如何使用 .img.xz 文件或从中获取 .img 文件?

BJs*_*ife 12 server compression raspberrypi disk-image system-installation

我有一个xz扩展名为ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz. 你如何.img摆脱它?

我的目标是将文件闪存到 SD 卡上。我想使用 www.etcher.io 我终于让它工作了,但蚀刻机只能处理.iso.img文件。

Ben*_*oît 26

xz 是一种类似于 zip 或 gz 的压缩格式。为了能够从命令行解压缩它,您需要安装 xz-utils:

$ sudo apt-get install xz-utils
Run Code Online (Sandbox Code Playgroud)

然后使用此命令解压缩您的文件:

$ unxz ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
Run Code Online (Sandbox Code Playgroud)

如果你在 windows 下,你可以使用7zip

  • 您也可以在 linux 中使用 7zip。 (6认同)
  • 如果你想保留压缩文件,请使用选项“-k” (2认同)

Eli*_*gan 8

.xz一般解压文件

ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz是压缩单个文件的结果,ubuntu-19.10-preinstalled-server-arm64+raspi3.imgxz。您可以使用以下命令解压缩它:

unxz ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
Run Code Online (Sandbox Code Playgroud)

这将提取ubuntu-19.10-preinstalled-server-arm64+raspi3.img,并假设它成功,删除ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz。如果要保留该原始.xz文件,可以传递-k/--keep选项:

unxz -k ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
Run Code Online (Sandbox Code Playgroud)

请注意,这与您通常.tar.xz文件所做的不同,因为tar支持通过单个命令解压缩和提取。在.xz文件的情况下(除非文件名称非常容易误导),只需要解压。

特别刷新预装的 Ubuntu Server 映像

您下载的特定文件是 Ubuntu Server 19.10 的预安装映像。假设文件已正确并成功下载(见下文),您可以使用官方说明将此映像闪存到存储设备。执行此操作的最佳方法因您使用的操作系统而异。但假设它是 Ubuntu,这里有一个总结:

  • 找到要写入的设备的名称。一种方法是在磁盘(您的文件浏览器)中。确保这不是包含您希望保留的任何数据的设备的名称!

  • 运行此命令,替换device为您找到的设备名称:

    xzcat ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz | sudo dd of=device bs=32M
    Run Code Online (Sandbox Code Playgroud)

    在那里,xzcat正在做unxz. 如果你有一个损坏的文件,xzcat将会失败,就像unxz会一样。

    如果您运行unxz并获得了一个.img文件,则不要将上面的命令与xzcat. 在这种情况下,请改用此命令:

    sudo dd if=ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz of=device bs=32M
    Run Code Online (Sandbox Code Playgroud)

通常不可能dd在 WSL 系统中写入闪存驱动器。因此,如果您使用 WSL 在 Windows 10 中运行 Ubuntu,则这些说明不适用。但在这种情况下,您可以只使用 Windows 方法(请参阅官方说明)。

处理可能不完整或损坏的文件

如果解压失败并显示无法识别文件格式的错误消息,那么特别是如果file在其上运行无法识别格式XZ compressed data(尽管有时情况并非如此),则您的下载可能已损坏或不完整。您可以使用ls -l以字节为单位查找文件的长度并将该长度与预期长度进行比较——对于该特定文件,长度应为 661217868。这解决了大多数下载不完整的情况和少数下载损坏的情况,但它远非完美。

许多可供下载的文件,包括ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz所有 Ubuntu 映像,都有校验和,可用于更可靠地判断文件是否已完全正确下载。出于安全目的,最好检查提供校验和的文件上的 GPG 签名(并避免 MD5 校验和,它对蓄意攻击很弱)。但是为了检查无意损坏,查找校验和并测试您的文件就足够了。

现在提供和推荐用于检查 Ubuntu 图像的校验和类型是 SHA256SUM。此文件包含 19.10 服务器映像的 SHA256SUM,包括ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz. 它的其中一行是:

52ca28f21685eef965d476a716a7bc01237456d6a8770a56630299036eade0bf *ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
Run Code Online (Sandbox Code Playgroud)

sha256sum在您的文件上运行该实用程序应该会生成一个完全匹配的校验和,如下所示:

$ sha256sum ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
52ca28f21685eef965d476a716a7bc01237456d6a8770a56630299036eade0bf  ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
Run Code Online (Sandbox Code Playgroud)

如果没有,那么您的下载已损坏或不完整,这可能是您解压缩或以其他方式使用文件时遇到困难的原因。


N0r*_*ert 5

就我在 Ubuntu 16.04 LTS 系统上看到的而言 - GNOME 磁盘实用程序允许以 GUI 方式恢复磁盘映像:

  1. 选择目标驱动器。
  2. 单击汉堡按钮,然后选择恢复磁盘映像

    GNOME 磁盘

  3. 然后它会询问图像文件的路径:

    选择要恢复的磁盘映像

    在这里您可以选择*.img*.img.xz(原文如此!)和*.iso格式中的任何一种。

  4. 仔细检查目的地是否正确,然后在打开的窗口上点击开始恢复...按钮。

  • 为什么是`sic`?这是因为`.img.xz` 真的是一个*压缩* 的磁盘映像而不是一个“磁盘映像”?实际上,您似乎不知道 `.xz` 是一个东西,并且您指出 `.gz` 的印刷方式是错误的... (7认同)