将Ubuntu Core镜像转换为可引导的ISO文件。

一个VPS提供商为用户提供安装和运行任何发行版的能力,只要您上传可引导的ISO镜像。

我想运行Ubuntu Core,但是我还没有找到一种将由Canonical提供的镜像转换为可引导ISO的方法。

qemu-img报告该镜像为raw格式:

[chb]$ qemu-img info ubuntu-core-18-amd64.img
image: ubuntu-core-18-amd64.img
file format: raw
virtual size: 3.6G (3879731200 bytes)
disk size: 302M

我可以使用VirtualBox的VBoxManage工具将这个“raw”镜像转换为VirtualBox可以识别和启动的虚拟磁盘。
VBoxManage convertfromraw ubuntu-core-18-amd64.img --format VDI \ 
    ubuntu-core-18-amd64.vdi

我看了一下iat,但它似乎专注于将各种光盘映像格式相互转换。我想raw2iso可能能解决问题...
raw2iso MODE1 < ubuntu-core-18-amd64.img > ubuntu-core-18-amd64.iso

...但是,尽管img文件的字节大小是2048的倍数,但输出却没有被任何东西识别出来。
这是关于img文件的hdiutil imageinfo的信息:
Size Information:
    Total Bytes: 3879731200
    Compressed Ratio: 1
    Sector Count: 7577600
    Total Non-Empty Bytes: 3879731200
    Compressed Bytes: 3879731200
    Total Empty Bytes: 0
    ...
partitions:
    partition-scheme: GUID
    block-size: 512
    partitions:
            0:
                    partition-name: Protective Master Boot Record
                    partition-start: 0
                    partition-synthesized: true
                    partition-length: 1
                    partition-hint: MBR
            1:
                    partition-name: GPT Header
                    partition-start: 1
                    partition-synthesized: true
                    partition-length: 1
                    partition-hint: Primary GPT Header
            2:
                    partition-name: GPT Partition Data
                    partition-start: 2
                    partition-synthesized: true
                    partition-length: 32
                    partition-hint: Primary GPT Table
            3:
                    partition-name:
                    partition-start: 34
                    partition-synthesized: true
                    partition-length: 2014
                    partition-hint: Apple_Free
            4:
                    partition-UUID: E765AD58-B838-4A24-8C2A-E022D7BEF1E5
                    partition-name: BIOS Boot
                    partition-hint-UUID: 21686148-6449-6E6F-744E-656564454649
                    partition-start: 2048
                    partition-number: 1
                    partition-length: 2048
                    partition-hint: 21686148-6449-6E6F-744E-656564454649
            5:
                    partition-UUID: CC8F1CE4-0C99-4ECC-A757-FBC3FF6B9B71
                    partition-name: EFI System
                    partition-hint-UUID: C12A7328-F81F-11D2-BA4B-00A0C93EC93B
                    partition-start: 4096
                    partition-number: 2
                    partition-length: 102400

如何将这个文件转换为大多数系统都能识别的可引导的iso9660镜像?

我和你当初一样处境相同。在Windows上使用7zip可以解压缩xz文件并读取img文件。里面只有另外三个img文件。希望他们能提供一个iso选项就好了... - Kelly Bang
1个回答

这个不能直接转换成可引导的ISO文件,需要进行一些重要的工作。原因是它更像是一个安装硬盘镜像而不是一个安装光盘。可能是由于ISO格式的限制?
建议是将其“刻录”到USB或SD卡上,或者像你发现的那样,使用虚拟硬盘。
对我来说,我使用VBoxManager将其转换为.vmdk文件,以便在VMWare ESXi中使用。
VBoxManage convertfromraw ubuntu-core-18-amd64.img ubuntu-core-18-amd64.vmdk --format=VMDK

其他选项包括VDI(VirtualBox)和VHD(Microsoft Virtual PC)。
根据您尝试设置Ubuntu Core的位置,其余的指令会有所变化,但基本上是从硬盘/USB/SD卡启动,并按照通常的方式进行安装。