Answers:
会
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
它本身没有做任何常规存储操作。)
/bin/ls
足够短,则写操作可能仅覆盖MBR的一些字节,并且最重要的部分(分区的开始和结束扇区)可以保持不变。尽管grub --install /dev/sda
仍然需要重新安装MBR(最常见的是),才能使系统再次启动。
ls
。列出/usr/bin
可能足够长。我仅以echo
一个示例为例,但是IIRC您需要近500个字节来覆盖MBR分区表,因此键入它有点麻烦。(无论确切的数字是多少)
分区表存储在(逻辑2)磁盘设备的开头1附近。
用任何内容(零/dev/zero
或其他任何数据)覆盖该区域将用乱码替换分区表,因此在设备上分区的开始位置不再明显。
但是,人们仍然可以扫描整个磁盘,并尝试识别出标记文件系统开始的“魔术字节”。
相反,如果使用fdisk
(或任何其他分区工具)创建新的分区表,则该工具将覆盖磁盘的前几个字节以存储该新表。
磁盘只有一个开始,所以最后做的任何事情都会“粘在”那里。
但是请注意,某些分区表格式(如GPT)会将备份副本保留在不同的位置(例如,在GPT的磁盘末尾),可以从中恢复某些分区信息。
1:例如在MBR的前512字节中或在GPT的前17408字节中
2:驱动器可以在内部将逻辑块重新映射到物理介质的不同部分,但是该映射对于(不重要)不可见操作系统。
/dev/zero
擦除某些东西,而是dd
通过复制来擦除它。字节恰好为零,而零字节恰好来自/dev/zero
而不是其他一些零源,这一事实是次要的细节。