无法安装 Linux USB 磁盘。它只创建 /dev/sg 设备,但没有 /dev/sd

无法安装 Linux USB 磁盘。它只创建 /dev/sg 设备,但没有 /dev/sd

我有一个 Corsair R60 ssd 磁盘,它是一款同时具有 sata 和 usb 连接器的磁盘。但 usb 似乎有点不标准,或者可能只是我的 fedora linux。

当我使用 USB 电缆将磁盘插入正在运行的 Fedora 14 Linux 系统时,会添加一个名为 /dev/sg3 的设备,但仅此而已。没有创建新的 /dev/sd* 设备,因此我无法安装磁盘。

如果我看一下 cat /proc/scsi/sg/device_strs 我得到

ATA             Hitachi HTS54321        FB2O
HL-DT-ST        DVDRAM GSA-T50N         RP05
Seagate         Desktop                 0130
Corsair         CSSD-R60GB2

所以磁盘在那里。(最后一项)但我的 Linux 出于某种原因不会将其视为 USB 硬盘。当我插入其他 USB 磁盘时,它们工作正常。只有这个特定的磁盘会导致问题。我在 3 台不同的计算机上尝试过,结果相同。

问题的一个提示可能是,如果我将磁盘添加到 Windows 系统(带 USB),该磁盘将被称为“固定磁盘”,而不是预期的便携式磁盘。如果我将磁盘与 SATA 电缆连接,该磁盘可以在 Linux 上正常工作,但我真的很想让它也能与 USB 一起工作。(在没有 SATA 的计算机上安装它)。

补充:我确实尝试过挂载 /dev/sg3,但挂载说它不是块设备。(文件说它是一个字符特殊设备)。

添加了来自 dmesg 的输出:

[   97.454073] usb 7-1: USB disconnect, address 2
[  105.913055] hub 2-0:1.0: unable to enumerate USB device on port 3
[  107.048054] usb 2-3: new high speed USB device using ehci_hcd and address 5
[  107.162900] usb 2-3: New USB device found, idVendor=1b1c, idProduct=1ab8
[  107.162903] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
[  107.162906] usb 2-3: Product: CSSD-R60GB2
[  107.162908] usb 2-3: Manufacturer: Corsair
[  107.162910] usb 2-3: SerialNumber: 10111441000000990069
[  107.167651] scsi7 : usb-storage 2-3:1.0
[  108.195543] scsi 7:0:0:0: Direct-Access     Corsair  CSSD-R60GB2           PQ: 1 ANSI: 0
[  108.197732] scsi 7:0:0:0: Attached scsi generic sg3 type 0

sg_map 给了我

/dev/sg0  /dev/sda
/dev/sg1  /dev/scd0
/dev/sg2  /dev/sdb
/dev/sg3

lsscsi 给了我

[0:0:0:0]    disk    ATA      Hitachi HTS54321 FB2O  /dev/sda 
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GSA-T50N  RP05  /dev/sr0 
[6:0:0:0]    disk    Seagate  Desktop          0130  /dev/sdb 
[8:0:0:0]    disk    Corsair  CSSD-R60GB2            -       

lsscsi -l 给出

[0:0:0:0]    disk    ATA      Hitachi HTS54321 FB2O  /dev/sda 
  state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=30
[1:0:0:0]    cd/dvd  HL-DT-ST DVDRAM GSA-T50N  RP05  /dev/sr0 
  state=running queue_depth=1 scsi_level=6 type=5 device_blocked=0 timeout=30
[6:0:0:0]    disk    Seagate  Desktop          0130  /dev/sdb 
  state=running queue_depth=1 scsi_level=3 type=0 device_blocked=0 timeout=30
[8:0:0:0]    disk    Corsair  CSSD-R60GB2            -       
  state=running queue_depth=1 scsi_level=0 type=0 device_blocked=0 timeout=0

想想看scsi_level=0看起来不对。

lsscsi -t 给出

[

0:0:0:0]    disk    sata:                           /dev/sda 
[1:0:0:0]    cd/dvd  sata:                           /dev/sr0 
[6:0:0:0]    disk    usb: 2-1:1.0                    /dev/sdb 
[8:0:0:0]    disk    usb: 2-3:1.0                    -

我发现另一个人也有同样的问题(http://forum.corsair.com/v3/showthread.php?t=91434) 所以我认为它开始看起来像驱动器固件或 Linux 内核中的一个错误。

最后更新: Corsair 表示磁盘设计有问题,而且似乎没有任何方法可以使其正常工作。

但无论如何还是感谢您的帮助。

答案1

我估计磁盘的 MBR 已损坏。如果你覆盖磁盘的 MBR,它可能会再次工作。

您必须以 root 身份执行此操作:

dd if=/dev/zero of=/dev/sg3 bs=446 count=1

使用此命令时要非常谨慎,因为您可能会毁掉一个正常工作的硬盘。请确保您要修复的硬盘确实是/dev/sg3

今天早上我遇到了同样的问题,我设法用这种方法“修复”了它。通过这种干预,硬盘上没有丢失任何数据。

答案2

这可能意味着该设备由不同的驱动程序处理。您尝试过安装它吗?

sudo mount /dev/sg3 /mnt

编辑: sg3 设备可能是仍需要映射的 scsi 设备。

答案3

2.5 英寸尺寸的 SATA SSD 驱动器,内置 USB 端口。很奇怪。

我所知道的是,即使没有 MBR 的磁盘设备也会显示为/dev/sda- 没有有效的分区表,您将看不到/dev/sda1等,但根/dev/sda设备肯定会在那里。

尝试更新其固件。

相关内容