Linux USB 디스크를 마운트할 수 없습니다. /dev/sg 장치만 생성되지만 /dev/sd는 생성되지 않습니다.

Linux USB 디스크를 마운트할 수 없습니다. /dev/sg 장치만 생성되지만 /dev/sd는 생성되지 않습니다.

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장치는 확실히 거기에 있을 것입니다.

펌웨어를 업데이트해 보세요.

관련 정보