Ubuntu 启动盘创建器如何决定接受哪些 iso 文件作为输入?- 以及解决方法

Ubuntu 启动盘创建器如何决定接受哪些 iso 文件作为输入?- 以及解决方法

Ubuntu 启动盘创建器的当前版本(在 Ubuntu 16.04 LTS 和更新版本的 Ubuntu 中)易于使用。而且它是一个克隆工具,这使得它很可靠。

它似乎致力于为 Ubuntu 和 Ubuntu 系列版本(Kubuntu、Lubuntu...Xubuntu)创建 USB 启动驱动器。

我已经测试过 Ubuntu 系列之外的各种 iso 文件:

  • 通常接受基于 Ubuntu 的重新旋转作为输入
  • 一些基于 Debian 的重新发布版本也可以作为输入
  • Debian live iso 文件不是接受(选择后它们不会出现在输入文件框中)。
  • 其他主要的 Linux 发行版,例如 Fedora 和 OpenSUSE不是公认。

这相当令人困惑,我得出的结论是,存在一些过滤器,决定接受哪些 iso 文件。

  • 启动盘创建器如何决定接受哪些 iso 文件作为输入?它在 iso 文件或文件名中寻找什么?
  • 编辑:有解决方法吗?

答案1

启动盘创建器检查iso文件中的两个文件

感谢@ubfan1 :-)

我查看了 Python 代码。一开始它看起来让人不知所措,但很快我就发现了一个看起来很有希望的函数:

在文件中/usr/lib/python3/dist-packages/usbcreator/backends/udisks/backend.py

def _is_casper_cd(self, filename):
    for search in ['/.disk/info', '/.disk/mini-info']:
        cmd = ['isoinfo', '-J', '-i', filename, '-x', search]
        try:
            output = misc.popen(cmd, stderr=None)
            if output:
                return output
        except misc.USBCreatorProcessException:
            # TODO evand 2009-07-26: Error dialog.
            logging.error('Could not extract .disk/info.')
    return None

这表明启动盘创建器正在检查文件的内容/.disk/info/.disk/mini-info

这些存在于 Ubuntu、Debian 和许多(但不是全部)重新发布版本中。有趣的是,Debian 10.2 和 Kali 之间的区别在于尾随换行符。我使用 Debian 8.8 进行了检查。它包含一个换行符,并且被启动盘创建器接受。

sudodus@bionic64 /media/multimed-2/CD/debian $ sudo mount -o loop debian-live-8.8.0-amd64-standard.iso /mnt/lp1
mount: /mnt/lp1: VARNING: enhet skrivskyddad, monterad som endast läsbar.
sudodus@bionic64 /media/multimed-2/CD/debian $ cat /mnt/lp1/.disk/info
Debian GNU/Linux 8 "Jessie" - Official Snapshot amd64 LIVE/INSTALL Binary 20170506-14:26
sudodus@bionic64 /media/multimed-2/CD/debian $ sudo mount -o loop debian-live-10.2.0-amd64-standard.iso /mnt/lp2
mount: /mnt/lp2: VARNING: enhet skrivskyddad, monterad som endast läsbar.
sudodus@bionic64 /media/multimed-2/CD/debian $ cat /mnt/lp2/.disk/info
Official Debian GNU/Linux Live 10.2.0 standard 2019-11-16T10:15sudodus@bionic64 /media/multimed-2/CD/debian $ 

看来我发现了一个错误。除非文件末尾有换行符/.disk/info或 ,否则启动盘创建器不会接受 iso 文件/.disk/mini-info

编辑1:我报告了此错误

Bug #1860411:当我尝试使用非 Ubuntu iso 文件时,启动盘创建器出现故障

请帮忙提高热度,标记一下此错误会影响您

编辑 2:解决方法-“任何”img文件都可以作为输入

你可以欺骗启动盘创建器来克隆非 Ubuntu iso 文件,因为它愿意克隆带有扩展名的“任何”映像文件img。所以建立符号链接, 例如

$ ln -s debian-live-11.0.0-amd64-standard.iso debian-live-11.0.0-amd64-standard.img
$ ls -ltr
total 924676                                                                                                                          
-rw-r--r-- 1 lubuntu lubuntu 946864128 Aug 18 13:02 debian-live-11.0.0-amd64-standard.iso
lrwxrwxrwx 1 lubuntu lubuntu        37 Oct 11 11:18 debian-live-11.0.0-amd64-standard.img -> debian-live-11.0.0-amd64-standard.iso

我在 18.04.x LTS 中测试了这一点,usb-creator-gtk并在 Lubuntu Impish Indri 中进行了持久直播usb-creator-kde,效果很好。以下屏幕截图来自 Lubuntu Impish Indri,

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

相关内容