我看过一些磁盘格式化/分区讨论,提到第一步要破坏现有的 GPT/MBR 数据结构:
sgdisk --zap-all /dev/nvme0n1
我以前没有意识到这一点,当我设置磁盘时,我通常使用:
parted --script --align optimal \
/dev/nvme0n1 -- \
mklabel gpt \
mkpart ESP fat32 1MiB 512MiB \
set 1 boot on \
name 1 boot \
mkpart primary 512MiB 100% \
set 2 lvm on \
name 2 primary
我应该先把事情清理干净(例如sgdisk --zap-all
)吗?不这样做有什么缺点?
答案1
此建议是在其他工具无法正确支持 GPT 并且未删除 GPT 元数据的所有部分时提出的。从/选项sgdisk
的手册页:--zap
--zap-all
如果您想使用 fdisk 或其他不支持 GPT 的程序对 GPT 磁盘重新分区,请使用此选项。
这不再是真的。两者现在fdisk
都parted
支持 GPT,如果您创建新的分区表,它们将删除两个 GPT 标头(GPT 在磁盘末尾有一个备份标头,如果不删除,可能会导致问题)和保护性 MBR 标头。
话虽如此,在删除预先存在的存储布局时,正确删除所有标头/签名通常不是一个坏主意。我个人习惯wipefs
在删除所有设备之前删除它们,只是为了确保没有留下任何可能稍后意外发现的内容 - 我曾经遇到过这样的情况:新创建的 MD 阵列或 LVM 逻辑卷上突然有一个文件系统因为它是在与先前设备相同(或足够接近)的偏移量上创建的。存储工具通常会在创建新分区/设备时尝试检测文件系统签名,并可以为您擦除它们,但手动执行此操作不会有什么坏处。