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

Mar*_*tin 8 linux live-usb mbr

我一直在检查 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。

sud*_*dus 6

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

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

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

\n
$ lsblk -o model,name,size,fstype,label,mountpoint /dev/sdc\nMODEL            NAME    SIZE FSTYPE  LABEL                     MOUNTPOINT\nVoyager GT 3.0   sdc    29,5G iso9660 Lubuntu 20.04.1 LTS amd64 \n                 \xe2\x94\x9c\xe2\x94\x80sdc1  1,7G iso9660 Lubuntu 20.04.1 LTS amd64 /media/sudodus/Lubuntu 20.04.1 LTS amd64\n                 \xe2\x94\x94\xe2\x94\x80sdc2  3,9M vfat    Lubuntu 20.04.1 LTS amd64 \n\n$ LANG=C sudo fdisk -lu /dev/sdc\nDisk /dev/sdc: 29,5 GiB, 31641829376 bytes, 61800448 sectors\nUnits: sectors of 1 * 512 = 512 bytes\nSector size (logical/physical): 512 bytes / 512 bytes\nI/O size (minimum/optimal): 512 bytes / 512 bytes\nDisklabel type: dos\nDisk identifier: 0x2d846e8c\n\nDevice     Boot   Start     End Sectors  Size Id Type\n/dev/sdc1  *          0 3576319 3576320  1,7G  0 Empty\n/dev/sdc2       3541360 3549295    7936  3,9M ef EFI (FAT-12/16/32)\n
Run Code Online (Sandbox Code Playgroud)\n