马春杰杰 Exit Reader Mode

macOS扫描坏道的工具

1. fsck_hfs

macOS上扫描坏道的工具不多,并且大部分只支持查看内置磁盘,所以我们可以使用命令行:

[~]$ sudo fsck_hfs -dylS /dev/disk11
** /dev/rdisk11 (NO WRITE)
	Using cacheBlockSize=32K cacheTotalBlock=98304 cacheSize=3145728K.
Scanning entire disk for bad blocks
   Executing fsck_hfs (version hfs-583.100.10).
	Block 2 is not an MDB or Volume Header 
	Block 15646718 is not an MDB or Volume Header 
/dev/rdisk11 0000:  fab8 0000 8ed0 bc00 7c8b f450 0750 1ffb       |...........P.P..|
/dev/rdisk11 0010:  fcbf 0006 b900 01f3 a5ea 1e06 0000 bebe       |................|
/dev/rdisk11 0020:  0780 3c80 7402 cd18 5653 06bb 007c b901       |....t...VS......|
/dev/rdisk11 0030:  00ba 0000 b801 02cd 1307 5b5e b280 720b       |..............r.|
/dev/rdisk11 0040:  bfbc 7d81 3d55 5375 02b2 00bf eb06 8815       |.....USu........|
/dev/rdisk11 0050:  8a74 018b 4c02 8bee eb15 be9b 06ac 3c00       |.t..L...........|
/dev/rdisk11 0060:  740b 56bb 0700 b40e cd10 5eeb f0eb febb       |t.V.............|
/dev/rdisk11 0070:  007c b801 02cd 1373 05be b306 ebdf bed2       |.......s........|
/dev/rdisk11 0080:  06bf fe7d 813d 55aa 75d3 bf24 7cbe eb06       |......U.u.......|
/dev/rdisk11 0090:  8a04 8805 8bf5 ea00 7c00 0049 6e76 616c       |...........Inval|
/dev/rdisk11 00a0:  6964 2070 6172 7469 7469 6f6e 2074 6162       |id.partition.tab|
/dev/rdisk11 00b0:  6c65 0045 7272 6f72 206c 6f61 6469 6e67       |le.Error.loading|
/dev/rdisk11 00c0:  206f 7065 7261 7469 6e67 2073 7973 7465       |.operating.syste|
/dev/rdisk11 00d0:  6d00 4d69 7373 696e 6720 6f70 6572 6174       |m.Missing.operat|
/dev/rdisk11 00e0:  5632 2e30 7379 7374 656d 0000 0000 0000       |V2.0system......|
/dev/rdisk11 00f0:  0000 0000 0000 0000 0000 0000 0000 0000       |................|
. . .
/dev/rdisk11 01b0:  0000 0000 0000 0000 942b 0000 0000 0000       |................|
/dev/rdisk11 01c0:  0900 0be6 7ca2 0800 0000 f0af 6600 0000       |............f...|
/dev/rdisk11 01d0:  0000 0000 0000 0000 0000 0000 0000 0000       |................|
. . .
/dev/rdisk11 01f0:  0000 0000 0000 0000 0000 0000 0000 55aa       |..............U.|
	unknown volume type 
	primary MDB is at block 0 0x00 
	alternate MDB is at block 0 0x00 
	primary VHB is at block 0 0x00 
	alternate VHB is at block 0 0x00 
	sector size = 512 0x200 
	VolumeObject flags = 0x01 
	total sectors for volume = 15646720 0xeec000 
	total sectors for embedded volume = 0 0x00 
	CheckHFS returned 6, fsmodified = 0

可以通过指定缓存来加速扫描-c 512m

指定内部fsck_hfs使用的缓存大小。较大的尺寸可以带来更好的性能,但与 -l 选项一起使用时可能会导致死锁。
大小可以指定为十进制数、八进制数或十六进制数。如果数字以“k”、“m”或“g”结尾,则该数字分别乘以 1024 (1K)、1048576 (1M) 或 1073741824 (1G)。

类似的命令还有:

fsck_cs
fsck_exfat
fsck_hfs
fsck_msdos
fsck_udf

2. badblocks

使用macports安装:

sudo port -v install e2fsprogs
sudo badblocks -v /dev/disk6s1  > errordisk.txt

 

本文最后更新于2022年9月25日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!