Linux

Linux live USB - 為什麼 ISO 9660 分區會覆蓋整個 USB 記憶棒?

  • July 27, 2020

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

我們可以說這是一個錯誤gparted以及相應的錯誤parted)。當複製到 USB pendrive(和其他大容量儲存設備)時,這些工具*“不理解”* iso 文件的分區結構。

  • 您可以查看帶有現代版本的驅動器fdisklsblk獲得更好的結果。
  • 您可以在驅動器的頭部和 iso 文件的映像“後面”創建一個分區。此分區可用於儲存數據,甚至可用作持久實時系統中的持久分區,例如 Ubuntu 20.04 LTS 和 Debian 10 live。您可以使用fdiskand自己完成mkfs,或者使用mkusb-plug更輕鬆。mkusb-plug 工具可能無法在 Fedora 中/與 Fedora 一起使用。

使用 Lubuntu 查看複製的 live USB 驅動器的lsblk範例:fdisk

$ 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)

引用自:https://unix.stackexchange.com/questions/600484