会# dd if=/dev/zero of=/dev/sda清除预先存在的分区表吗?
或者是相反的,即
# fdisk /dev/sda g (对于 GPT)
消除由/dev/zero?
ilk*_*chu 22
会
dd if=/dev/zero of=/dev/sda清除预先存在的分区表吗?
是的,分区表位于驱动器的第一部分,因此覆盖它会破坏它。dd如果让它运行,这将覆盖整个驱动器(因此需要相当长的时间)。
类似的东西dd bs=512 count=50 if=/dev/zero of=/dev/sda足以覆盖前 50 个扇区,包括 MBR 分区表和主 GPT。尽管至少根据 Wikipedia 的说法,GPT在驱动器的末尾有分区表的辅助副本,因此仅覆盖驱动器头部的部分可能还不够。
(不过,您不必使用dd。head -c10000 /dev/zero > /dev/sda否则cat /bin/ls > /dev/sda会产生相同的效果。)
的确
fdisk /dev/sda g(对GPT)歼灭通过的/ dev /写零的零?
也可以(前提是您保存更改)。
(然而,在标题的措辞只是混乱,/dev/zero本身并不做任何事比任何常规存储一样。)
n.s*_*.st 10
分区表存储在(逻辑2)磁盘设备的开头1附近。
用任何东西(零/dev/zero或任何其他数据)覆盖该区域将用乱码替换分区表,因此设备上的分区开始的位置不再明显。
不过,人们仍然可以扫描整个磁盘并尝试识别标记文件系统开头的“魔术字节”。
相反,如果您使用fdisk(或任何其他分区工具)创建新的分区表,该工具将覆盖磁盘的前几个字节以存储该新表。
磁盘只有一个开始,所以无论你最后做什么都会“粘”在那里。
但是请注意,某些分区表格式(如 GPT)会将备份副本保存在不同的位置(例如 GPT 的磁盘末尾),可以从中恢复某些分区信息。
1:例如,在MBR的前 512 个字节或GPT的第一个和最后一个 17408 个字节中
2:驱动器可以在内部将逻辑块重新映射到物理介质的不同部分,但该映射对(也不重要)可见操作系统。