Dee*_*een 10 windows linux hard-drive malware secure-erase
我在 Windows 中得到了一些恶意软件,可能是 rootkit 或 bootkit。我不想冒险,所以愚蠢地用 DBAN (PRNG, 8 pass) 擦了我的驱动器。后来才知道DBAN不会杀掉HPA(Host Protected Area)或DCO(Drive Configuration Overlay)这些被一些硬盘使用的“隐藏区域”。
我看到 CMRR 制作的 HDDErase 可以删除 HPA 和 DCO(如果存在),但该项目在 2005 或 2007 年停止。所以,我来到 Linux 是hdparm
希望它能 100% 擦除我的硬盘,以便我可以安装 Windows再次在 100% 干净的硬盘上。顺便说一句,我还查看了“BC Wipe Total Wipeout”,它可以去除 HPA 和 DCO,但费用为 50 美元。
我是一个普通的计算机用户,几乎没有 Bash 技能,即我真的不知道我在做什么。
我的硬盘是 320GB 7200RPM 希捷硬盘。
的输出sudo hdparm --dco-identify /dev/sda
:
/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
Transfer modes:
mdma0 mdma1 mdma2
udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
Real max sectors: 625142448
ATA command/feature sets:
SMART self_test error_log security HPA 48_bit
(?): selective_test conveyance_test write_read_verify
(?): WRITE_UNC_EXT
SATA command/feature sets:
(?): NCQ interface_power_management SSP
Run Code Online (Sandbox Code Playgroud)
这个输出是什么意思?如何确保 HPA DCO 上不会残留恶意软件?
有没有办法根据 GB 而不是扇区找出大小?
是否会hdparm
彻底清除 HPA 和 DCO 中的所有恶意软件?
我也在维基页面上看到了这个,有点担心:
hdparm 有一个更严重的缺点:如果某些参数被滥用,它会使计算机崩溃并使磁盘上的数据无法访问。在大约 67 个参数中,有几个是危险的,如果不加选择地使用,可能会导致“大规模文件系统损坏”。
Fia*_*abs 11
因此,愚蠢地使用 DBAN 擦除驱动器(PRNG,8 次通过)。后来才知道DBAN不杀HPA(主机保护区)和DCO(驱动配置叠加)
所以我们在这里基本承认驱动器已被擦除,因此驱动器上没有分区表、文件系统或数据。因此,不会有数据损坏或文件系统损坏,因为两者都不存在,DBAN 已确保这一点,因此以下 HDPARM 警告不适用。
hdparm 有一个更严重的缺点:如果某些参数被滥用,它会使计算机崩溃并使磁盘上的数据无法访问。在大约 67 个参数中,有几个是危险的,如果不加选择地使用,可能会导致“大规模文件系统损坏”。
启动你的 Linux 启动盘并运行 hdparm
使用 HDPARM 清除 HPA
对于 x = 您的目标设备,请使用以下 HDPARM 命令来显示您是否启用了 HPA。
# hdparm -N /dev/sdx
Run Code Online (Sandbox Code Playgroud)
如果您定义了 HPA,它会吐出类似以下内容:
/dev/sdx:
max sectors = 78125000/78165360, HPA is enabled
Run Code Online (Sandbox Code Playgroud)
要移除 HPA 并将可见区域扩展到驱动器的完整大小,请使用上述报告中的分母(可见区域/最大扇区):
# hdparm -N p78165360 /dev/sdx
Run Code Online (Sandbox Code Playgroud)
它将返回一个报告,指出可见区域等于最大扇区数,并且 HPA 已禁用。
/dev/sdx:
setting max visible sectors to 78165360 (permanent)
max sectors = 78165360/78165360, HPA is disabled
Run Code Online (Sandbox Code Playgroud)
使用 HDPARM 检查 DCO 是否到位并将其设置回出厂默认值
由于 DCO 是由制造商设置的,您必须接受弄乱它可能会使驱动器变砖。但是,如果您认为自己有一些复杂的恶意软件实际上可能会弄乱它,那么这就是您遇到的最少问题。要查看 DCO,请使用以下 HDPARM 命令。
# hdparm --dco-identify /dev/sdx
Run Code Online (Sandbox Code Playgroud)
在你的例子中,它给了你:
/dev/sda:
DCO Revision: 0x0001
The following features can be selectively disabled via DCO:
Transfer modes:
mdma0 mdma1 mdma2
udma0 udma1 udma2 udma3 udma4 udma5 udma6(?)
Real max sectors: 625142448
ATA command/feature sets:
SMART self_test error_log security HPA 48_bit
(?): selective_test conveyance_test write_read_verify
(?): WRITE_UNC_EXT
SATA command/feature sets:
(?): NCQ interface_power_management SSP
Run Code Online (Sandbox Code Playgroud)
因此,您的驱动器制造商使用 DCO 来定义允许的数据传输模式(MDMA、UDMA)、驱动器的实际大小(最大扇区)以及可以禁用的 ATA/SATA 命令。
如果您想尝试将 DCO 恢复为出厂默认设置,您可以使用以下 HDPARM 命令:
# hdparm --dco-restore /dev/sdx
Run Code Online (Sandbox Code Playgroud)
它会向您发出以下警告,即更改 DCO 将导致数据丢失。将其视为更改分区大小或清除分区表并使用不正确的参数恢复它。在擦除的磁盘上,您已经丢失了数据,是吗?基本上很抱歉,您在继续之前没有备份您的数据,如果在命令运行后 DCO 不匹配,并且您认为由于大小重新分配,任何东西都可以从驱动器中恢复,那么您就是 SOL。
/dev/sdx:
Use of --dco-restore is VERY DANGEROUS.
You are trying to deliberately reset your drive configuration back to
the factory defaults.
This may change the apparent capacity and feature set of the drive,
making all data on it inaccessible.
You could lose *everything*.
Please supply the --yes-i-know-what-i-am-doing flag if you really want this.
Program aborted.
Run Code Online (Sandbox Code Playgroud)
根据说明,您添加以下“我接受后果”开关:
# hdparm --yes-i-know-what-i-am-doing --dco-restore /dev/sdx
Run Code Online (Sandbox Code Playgroud)
它告诉你:
/dev/sdx:
issuing DCO restore command
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28424 次 |
最近记录: |