badblocks 需要很长时间。还是被冻结了?

Min*_*ael 6 partitioning ntfs

在此处输入图片说明

sudo badblocks -nv /dev/sda6昨天发的。我刚醒,还是那样。

文件说,该-n参数指定测试应该是非破坏性的,但需要一点时间更长。

它是工作还是冻结或什么?有人知道吗?

fal*_*ner 15

您可以使用iotop. 安装:

sudo apt-get install iotop
Run Code Online (Sandbox Code Playgroud)

然后启动:

sudo iotop
Run Code Online (Sandbox Code Playgroud)

观看 30 秒。它是否显示badblocks正在执行任何 I/O?如果是,那么它正在工作,如果不是,它可能被冻结。

下次您可以badblocks使用-s参数启动:

sudo badblocks -nsv /dev/sda6
Run Code Online (Sandbox Code Playgroud)

这将显示进展。


Bre*_*ala 12

您可以通过查看其in来了解badblocks当前位于驱动器中的位置,即:fdinfoproc

root@ubuntu:/home/ubuntu# ps ax | grep badblock
 3772 tty1     D+    12:11 badblocks -v /dev/sdb
 5478 tty2     S+     0:00 grep --color=auto badblock

root@ubuntu:/home/ubuntu# ls -l /proc/3772/fd
total 0
lrwx------ 1 root root 64 Mar  3 00:41 0 -> /dev/tty1
lrwx------ 1 root root 64 Mar  3 00:41 1 -> /dev/tty1
lrwx------ 1 root root 64 Mar  3 00:41 2 -> /dev/tty1
lr-x------ 1 root root 64 Mar  3 00:41 3 -> /dev/sdb

root@ubuntu:/home/ubuntu# cat /proc/3772/fdinfo/3
pos:    1707980816384
flags:  0140000
mnt_id: 24

root@ubuntu:/home/ubuntu# lsblk -bd /dev/sdb
NAME   MAJ:MIN RM          SIZE RO TYPE MOUNTPOINT
sdb      8:16   0 2000398934016  0 disk 
Run Code Online (Sandbox Code Playgroud)

所以,这次badblocks运行大约完成了 85%。

@falconer 的答案(使用iotop)是观察其当前速率的好方法,但fdinfo会向您显示程序已经取得了多少进展。