如何让我的 Seagate 2Tb USB 硬盘在 Linux 中工作?

如何让我的 Seagate 2Tb USB 硬盘在 Linux 中工作?

概括:

我刚刚购买了希捷 2Tb“扩展便携式硬盘”,型号为 STEA2000400,具有 USB 3 连接,格式为 ntfs。文档中写着“系统要求:Windows 7 或 8”,但我认为它应该适用于 Linux(我真的很喜欢驱动器的简洁设计)。

我的系统是安装在硬盘上的 Live Knoppix 7.0.2,内核为 3.3.7。

到目前为止,希捷硬盘只工作过一次,当我第一次将其插入*(USB 3 插槽)时。 (*启动后)。它会自动挂载,并且其文件会显示在 pcmanfm 文件管理器中。通过自动挂载,我的意思是当出现小窗口并显示“您想在文件管理器中打开此设备吗”之类的内容时。

但从那以后,每次我插入它时,它都不起作用(在 Windows 7 中工作正常)。当我插入它时,有时它会被系统安装(即使没有出现自动安装对话框),有时它不会被安装。

未安装时,dmesg 命令显示

[ 9134.211695] sd 8:0:0:0: sense urb submission failure

并且该消息不断重复(使用不同的“[...]”编号)并在后续 dmesgs 以及注销和登录中重复。

当我在启动之前插入驱动器时,系统会安装驱动器,并且 dmesg 连续给出以下消息(当我重复 dmesg 命令时,它给出相同的连续消息):

[ 105.827668] sd 8:0:0:0: rejecting I/O to offline device

我的谦虚问题是:

您能否告诉我为什么该驱动器在 Linux 中无法工作,以及我需要做什么才能使其工作?我真的很喜欢该驱动器的简洁设计,并且非常希望保留它并让它正常工作。

我是否应该寻找另一个专门说明它适用于 Linux 的 USB 硬盘?

完整详情:

Knoppix 是 Debian 的一个稍微定制的版本。

当驱动器第一次工作时,其文件显示在 pcmanfm 中,mount 命令显示

/dev/sdb1 on /media/sdb1 type fuseblk (rw,nosuid,nodev,relatime,user_id=
1000,group_id=0,allow_other,blksize=4096)

AND dmesg 显示

[ 3104.772532] usb 4-2: new SuperSpeed USB device number 2 using xhci_hcd
[ 3104.789326] usb 4-2: New USB device found, idVendor=0bc2, idProduct=231a
[ 3104.789336] usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3104.789342] usb 4-2: Product: Expansion
[ 3104.789347] usb 4-2: Manufacturer: Seagate
[ 3104.789351] usb 4-2: SerialNumber: NA8PEPNV
[ 3104.791381] scsi8 : uas
[ 3104.793020] scsi 8:0:0:0: Direct-Access     Seagate  Expansion        0708
PQ: 0 ANSI: 6
[ 3104.793363] sd 8:0:0:0: Attached scsi generic sg2 type 0

此外,当驱动器第一次工作时,其文件显示在 pcmnfm 中;大约15分钟后,当我在pcmanfm中重新选择驱动器时,没有显示任何文件,pcmanfm说

“指定的目录无效”。

然后我打开 nautilus 文件管理器,当我选择驱动器时,nautilus 说

“无法显示 /media/sdb1。错误:获取文件 /media/sdb1 信息时出错:输入/输出错误。请选择其他查看器,然后重试。”

当我在启动之前插入驱动器并且系统安装它时,我不记得是否出现了自动安装对话框。

答案1

无人机系统是一种使用封装到 USB 中的 SCSI 进行开销较少的传输方法,但在某些硬件/供应商/固件/操作系统(从中选择)之间容易出现问题和不兼容。

您应该禁用 UAS,因为它肯定是与您的硬件/操作系统组合不兼容的原因(另请参阅稍后我的真正意思)。

您可以使用黑名单仅针对已知故障的设备禁用它。这内核文档(查找 usb-storage.quirks=)告诉您可以使用哪些选项来解决 USB 存储的各种问题。

您的设备被识别为 USB VID:PID ,并且添加0bc2:231a该字符串以禁用 USB UAS。:u

通常,这是通过在/etc/modprobe.d/一个名为以下内​​容的文件中创建local-disable-seagate-uas.conf

options usb-storage quirks=0bc2:231a:u

然后update-initramfs -u应该完成诸如重新启动之类的操作(除非您知道如何并且可以删除一些 USB 模块,然后重新加载它们)。

或者,如果您无法在那里写入(Live CD、先有鸡还是先有蛋的问题等等...)或者如果 USB 存储不是作为模块编译的,则必须将其添加为内核启动参数。该参数将是:

usb-storage.quirks=0bc2:231a:u

看着Knoppix 文档(启动选项和控件)了解如何执行此操作。

现在,一旦你确认问题已经解决,你真正应该做的是升级你的操作系统有更新的东西。内核 3.3 太旧了,在任何地方都不受支持,从那时起,一些 UAS 问题可能已经得到解决。一旦您获得了最新的操作系统(例如:Debian 9 或 Knoppix 8.1 以保持相似),您应该仔细重试,使用或不使用此参数,看看哪种效果最好。根据经验,有些问题只有在重负载下才会发生。

相关内容