我经常将用作小型计算机(Raspberry Pi、NVidia Jetson、小型 x86 PC)系统磁盘的 SD 卡或其他闪存驱动器复制到映像文件中进行备份。
但是,在恢复这些备份时,目标卷几乎每次都不完全匹配源卷大小,例如,即使是来自同一供应商的 SD 卡大小也略有不同,或者小型 SD 卡甚至已经淘汰,市场上不再有售。所以我总是选择从几乎相等到更大的卡。
看来 GPT 分区表无法很好地处理这些更改,因为生成的副本不再启动目标设备。然后,我定期使用 GNU parted 或 gdisk 等工具来检查这些驱动器并重写分区表 - 经常有人抱怨驱动器比 GPT 规定的大(好吧,我猜,后面的扇区将不会被使用),但“备份 GPT”也被认为已损坏 - 我猜这些表的放置取决于驱动器的总块数或其他什么?
那么如何制作一个可以在第一次尝试时启动的映像,而无需在写入后“修复”它?这似乎是可能的,因为小型计算机的 vanilla 映像通常很小,即使写入更大的磁盘,它们也总是可以启动。