
SATA 및 USB 커넥터가 모두 있는 디스크인 Corsair R60 SSD 디스크가 있습니다. 하지만 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
그래서 디스크가 거기에 있습니다. (마지막 항목) 그러나 내 리눅스는 어떤 이유로 USB 하드 디스크로 인식하지 않습니다. 다른 USB 디스크를 삽입하면 제대로 작동합니다. 문제를 일으키는 것은 이 특정 디스크뿐입니다. 나는 3대의 다른 컴퓨터에서 동일한 결과를 얻었습니다.
문제에 대한 힌트는 Windows 시스템(USB 사용)에 디스크를 추가하면 디스크가 예상대로 휴대용 디스크가 아니라 "고정 디스크"라고 불린다는 것입니다. 디스크는 Linux에서 잘 작동합니다. SATA 케이블로 연결하면 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을 덮어쓰면 아마도 다시 작동할 것입니다.
루트로 이 작업을 수행해야 합니다.
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
장치는 확실히 거기에 있을 것입니다.
펌웨어를 업데이트해 보세요.