AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1193232
Accepted
BJsgoodlife
BJsgoodlife
Asked: 2019-12-03 07:40:54 +0800 CST2019-12-03 07:40:54 +0800 CST 2019-12-03 07:40:54 +0800 CST

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

  • 772

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

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

system-installation server disk-image compression raspberrypi
  • 6 6 个回答
  • 49409 Views

6 个回答

  • Voted
  1. Benoît
    2019-12-03T07:53:29+08:002019-12-03T07:53:29+08:00

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

    $ sudo apt-get install xz-utils
    

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

    $ unxz ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
    

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

    • 35
  2. Eliah Kagan
    2019-12-03T07:53:39+08:002019-12-03T07:53:39+08:00

    一般解压.xz文件

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

    unxz ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
    

    这将提取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
    

    请注意,这与您通常对.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

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

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

      sudo dd if=ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz of=device bs=32M

    通常不可能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
    

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

    $ sha256sum ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
    52ca28f21685eef965d476a716a7bc01237456d6a8770a56630299036eade0bf  ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
    

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

    • 10
  3. Best Answer
    N0rbert
    2019-12-03T12:17:36+08:002019-12-03T12:17:36+08:00

    据我所知,在我的 Ubuntu 16.04 LTS 系统上 - GNOME 磁盘实用程序允许以 GUI 方式恢复磁盘映像:

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

      GNOME 磁盘

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

      选择要恢复的磁盘映像

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

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

    • 5
  4. sudodus
    2019-12-03T08:48:18+08:002019-12-03T08:48:18+08:00

    您可以使用mkusb-dus直接从img.xz文件中提取和克隆(带有 的压缩文件xz)。

    • 安装mkusb

      如果您实时运行标准 Ubuntu,则需要额外的指令来获取存储库 Universe。(Kubuntu,Lubuntu ... Xubuntu 已自动激活存储库 Universe)。

      sudo add-apt-repository universe  # only for standard Ubuntu
      
      sudo add-apt-repository ppa:mkusb/ppa  # and press Enter
      sudo apt-get update
      sudo apt-get install mkusb mkusb-nox usb-pack-efi
      
    • dus通常在您拥有文件的目录中运行

      dus file.img.xz
      

      在你的情况下

      dus ubuntu-19.10-preinstalled-server-arm64+raspi3.img.xz
      

    重要的是目标驱动器(Raspberry Pi 的存储卡)对于图像来说足够大。它必须完全相同或更大。

    • 如果有 MSDOS 分区表,则可以直接将映像克隆到比映像更大的驱动器。
    • 如果有 GUID 分区表、GPT,并且驱动器大于映像,则必须将备份分区表写入驱动器的末尾。mkusb 会自动完成。使用其他一些克隆工具后,您可能必须自己修复它,例如使用gdisk.
    • 3
  5. Pilot6
    2019-12-03T07:45:34+08:002019-12-03T07:45:34+08:00

    使用存档管理器打开文件并img从那里提取文件。

    • 2
  6. Sami Iqneibi
    2021-07-08T23:09:10+08:002021-07-08T23:09:10+08:00

    您可以使用balenaEtcher(Windows、macOS 和 Linux)将 .img.xz 映像直接刷入 SD 卡。在一个步骤中,Etcher 将解压缩 .img.xz 图像并将生成的 .img 文件闪存到 SD 卡。

    Etcher 支持以下格式:zip、etch、gz、bz2、xz、img、iso、dsk、hddimg 和 raw。

    • 1

相关问题

  • 安装时,我可以选择加密我的主文件夹——这是做什么的?

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

  • 在不使用标准升级系统的情况下升级有哪些替代方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve