为什么有时有时无法完全访问我的外部USB硬盘驱动器?


11

我有一个外部USB硬盘驱动器,该驱动器由Rosewill RX35-AT-SU SLV铝制3.5英寸银色USB 2.0外部机箱中的1 TB SATA驱动器组成,已插入我的SONY VAIO VGN-NS310F笔记本电脑中。直接插入了计算机(不是通过集线器)。机箱内部的驱动器是7200 rpm Western Western,但我不记得确切的型号。如果人们认为有必要了解详细信息,可以再次从机箱中卸下驱动器。 。

驱动器已格式化为ext4。我udisks通常通过PCManFM自动将其动态安装在Lubuntu 11.10系统上。(我在这台计算机上安装了Lubuntu 12.04,并且也经历了所有相同的行为。)有时(一天一次或两次)有时无法访问,并且很难卸载。尝试使用卸载它sudo umount ...会显示一条错误消息,指出驱动器正在使用中,并提出建议fuserlsof找出正在使用的驱动器。发现杀进程使用该驱动器与fuserlsof有时足以让我卸载它,但通常并非如此。

一旦卸载驱动器或重新引导计算机,驱动器将不会安装。插入驱动器并将其打开在计算机上没有任何作用。dmesg不变。驱动器的访问指示灯通常会剧烈闪烁,就像不断访问驱动器一样。最终,在我将驱动器关闭一段时间(半小时)之后,我可以再次安装它。

虽然该驱动器暂时无法在该计算机上运行,但它将立即在另一台运行相同版本Ubuntu的计算机上运行。有时将其从另一台计算机上带回来似乎可以“修复”它。有时并非如此。

在挂载驱动器之前,该驱动器并不总是会停止访问。有时工作正常,我关闭计算机,再打开计算机,但无法安装驱动器。

当前,这是我遇到此问题的唯一驱动器,但是我遇到的问题与我认为相同,在不同的Ubuntu计算机上使用不同的驱动器。这台笔记本电脑还定期插入了另一个外部USB驱动器,这没有此问题。在插入“问题”驱动器之前先拔出该驱动器并不能解决问题。

我已经打开了驱动器,并确保过去的连接紧密,这似乎无济于事(仅在尝试重新安装驱动器之前,等待了与打开和关闭驱动器相同的时间)它)。

是否有人对导致此问题的原因,应该执行哪些故障排除步骤和/或如何完全解决此问题有任何想法?

更新:我尝试按照Merlin的建议更换USB数据线(从机箱到笔记本电脑)。我应该早就尝试过,因为它可以完美地适应症状(驱动器可以在另一台机器上工作,这很有意义,因为电缆会以不同的角度弯曲,可能会形成一条磨损的电路)。不幸的是,但这并没有帮助-新电缆也有同样的问题。下次我能够使驱动器正常工作时,我将尝试提供有关机箱内驱动器的其他详细信息。(目前没有可用的其他计算机来附加它。)

重大更新(2012年6月28日)

驱动器似乎已经严重恶化。我想是这样,因为从它复制文件时,我已经将它附加到另一台计算机上,并且在使用无效字符时遇到了很多错误。我对从驱动器恢复数据的兴趣不如对找出问题出在什么地方感兴趣。我特别想弄清楚问题出在驱动器还是机箱上。

现在,当我将驱动器插入遇到问题的原始计算机上时,它仍然没有出现(包括sudo fdisk -l),但是内核已识别出该驱动器并将消息添加到中dmesg。大多数消息都包含类似这样的错误,并重复了很多次:

[    7.707593] sd 5:0:0:0: [sdc] Unhandled sense code
[    7.707599] sd 5:0:0:0: [sdc]  Result: hostbyte=invalid driverbyte=DRIVER_SENSE
[    7.707606] sd 5:0:0:0: [sdc]  Sense Key : Medium Error [current] 
[    7.707614] sd 5:0:0:0: [sdc]  Add. Sense: Unrecovered read error
[    7.707621] sd 5:0:0:0: [sdc] CDB: Read(10): 28 00 00 00 00 00 00 00 08 00
[    7.707636] end_request: critical target error, dev sdc, sector 0
[    7.707641] Buffer I/O error on device sdc, logical block 0

这是从dmesg识别驱动器开始的所有行。请注意:

  • 我要在这台机器上运行Lubuntu 12.04(也许这是产生更好错误消息的一个因素)。
  • 现在该驱动器已经被插入到另一台机器,并返回到这一块,并且现在,这台机器是回跑12.04,因为我已经说明的驱动器的访问指示灯不闪烁。看着驱动器,它看起来好像在正常工作,访问很少或没有访问权限。
  • 在插入驱动器的情况下重新引导计算机时,以及在手动插入驱动器时,都会发生此行为(错误)。
  • 一些消息是关于/dev/sdb。该驱动器工作正常。坏驱动器是/dev/sdc。我只是不想从中间编辑任何内容。

3
电缆破损/不可靠?
Moog 2012年

是SATA II还是SATA III?是否有BIOS或FIRMWARE更新?
米奇

您可以检查该磁盘的SMART状态吗?是否可以在任何地方识别。
Samik 2012年

@Samik即使设备被识别,我似乎也无法做到这一点
伊利亚·卡根

2
从您的dmesg日志中@EliahKagan 可以看到系统反复读取第一个扇区失败,READ(10)指令失败。因此,那里可能是一个不好的部门。
Samik 2012年

Answers:


2

要确定问题是驱动器还是机箱,请从机箱中卸下驱动器,将其安装在具有足够电源的台式机中,然后检查智能状态。

要进行更深入的测试,您可以使用之类的工具来检查驱动器的每个扇区ddrescueddrescue会在此过程中报告错误大小,您可以尝试在同时进行数据恢复:sudo ddrescue /dev/sdb2 /path/to/recovery.image logfile。用sudo lsblk或classic 列出分区fdisk -l

如果您对数据确实不感兴趣,则可以强制输出文件/dev/null为:

sudo ddrescue --force /dev/sdc /dev/null logfile 

而且您仍然会收到有关stdout上任何错误大小的报告

在本简短示例中使用/ dev / sdb2(1MB交换分区),在带有GNU ddrescue 1.17的Ubuntu 14.04上进行了如下测试

$ sudo ddrescue --force /dev/sdb2 /dev/null logfile


GNU ddrescue 1.17
Press Ctrl-C to interrupt
rescued:      1024 B,  errsize:       0 B,  current rate:     1024 B/s
   ipos:         0 B,   errors:       0,    average rate:     1024 B/s
   opos:         0 B,    time since last successful read:       0 s

尽管我不能完全按照这些步骤操作,但是我认为这个答案是正确的,并且最好地抓住了我所遇到的问题的性质(尽管对于其他情况类似,其他问题也很有价值)。最终,驱动器完全停止工作,我将其从(带电)机箱中取出,发现在另一个(带电)机箱中时,它也(在多台机器上)不工作,并发现原来的另一个驱动器(在多台机器上)正常工作外壳。由于无法再次识别问题驱动器,因此我没有尝试运行ddrescue或检查SMART状态。
伊利亚·卡根

@EliahKagan是机械故障还是电气故障?您能听到驱动器旋转的声音吗?只是好奇。
年长者怪胎

上次打开驱动器电源时,仍然可以听到它旋转的声音。
伊莱亚·卡根

1

当我运行12.04 Ubuntu桌面时,我也有类似的经历。我的硬盘驱动器盒有2个电源选项,我可以购买一个A / C适配器,也可以使用1条微型USB电缆连接到普通USB电缆,或者使用微型USB电缆插入两根USB电缆。理想情况下,需要将其连接到两个USB端口以提供足够的功率。它可以通过USB电缆或eSata传输数据。

使用eSata连接时,我需要首先提供驱动器电源,以便磁盘旋转,然后引导系统,以便BIOS可以识别已经旋转的磁盘。否则,它将无法及时看到磁盘。我相信这与机箱的控制器有关。

当我安装USB时,将电缆首先插入机箱,然后再将其插入USB端口时,结果会很复杂。也许大约有一半的时间可以正确安装。如果我先将USB电缆插入PC端口,然后再将其插入机箱,我的结果会好很多,大约70%。使用USB选件获得的最佳结果是在机箱上使用外部电源(A / C适配器),以确保在将磁盘插入计算机之前磁盘旋转并稳定。工作差不多100%

并不是说这正是您的问题,但对我而言,它有助于提供机柜电源并在连接磁盘之前使磁盘旋转以使其成为系统。也许您的一个系统上的BIOS或总线速度比另一个系统好,并且它在尝试读取磁盘之前给机箱控制器开始工作的时间?也许在拔出机柜后的一段时间后,控制器会自行重置吗?

