是什么原因导致我的USB硬盘在卸载后停止工作?


4

我最近买了一台外置硬盘,用于我的Linux笔记本。硬盘驱动器规格为USB 3.0,而笔记本电脑仅支持USB 2.0。

当我插入它时,驱动器似乎工作正常。这是/ var / log / messages中的相关部分:

Jun 17 20:36:53 mosquito kernel: usb 1-4: new high-speed USB device number 8 using ehci_hcd
Jun 17 20:36:53 mosquito kernel: scsi8 : usb-storage 1-4:1.0
Jun 17 20:36:53 mosquito mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:1d.7/usb1/1-4"
Jun 17 20:36:53 mosquito mtp-probe: bus: 1, device: 8 was not an MTP device
Jun 17 20:36:59 mosquito kernel: scsi 8:0:0:0: Direct-Access     BUFFALO  HD-PNTU3         0001 PQ: 0 ANSI: 6
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: Attached scsi generic sg1 type 0
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] 1953463728 512-byte logical blocks: (1.00 TB/931 GiB)
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Write Protect is off
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Mode Sense: 1f 00 00 08
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] No Caching mode page present
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Assuming drive cache: write through
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] No Caching mode page present
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Assuming drive cache: write through
Jun 17 20:36:59 mosquito kernel: sdb: sdb1
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] No Caching mode page present
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Assuming drive cache: write through
Jun 17 20:36:59 mosquito kernel: sd 8:0:0:0: [sdb] Attached SCSI disk
Jun 17 20:36:59 mosquito ata_id[7293]: HDIO_GET_IDENTITY failed for '/dev/.tmp-block-8:16'
Jun 17 20:37:16 mosquito ntfs-3g[7305]: Version 2012.1.15 external FUSE 28
Jun 17 20:37:16 mosquito ntfs-3g[7305]: Mounted /dev/sdb1 (Read-Write, label "HD-PNTU3", NTFS 3.1)
Jun 17 20:37:16 mosquito ntfs-3g[7305]: Cmdline options: rw,nosuid,nodev,uhelper=udisks
Jun 17 20:37:16 mosquito ntfs-3g[7305]: Mount options: rw,nosuid,nodev,uhelper=udisks,allow_other,nonempty,relatime,fsname=/dev/sdb1,blkdev,blksize=4096
Jun 17 20:37:16 mosquito ntfs-3g[7305]: Ownership and permissions disabled, configuration type 7

我可以将文件复制到驱动器,一切似乎都正常。但是,只要卸载驱动器,我就会得到以下日志输出:

Jun 17 20:37:23 mosquito ntfs-3g[7305]: Unmounting /dev/sdb1 (HD-PNTU3)
Jun 17 20:37:23 mosquito ata_id[7324]: HDIO_GET_IDENTITY failed for '/dev/sdb'
Jun 17 20:37:24 mosquito kernel: sd 8:0:0:0: [sdb] Device not ready
Jun 17 20:37:24 mosquito kernel: sd 8:0:0:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08
Jun 17 20:37:24 mosquito kernel: sd 8:0:0:0: [sdb]  Sense Key : 0x2 [current] 
Jun 17 20:37:24 mosquito kernel: sd 8:0:0:0: [sdb]  ASC=0x3a ASCQ=0x0
Jun 17 20:37:24 mosquito kernel: sd 8:0:0:0: [sdb] CDB: cdb[0]=0x28: 28 00 74 6f 7d 00 00 00 08 00
Jun 17 20:37:24 mosquito kernel: end_request: I/O error, dev sdb, sector 1953463552
Jun 17 20:37:24 mosquito kernel: quiet_error: 200 callbacks suppressed
Jun 17 20:37:24 mosquito kernel: Buffer I/O error on device sdb, logical block 244182944

在更改后重复此值 logical block 部分,有时没有 Buffer I/O error [...] 线。

当我再次尝试安装驱动器时,错误会再次重复,mount会告诉我它无法读取超级块。我将驱动器插入并重新插入后问题才消失。

可能是什么导致了这个?这可能是驱动程序或兼容性问题还是磁盘故障?我该如何验证?


我忘了提到实际的问题,即我无法重新安装驱动器或在卸载后使用fdisk访问它。此外,我想知道驱动器是否真正卸载干净,或者是否由于日志中提到的错误而导致数据丢失。
Jannik Jochem

@ekaj:卸载的重点 - 在Linux和Windows中 - 只是为了使磁盘内容对文件系统层不可见, 到下面的层(SATA和SCSI),和 导致I / O错误开始出现。问题没有提到“取消权限”,这在任何情况下都是无关紧要的 ata_id 以root身份运行并具有对设备的完全访问权限。
grawity

Answers:


2

当我弹出驱动器时,我的大多数USB存储设备都是这样的。

您是通过cmdline自行卸载分区,还是单击“卸载/弹出驱动器”?

简单地卸载分区不会导致此问题,而弹出分区会阻止我重新安装,除非我断开连接并重新连接。

您可以使用“重置”驱动器的可安装性(!) partprobe 。它出现在'' 分手 '包。

通常必须以root身份运行才能执行重置(好吧,就像重置一样)。

sudo partprobe

将刷新所有连接的设备,同时

sudo partprobe /dev/sdc

将重置/刷新sdc设备上的分区。


谢谢!我正在使用“弹出驱动器”。运行 mount / umount 明确地解决了这个问题。但是,一旦驱动器处于“坏”状态,使用partprobe就无济于事。奖金问题:为什么这样做 umount 和“弹出驱动器”的表现如此不同?
Jannik Jochem

1
我不得不猜测它与ioctl如何处理这些命令有关。想想磁带驱动器上的相同命令(它们可能来自哪里),或者今天的CD / DVD驱动器... umount只需卸下它,准备好以后再使用,弹出弹出托盘,准备完全删除。因此弹出不会有任何意义,直到插入(磁带主轴),CD托盘关闭,USB插入的新信息...但这是一个有根据的猜测。
lornix
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.