硬盘的低级格式化

use*_*751 7 format

有人可以告诉我如何在足够低的级别格式化硬盘驱动器以重新写入引导扇区吗?我猜相当于fdisk /mbr.

Eva*_*oll 8

编辑:这个答案是关于ATA Secure Erase 的llformat只是一个(误导性的)密码。


这些答案都不正确。低级格式 (LLF) 是发送到磁盘的指令。要了解如何在 Linux 上执行此操作,请阅读hdparmunix.stackexchange.com 上的本教程,

这是答案的副本,截至 2014 年 7 月 16 日,由no.human.being等人提供,


在 unixoid 系统下,您可以使用“hdparm”来完成。您需要先获得“root”,然后执行以下操作。这是假设您要进行低级格式化的驱动器是“/dev/sda”并且您安装了“hdparm”。

hdparm -I /dev/sda
Run Code Online (Sandbox Code Playgroud)

参数是大写的“i”,而不是小写的“l”,以防字体不明确。如果驱动器显示“冻结”,您必须先“解冻”它。你需要做什么来“解冻”它取决于设备。如果您将系统置于“挂起到 RAM”模式,然后再次唤醒它,大多数设备将“解冻”。如果设备显示“未冻结”,则可以继续。

hdparm --user-master u --security-set-pass llformat /dev/sda
Run Code Online (Sandbox Code Playgroud)

然后再次以大写“i”作为参数显示设备信息。

hdparm -I /dev/sda
Run Code Online (Sandbox Code Playgroud)

它现在应该在“安全:”下显示“启用”。这是相当关键的一步。设备现在是安全的。如果您关闭它,它将锁定并可能无法访问。当您现在执行低级格式化时,安全性将再次被禁用,您可以继续使用该设备。

hdparm --user-master u --security-erase llformat /dev/sda
Run Code Online (Sandbox Code Playgroud)

现在应该物理擦除设备。

hdparm -I /dev/sda
Run Code Online (Sandbox Code Playgroud)

再次使用大写字母“i”。确认安全性已恢复为“未启用”。您现在可以对设备进行分区和格式化。

  • 这个答案不正确,因为“fdisk /mbr”不会删除 MBR。相反,它会将其替换为有效的 MBR。 (2认同)

Den*_*ker 7

请注意,对硬盘进行低级格式化是指完全不同的事情,不应由最终用户进行。另请注意,格式化驱动器的概念来自旧的 DOS 时代。在 Unix/Linux 中,创建文件系统和分区表更为常见和精确。


重写 MBR 不需要任何格式。如果您只想擦除 MBR(使该驱动器无法启动,并且该磁盘上所有分区上的所有数据都无法恢复),您可以运行以下命令:

dd if=/dev/zero of=/dev/XXXXXX bs=512 count=1
Run Code Online (Sandbox Code Playgroud)

将 xxxxxx 替换为要丢失所有数据的设备的实际设备名称。

补充: 也有可能保留分区表并只擦除 MBR 中的引导加载程序代码,但您应该先进行备份,然后尝试将引导加载程序代码归零:

dd if=/dev/XXXXXX of=mbr-backup.img bs=512 count=1
dd if=/dev/zero of=/dev/XXXXXX bs=446 count=1
Run Code Online (Sandbox Code Playgroud)

请注意,某些引导加载程序利用 MBR 和第一个分区之间的空间来保护其他数据。在这种情况下,这可能不会导致问题,但是如果您想进行完整的引导加载程序备份,您应该意识到这一点。