外接硬盘一直断电

osh*_*nen 3 downloads drive external-hdd badblocks 16.04

是否可以防止外部硬盘断电?我将驱动器打开过夜以进行大量下载,但当我早上检查时,下载失败并显示消息unable to access the drive

\n\n

我能够很好地读取/写入驱动器,小量下载没问题,但需要更多时间的下载似乎会因某些 I/O 错误而失败。

\n\n

我已经对badblocks驱动器进行了扫描,没有发现任何错误。

\n\n
\n\n

无法启动 SMART 自检:

\n\n

在此输入图像描述

\n\n
\n\n

断开外部 USB 驱动器的连接,然后重新连接。dmesg 结果如下:

\n\n
[  289.881673] usb 1-1.1: USB disconnect, device number 5\n[  305.182474] usb 1-1.1: new high-speed USB device number 6 using ehci-pci\n[  305.275807] usb 1-1.1: New USB device found, idVendor=152d, idProduct=2338\n[  305.275812] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=5\n[  305.275825] usb 1-1.1: Product: USB to ATA/ATAPI bridge\n[  305.275828] usb 1-1.1: Manufacturer: JMicron\n[  305.275830] usb 1-1.1: SerialNumber: 000001D91CA8\n[  305.276594] usb-storage 1-1.1:1.0: USB Mass Storage device detected\n[  305.276914] scsi host5: usb-storage 1-1.1:1.0\n[  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5\n[  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0\n[  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)\n[  306.277429] sd 5:0:0:0: [sdc] Write Protect is off\n[  306.277435] sd 5:0:0:0: [sdc] Mode Sense: 28 00 00 00\n[  306.278429] sd 5:0:0:0: [sdc] No Caching mode page found\n[  306.278433] sd 5:0:0:0: [sdc] Assuming drive cache: write through\n[  306.288959]  sdc: sdc1 sdc2\n[  306.292063] sd 5:0:0:0: [sdc] Attached SCSI disk\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n\n

驱动器正在使用时输出\'blkid\'。我在将 500MB 的文件复制到驱动器时​​截取了该屏幕截图。

\n\n

在此输入图像描述

\n\n
\n\n

输出lsblk如下:

\n\n
userone@userone:~$ lsblk\nNAME                    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT\nsda                       8:0    0 232.9G  0 disk  \n\xe2\x94\x9c\xe2\x94\x80sda1                    8:1    0   487M  0 part  /boot\n\xe2\x94\x9c\xe2\x94\x80sda2                    8:2    0     1K  0 part  \n\xe2\x94\x94\xe2\x94\x80sda5                    8:5    0  59.2G  0 part  \n  \xe2\x94\x94\xe2\x94\x80sda5_crypt          252:0    0  59.2G  0 crypt \n    \xe2\x94\x9c\xe2\x94\x80ubuntu--vg-root   252:1    0  43.2G  0 lvm   /\n    \xe2\x94\x94\xe2\x94\x80ubuntu--vg-swap_1 252:2    0  15.9G  0 lvm   [SWAP]\nsdb                       8:16   0 232.9G  0 disk  \n\xe2\x94\x9c\xe2\x94\x80sdb1                    8:17   0   500M  0 part  \n\xe2\x94\x9c\xe2\x94\x80sdb2                    8:18   0   232G  0 part  \n\xe2\x94\x94\xe2\x94\x80sdb3                    8:19   0   470M  0 part  \nsdc                       8:32   0 232.9G  0 disk  \n\xe2\x94\x9c\xe2\x94\x80sdc1                    8:33   0 232.4G  0 part  /media/userone/New Volume\n\xe2\x94\x94\xe2\x94\x80sdc2                    8:34   0   470M  0 part  \nsr0                      11:0    1  1024M  0 rom   \nloop0                     7:0    0  86.6M  1 loop  /snap/core/4571\nloop1                     7:1    0  90.3M  1 loop  /snap/coolreader3/1\nloop2                     7:2    0  86.7M  1 loop  /snap/simplescreenrecorder/1\nloop3                     7:3    0 236.5M  1 loop  /snap/pycharm-community/64\nloop4                     7:4    0  86.9M  1 loop  /snap/core/4830\nloop5                     7:5    0    85M  1 loop  /snap/simplescreenrecorder-mardy/4\nloop6                     7:6    0  86.6M  1 loop  /snap/core/4650\nuserone@userone:~$ \n
Run Code Online (Sandbox Code Playgroud)\n

Sim*_*ler 5

获取设备名称blkid或检查dmesg已连接的设备。然后使用 关闭电源管理hdparm

# get device name
$ sudo blkid
/dev/sda1: UUID="..." UUID_SUB="..." TYPE="somefs" PARTUUID="..."
/dev/sdb1: UUID="..." UUID_SUB="..." TYPE="someotherfs" PARTUUID="..."

$ sudo dmesg
...
[  305.276914] scsi host5: usb-storage 1-1.1:1.0
[  306.275373] scsi 5:0:0:0: Direct-Access     WDC WD25 00KS-00MJB0           PQ: 0 ANSI: 5
[  306.275787] sd 5:0:0:0: Attached scsi generic sg3 type 0
[  306.276317] sd 5:0:0:0: [sdc] 488397168 512-byte logical blocks: (250 GB/233 GiB)
[  306.277429] sd 5:0:0:0: [sdc] Write Protect is off
...
Run Code Online (Sandbox Code Playgroud)

从命令的输出中可以看到,您的 USB 磁盘已注册为/dev/sdc。因此禁用该设备的电源管理。

# disable power management
$ sudo hdparm -B 255 /dev/sdc
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅hdparm ArchWiki 。

更新:添加sudo到命令,因为需要超级用户权限。