我有一块 SATA HDD,它会冻结所有试图访问该驱动器的进程(fdisk、disks、gparted、parted、fsck、e2fsck 等),但lsblk这表明该设备存在:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
[...]
sdf 8:80 0 3,7T 0 disk
我怀疑分区表或某些块已损坏,但我无法使用 fsck 来验证,也无法更正它,因为尝试访问驱动器的每个进程都变得无响应。
输出消息当驱动器连接时,标有<- x以红色印刷:
[ 7078.631056] usb 6-4: new SuperSpeed USB device number 13 using xhci_hcd
[ 7078.651835] usb 6-4: New USB device found, idVendor=067b, idProduct=2773, bcdDevice= 1.00
[ 7078.651839] usb 6-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 7078.651842] usb 6-4: Product: USB3.0 DUAL DOCK
[ 7078.651843] usb 6-4: Manufacturer: Prolific
[ 7078.651844] usb 6-4: SerialNumber: PROLIFICM000000003
[ 7078.652673] usb-storage 6-4:1.0: USB Mass Storage device detected
[ 7078.652849] scsi host9: usb-storage 6-4:1.0
[ 7079.688634] scsi 9:0:0:0: Direct-Access WDC WD40 EZRX-11SPEB0 80.0 PQ: 0 ANSI: 0
[ 7079.689121] sd 9:0:0:0: Attached scsi generic sg6 type 0
[ 7079.689424] sd 9:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
[ 7079.689781] sd 9:0:0:0: [sdf] 7813971633 512-byte logical blocks: (4.00 TB/3.64 TiB)
[ 7079.690108] sd 9:0:0:0: [sdf] Write Protect is off
[ 7079.690112] sd 9:0:0:0: [sdf] Mode Sense: 03 00 00 00
[ 7079.690437] sd 9:0:0:0: [sdf] No Caching mode page found <-- x
[ 7079.690443] sd 9:0:0:0: [sdf] Assuming drive cache: write through <-- x
[ 7079.719414] sd 9:0:0:0: [sdf] Very big device. Trying to use READ CAPACITY(16).
[ 7110.475497] usb 6-4: reset SuperSpeed USB device number 13 using xhci_hcd
现在每个进程都冻结/挂起,没有任何信息。例如,我开始分开它可以正常工作,但是一旦驱动器连接,它就会挂起,直到我断开驱动器的连接。
断开驱动器时消息显示以下内容:
[ 7228.828276] usb 6-4: USB disconnect, device number 13
[ 7228.828416] sd 9:0:0:0: Device offlined - not ready after error recovery
[ 7228.848224] print_req_error: 73 callbacks suppressed
[ 7228.848228] blk_update_request: I/O error, dev sdf, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848235] buffer_io_error: 86 callbacks suppressed
[ 7228.848236] Buffer I/O error on dev sdf, logical block 0, async page read
[ 7228.848243] blk_update_request: I/O error, dev sdf, sector 1 op 0x0:(READ) flags 0x0 phys_seg 7 prio class 0
[ 7228.848246] Buffer I/O error on dev sdf, logical block 1, async page read
[ 7228.848247] Buffer I/O error on dev sdf, logical block 2, async page read
[ 7228.848249] Buffer I/O error on dev sdf, logical block 3, async page read
[ 7228.848250] Buffer I/O error on dev sdf, logical block 4, async page read
[ 7228.848251] Buffer I/O error on dev sdf, logical block 5, async page read
[ 7228.848253] Buffer I/O error on dev sdf, logical block 6, async page read
[ 7228.848255] Buffer I/O error on dev sdf, logical block 7, async page read
[ 7228.848305] blk_update_request: I/O error, dev sdf, sector 0 op 0x0:(READ) flags 0x0 phys_seg 8 prio class 0
[ 7228.848311] Buffer I/O error on dev sdf, logical block 0, async page read
[ 7228.848314] Buffer I/O error on dev sdf, logical block 1, async page read
[ 7228.848338] blk_update_request: I/O error, dev sdf, sector 0 op 0x0:(READ) flags 0x0 phys_seg 8 prio class 0
[ 7228.848345] ldm_validate_partition_table(): Disk read failed.
[ 7228.848351] blk_update_request: I/O error, dev sdf, sector 0 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848357] blk_update_request: I/O error, dev sdf, sector 1 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848362] blk_update_request: I/O error, dev sdf, sector 2 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848366] blk_update_request: I/O error, dev sdf, sector 3 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848371] blk_update_request: I/O error, dev sdf, sector 4 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848377] blk_update_request: I/O error, dev sdf, sector 5 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[ 7228.848455] Dev sdf: unable to read RDB block 0
[ 7228.848576] sdf: unable to read partition table
[ 7228.876530] sd 9:0:0:0: [sdf] Read Capacity(10) failed: Result: hostbyte=DID_ERROR driverbyte=DRIVER_OK
[ 7228.876534] sd 9:0:0:0: [sdf] Sense not available.
[ 7228.876537] sd 9:0:0:0: [sdf] 0 512-byte logical blocks: (0 B/0 B)
[ 7228.876542] sdf: detected capacity change from 7813971633 to 0
[ 7228.876545] sd 9:0:0:0: [sdf] Attached SCSI disk
我发现描述类似行为的帖子,但诸如重写分区表之类的解决方案对我来说不起作用,因为没有任何有关驱动器的进程响应。
也许系统尝试访问驱动器来安装它并卡住,所以其他每个进程都等待它或类似情况,感觉就像......
答案1
我将驱动器连接到 Windows 10 计算机,它向我显示了一些迹象,表明该驱动器最初用于“WD MyBook”,因此我找到了一个名为“WD Unlocker”的工具,该工具可锁定该驱动器。我使用此工具擦除驱动器,之后它就像一个普通驱动器一样运行,我可以将其格式化为 ext4 并供 Linux 使用。
我仍然不知道这个工具如何通过冻结每个进程来完全阻止 Linux 进行任何调查,但我猜原来的问题现在已经解决。