Linux live USB - 为什么 ISO 9660 分区覆盖整个 USB 棒?

Linux live USB - 为什么 ISO 9660 分区覆盖整个 USB 棒?

我一直在检查 Ubuntu 20.04 和 Fedora 32 实时映像,发现第一个(ISO 9660)分区设置为覆盖整个映像(至少在 MBR 的分区表上,尚未检查 GPT)。对于 Ubuntu,约为 2.7 GB; Fedora 为 1.3 GB。但是,使用 dd 将这些 ISO 复制到 USB 记忆棒后,gparted 显示 ISO 9660 分区覆盖了整个 32 GB 记忆棒。

这是一个 gparted 错误吗?分区布局有点复杂,因为 ISO 9660 分区设置为从 LBA 0 开始,甚至有效地覆盖了 MBR 本身。我仍然不确定为什么这个分区必须覆盖整个图像;我猜这是因为将其刻录到 DVD 时,唯一可以使用的文件系统是 ISO 9660。

答案1

我们可以说这是一个错误gparted(以及 中的相应错误parted)。这些工具'不明白'克隆到 USB 闪存盘(和其他大容量存储设备)时 iso 文件的分区结构。

  • fdisk您可以使用现代版本的和来查看驱动器,lsblk并获得更好的结果。
  • 您可以在驱动器头和 iso 文件映像“后面”创建一个分区。该分区可用于存储数据,甚至可以用作持久实时系统中的持久性分区,例如 Ubuntu 20.04 LTS 和 Debian 10 live。您可以使用 和 自行完成fdiskmkfs或者使用 更简单mkusb 插头。 mkusb-plug 工具可能无法在 Fedora 中运行。

lsblk使用 Lubuntu查看fdisk克隆的实时 USB 驱动器的示例:

$ lsblk -o model,name,size,fstype,label,mountpoint /dev/sdc
MODEL            NAME    SIZE FSTYPE  LABEL                     MOUNTPOINT
Voyager GT 3.0   sdc    29,5G iso9660 Lubuntu 20.04.1 LTS amd64 
                 ├─sdc1  1,7G iso9660 Lubuntu 20.04.1 LTS amd64 /media/sudodus/Lubuntu 20.04.1 LTS amd64
                 └─sdc2  3,9M vfat    Lubuntu 20.04.1 LTS amd64 

$ LANG=C sudo fdisk -lu /dev/sdc
Disk /dev/sdc: 29,5 GiB, 31641829376 bytes, 61800448 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x2d846e8c

Device     Boot   Start     End Sectors  Size Id Type
/dev/sdc1  *          0 3576319 3576320  1,7G  0 Empty
/dev/sdc2       3541360 3549295    7936  3,9M ef EFI (FAT-12/16/32)

相关内容