我试图在带有单个分区的驱动器上运行badblocks。驱动器上包含一个FreeBSD文件系统。
我使用Linux实时USB驱动器启动。驱动器已卸载。fdisk -l的输出是:
Device Boot Start End Id System
/dev/sda1 * 63 976773167+ a5 FreeBSD所以我跑了:
# badblocks -v /dev/sda1上面写着:
badblocks: invalid last block - /dev/sda1我找不到任何有用的信息。我在这里正确地使用了badblocks实用工具吗?或者这是否表明驱动器出了问题?
发布于 2014-10-15 22:09:27
不,这并不意味着驱动器出了什么问题。您会得到此错误,因为badblocks接受/dev/sda1 1作为最后一个块参数,而不是接受它作为设备。
在我看来,你问题中的语法是正确的。尝试在设备之后指定最后一个块参数:
badblocks -v /dev/sda1 976773167
如果这样做不起作用,那么也尝试在其中添加第一个块:
badblocks -v /dev/sda1 976773167 63
为了向您保证这并不表示您的驱动器出了什么问题,下面是当我添加无效的最后一个块参数“nope”时的输出:
sudo -v /dev/sdb1 1 nope 坏块:无效的最后一个块- nope
下面是我上次使用坏块时bash历史上的一个例子(需要sudo访问我的系统上的这些驱动器):
sudo badblocks -v /dev/sdb1
输出:
检查块0到976751967的检查错误块(只读测试):
如果我用Ctrl+C取消了一段时间后的进程,输出是:
在区块7470720处中断
下面是恢复该过程的语法(请参阅man badblocks):
badblocks -v设备末块
“最后一个块”是在设备上读取的最后一个块,而“第一个块”是应该开始读取的地方。示例:
sudo badblocks -v /dev/sdb1 976751967 7470720
输出:
检查块7470720到976751967,检查坏块(只读测试):
发布于 2014-10-15 20:37:23
现在,在现代磁盘驱动器硬件上使用badblocks命令是不值得的。这是因为驱动器控制器板在内部识别坏块,并从最初分配的“备用”块替换为自动替换。如果您已经用完了这些备用块,并且出现了严重的块问题,我强烈建议您更换磁盘,因为硬件正在变坏。
如果您正在寻找驱动器的健康状况,大多数现代驱动器支持智能驱动器接口来报告磁盘运行状况。有许多实用程序处于这种状态,并提供了有关磁盘健康状况的信息。试试这个。
发布于 2023-03-05 10:19:23
您从网页中复制了命令。在-v中,用不同的破折号替换了破折号。(比普通的破折号稍长一点)键入命令或以某种方式修复它。
https://unix.stackexchange.com/questions/162327
复制相似问题