
私は 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
デバイスは確かに存在します。
ファームウェアを更新してみてください。