也许控制器需要时间来决定是从USB供电还是从电源和数据供电。可能是电压或安培数问题?无论哪种方式,机箱控制器似乎都是挑剔的。


0

对于您的USB驱动器,请尝试以下步骤(如果尚未执行此操作):

  1. sudo fdisk -l #获取信息
  2. sudo mkdir /media/external #创建挂载点
  3. sudo mount -t vfat /dev/sdb1 /media/external -o uid=1000,gid=1000,utf8,dmask=027,fmask=137 #安装。

或者尝试pmount用于安装USB。


5
感谢您的建议。不幸的是:[1] sudo fdisk -l没有透露有关驱动器的任何信息。我不希望这样,因为dmesg重新连接驱动器不会改变。[2]我无法手动安装Ubuntu无法识别的设备(同样,dmesg什么都不说。)(这适用于udiskspmount也。)请记住,这不是该驱动器的分区不被看见。没有看到驱动器[3]为什么将ext4卷挂载为vfat?
伊利亚·卡根

0

我建议您的USB总线驱动器芯片或类似产品也可能有问题。您是否有列出所有USB设备的工具?当驱动器正常工作以及无法访问驱动器时,请尝试运行那些工具。你看到有什么不同吗?

较旧(且更便宜)的驱动器会经历一个称为“热重新校准”(TACL)的过程,该过程每隔一个小时左右发生一次,并且在驱动器估计磁盘头因热量积聚而弯曲多少时,它们可能几秒钟无法访问。在驱动器中。在TCL期间,步进电机和线圈搜寻到每个磁道,磁头在每个磁道上对齐,并存储结果。这是固件的内部功能。听起来这个过程可能卡住了,或者产生了错误的答案,从而使得在热重新校准后无法访问驱动器。

您从dmesg中发布的错误表明sdc,扇区0,逻辑块0上存在问题。这些低编号的块通常包含驱动器的几何形状(即,硬或软格式化)。如果这些块变坏,则整个驱动器可能会永久无法访问。介质故障可能与热量有关,这可以解释为什么一段时间不活动(将驱动器移至另一台计算机)有时会修复它,有时却不能修复它。

要弄清楚问题是否与散热有关,请打开计算机并启动秒表,但不要真正使用驱动器-只需等待驱动器发生故障,并记录故障需要多长时间。然后,将其关闭并将其关闭几个小时以使其冷却,然后重新运行测试,打开计算机和驱动器,但启动一个数据密集型驱动器-驱动器副本(相同的驱动器)。可能需要对步进电机做更多的工作,这会导致驱动器升温更快,并使驱动器更快失效。如果故障延迟有很大的变化,则驱动器是烤面包的,我会得到另一个。祝好运!


0

这种类型的问题通常是由于没有足够的电源通过USB电缆连接到驱动器而引起的,尤其是在外部驱动器不是现成购买而是自行组装的情况下。(您希望外部驱动器的制造商会确保USB端口可以支持它。)

设备可能会从USB 2.0规范的端口汲取最大500 mA的电流,而在USB 3.0的端口汲取高达900 mA的电流。通过检查外部驱动器的制造商规格,您可以确认驱动器的最大功率要求。

通常可以通过尝试USB3端口(如果您有一个端口,但尚未尝试过此端口)来解决该问题,因为它们比USB2提供更多的电源,或者需要提供USB Y电缆以便驱动器可以从2个端口而不是1 端口。这些端口在eBay或Amazon上价格便宜。


0

尽管已经指出了问题的真正原因,但由于我有大约4个外部HDD,因此我想添加相同的答案。

任何制造的计算机均假定将根据配置规范使用电源,并且最多可过载20%

为了保护计算机的电源,必须从外部有源集线器为所有外部USB设备供电。 所描述的行为是电源过载的典型行为。假设您还拥有一个外部DVD,这也会使您的录制失败,甚至可能使您的设备甚至计算机无法恢复。笔记本电脑通常会以此方式制动,因为用户倾向于使用无源USB集线器或计算机供电的设备,包括HDD,DVD等。

购买外接供电的USB集线器,然后通过供电的USB端口连接USB设备,而不要消耗计算机电源,因为这种方法比硬盘会损坏更多。电源浪涌与电源不足的计算机或外部设备相同。USB标准与电源不足的设备无关。这样想:如果您想从汽车中获得动力,您将使用哪种燃料?有没有燃烧或制造商指定的燃料?这里完全一样。 使用UNPOWERED USB设备会消耗计算机内部电源的功率。它已经连接了足够的设备!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.