Linux USB ディスクをマウントできません。/dev/sg デバイスは作成されますが、/dev/sd は作成されません。

Linux USB ディスクをマウントできません。/dev/sg デバイスは作成されますが、/dev/sd は作成されません。

私は Corsair R60 SSD ディスクを持っています。これは SATA と USB コネクタの両方を備えたディスクです。しかし、USB は少し非標準のようです。あるいは、これは私の Fedora Linux だけの問題かもしれません。

実行中の Fedora 14 Linux システムに USB ケーブルを使用してディスクを挿入すると、/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レベル=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

USB ポートを内蔵した 2.5 フォーム ファクタの SATA SSD ドライブ。奇妙ですね。

私が知っているのは、MBR のないディスク デバイスでも として表示されるということです/dev/sda。有効なパーティション テーブルがなければ、 などは表示されません/dev/sda1が、ルート/dev/sdaデバイスは確かに存在します。

ファームウェアを更新してみてください。

関連情報