กรณี USB HDD: ไม่สามารถเมานต์พาร์ติชัน ext4 ที่ 2


0

ฉันซื้อกล่อง HDD HDD 3.5 "ภายนอก 3.5"

มันขึ้นอยู่กับชิปต่อไปนี้: JMicron JMS567

ฉันต้องการใช้มันเพื่อต่อ HDD ภายในของฉันซึ่งมีสามพาร์ติชั่น: swap และสองพาร์ติชัน ext4

สำหรับวัตถุประสงค์ในการทดสอบฉันใช้ HDD เก่าขนาด 200 GB ซึ่งมีพาร์ติชั่น 2 ตัวตัวแรกคือพาร์ติชั่น NTFS ตัวเล็ก ๆ และตัวที่สองคือพาร์ติชัน ext4

พีซีของฉันทำงานภายใต้ Linux Mint 17.2, x86_64, เคอร์เนล 4.4

เมื่อฉันเชื่อมต่อ HDD กรณีกับพีซีของฉันฉันสามารถเข้าถึงพาร์ติชัน NTFS แรก แต่มันเป็นไปไม่ได้ที่จะเข้าถึงพาร์ติชัน ext4 ที่สอง! ฉันยังลองใช้เคส USB ที่ Arch 2017.8 (VirtualBox) ปัญหาเดียวกัน!

ต่อไปนี้เป็นสิ่งที่dmesgกล่าวว่าบนภูเขาล้มเหลว:

[288553.362536] sdd: sdd1 sdd2
[288553.362593] sdd: p2 ขนาด 384428032 ขยายออกไปเกินกว่า EOD ทำให้สามารถรองรับความจุดั้งเดิมได้
[288553.366410] sdd: sdd1 sdd2
[288553.366457] sdd: p2 ขนาด 384428032 ขยายเกิน EOD ถูกตัดทอน
[288553.394656] sd 13: 0: 0: 0: [sdd] ดิสก์ SCSI ที่แนบมา
[288554.138776] EXT4-fs (sdd2): รูปทรงเรขาคณิตที่ไม่ดี: จำนวนบล็อก 48053504 เกินขนาดของอุปกรณ์ (48053293 บล็อก)
[288555.667902] EXT4-fs (sdd2): รูปทรงเรขาคณิตที่ไม่ดี: จำนวนบล็อก 48053504 เกินขนาดของอุปกรณ์ (48053293 บล็อก)

ฉันแน่ใจ 100% ว่าดิสก์ของฉันไม่มีข้อผิดพลาด ! ฉันทดสอบเมื่อเชื่อมต่อกับพีซีเป็น SATA HDD ปกติ!

สิ่งที่ตลกที่สุดก็คือภายใต้ Windows 7 ฉันติดตั้งext2fsdไดรเวอร์ซึ่งอนุญาตให้เข้าถึงพาร์ติชัน ext4 ใน Windows ดังนั้นภายใต้ Win 7 ฉันสามารถเข้าถึงพาร์ติชัน ext4 ที่ 2 ได้โดยไม่มีปัญหา!

นี่เป็นปัญหาไดรเวอร์ USB แน่นอน!

ดิสก์ params 200 GB ของฉันเมื่อเชื่อมต่อเป็นไดรฟ์ SATA (ฉันตั้งค่าเป็นตัวหนาซึ่งแตกต่างกันเมื่อดิสก์เชื่อมต่อผ่าน USB):

fdisk -l / dev / sdd

ดิสก์ / dev / sdd: 200.0 GB, 200049647616ไบต์
255 หัว, 63 ส่วน / เส้นทาง, 24321 สูบ, รวม390721968ภาค
หน่วย = ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 512 ไบต์ขนาด 
I / O (ต่ำสุด / เหมาะสมที่สุด): 512 ไบต์ / 512 ไบต์
ตัวระบุดิสก์: 0xe1751117

   การบูตอุปกรณ์เริ่มต้น End Ids Id System
/ dev / sdd1 * 2048 6293503 3145728 7 HPFS / NTFS / exFAT
/ dev / sdd2 6293504 390721535 192214016 83 Linux


hdparm -I / dev / sdd

/ dev / SDD:

อุปกรณ์ ATA ที่มีสื่อที่ไม่สามารถถอดออกได้
        หมายเลขรุ่น: WDC WD2000JS-00MHB0                     
        หมายเลขซีเรียล: WD-WMANL1143240
        การแก้ไขเฟิร์มแวร์: 02.01C03
มาตรฐาน:
        รองรับ: 7 6 5 4 
        ใช้น่าจะ: 8
การกำหนดค่า:
        ตรรกะสูงสุดปัจจุบัน
        ภาชนะบรรจุ 16383 16383
        หัว 16 16
        ส่วน / เส้นทาง 63 63
        -
        CHS ภาคแอดเดรสแอดเดรสปัจจุบัน: 16514064
        LBA ที่ผู้ใช้กำหนดแอดเดรสของภาค: 268435455
        LBA48 ภาคที่ผู้ใช้สามารถกำหนดแอดเดรสได้:   390721968
        ขนาดเซกเตอร์เชิงตรรกะ / กายภาพ: 512 ไบต์
        ขนาดอุปกรณ์ที่มี M = 1024 * 1024:       190782 MBytes
        ขนาดอุปกรณ์ที่มี M = 1,000 * 1000:       200049 MBytes (200 GB)
        ขนาดแคช / บัฟเฟอร์ = 8192 KBytes

ดิสก์เดียวกัน แต่ตอนนี้เชื่อมต่อผ่านเคส USB HDD:

fdisk -l / dev / sdd

ดิสก์ / dev / sdd: 200.0 GB, 200048565760ไบต์
255 หัว, 63 ส่วน / เส้นทาง, 24321 สูบ, รวม390719855ภาค
หน่วย = ส่วนของ 1 * 512 = 512 ไบต์
ขนาดเซกเตอร์ (ตรรกะ / กายภาพ): 512 ไบต์ / 4096 ไบต์ขนาด 
I / O (ต่ำสุด / เหมาะสมที่สุด): 4096 ไบต์ / 33553920 ไบต์
ตัวระบุดิสก์: 0xe1751117

   การบูตอุปกรณ์เริ่มต้น End Ids Id System
/ dev / sdd1 * 2048 6293503 3145728 7 HPFS / NTFS / exFAT
/ dev / sdd2 6293504 390721535 192214016 83 Linux



hdparm -I / dev / sdd

/ dev / SDD:

อุปกรณ์ ATA ที่มีสื่อที่ไม่สามารถถอดออกได้
        หมายเลขรุ่น: WDC WD2000JS-00MHB0                     
        หมายเลขซีเรียล: WD-WMANL1143240
        การแก้ไขเฟิร์มแวร์: 02.01C03
มาตรฐาน:
        รองรับ: 7 6 5 4 
        ใช้น่าจะ: 8
การกำหนดค่า:
        ตรรกะสูงสุดปัจจุบัน
        ภาชนะบรรจุ 16383 16383
        หัว 16 16
        ส่วน / เส้นทาง 63 63
        -
        CHS ภาคแอดเดรสแอดเดรสปัจจุบัน: 16514064
        LBA ที่ผู้ใช้กำหนดแอดเดรสของภาค: 268435455
        LBA48 ที่ผู้ใช้กำหนดแอดเดรสของภาค:   390719855
        ขนาดเซกเตอร์เชิงตรรกะ / กายภาพ: 512 ไบต์
        ขนาดอุปกรณ์ที่มี M = 1024 * 1024:       190781 MBytes
        ขนาดอุปกรณ์ที่มี M = 1,000 * 1000:       200048 MBytes (200 GB)
        ขนาดแคช / บัฟเฟอร์ = 8192 KBytes

อย่างที่คุณเห็นรูปทรงเรขาคณิตนั้นผิดเพราะขนาดเซกเตอร์ผิด ... อาจจะมีตัวเลือกในการติดตั้งที่อนุญาตให้ตั้งค่าขนาดบล็อก / เซกเตอร์? หรือวิธีอื่นใด

ขอบคุณ!

PS คำอธิบายรายละเอียดชิป USB:

Bus 002 อุปกรณ์ 004: ID 152d: 2590 JMicron Technology Corp. / JMicron USA Technology Corp. Seatay ATA / ATAPI Bridge
ตัวอธิบายอุปกรณ์:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.10
  bDeviceClass 0 (กำหนดที่ระดับอินเตอร์เฟส)
  bDeviceSubClass 0 
  bDeviceProtocol 0 
  bMaxPacketSize0 64
  idVendor 0x152d JMicron Technology Corp. / JMicron USA Technology Corp.
  idProduct 0x2590 ซีเตย์บริดจ์ ATA / ATAPI
  bcdDevice 81.05
  iManufacturer 1 USB ไปยัง ATA / ATAPI Brid
  iProduct 2 อุปกรณ์ USB ทั่วไป
  iSerial 3 00A12345AFC0
  bNumConfigurations 1
  ตัวอธิบายการกำหนดค่า:
    ความยาว 9
    bDescriptorType 2
    w รวมความยาว 85
    bNumInterfaces 1
    bConfiguration ค่า 1
    iConfiguration 4 USB Mass Storage
    bmAttributes 0xc0
      ขับเคลื่อนด้วยตนเอง
    MaxPower 30mA
    อินเตอร์เฟส Descriptor:
      ความยาว 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternate การตั้งค่า 0
      bNumEndpoints 2
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 เป็นกลุ่มเท่านั้น
      iInterface 6 การขนส่งแบบกลุ่มเท่านั้น MSC
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x81 EP 1 IN
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x02 EP 2 OUT
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
    อินเตอร์เฟส Descriptor:
      ความยาว 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternate การตั้งค่า 1
      bNumEndpoints 4
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 98 
      iInterface 10 MSC USB Attached SCSI
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x01 EP 1 OUT
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
        ท่อคำสั่ง (0x01)
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x82 EP 2 IN
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
        ไปป์สถานะ (0x02)
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x83 EP 3 IN
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
        Data-in pipe (0x03)
      ตัวบอกปลายทาง:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x04 EP 4 OUT
        bmAttributes 2
          โอนประเภทจำนวนมาก
          ซิงค์ชนิดไม่มี
          ข้อมูลประเภทการใช้งาน
        wMaxPacketSize 0x0200 1x 512 ไบต์
        bInterval 0
        ไพพ์ Data-out (0x04)
ตัวบอกที่เก็บไบนารีวัตถุ:
  bLength 5
  bDescriptorType 15
  w รวมความยาว 22
  bNumDeviceCaps 2
  ความสามารถของอุปกรณ์ต่อขยาย USB 2.0:
    bLength 7
    bDescriptorType 16
    bDevCapabilityType 2
    bmAttributes 0x00000002
      สนับสนุน Link Power Management (LPM)
  ความสามารถของอุปกรณ์ SuperSpeed ​​USB:
    bLength 10
    bDescriptorType 16
    bDevCapabilityType 3
    bmAttributes 0x00
    wSpeedsSupported 0x000e
      อุปกรณ์สามารถทำงานที่ความเร็วสูงสุด (12Mbps)
      อุปกรณ์สามารถทำงานที่ความเร็วสูง (480Mbps)
      อุปกรณ์สามารถทำงานที่ SuperSpeed ​​(5Gbps)
    bFunctionalitySupport 1
      ความเร็วของอุปกรณ์ที่ทำงานได้ต่ำที่สุดคือความเร็วเต็ม (12Mbps)
    bU1DevExitLat 10 ไมโครวินาที
    bU2DevExitLat 32 ไมโครวินาที
สถานะอุปกรณ์: 0x0001
  ขับเคลื่อนด้วยตนเอง

ฉันจำปัญหาบางอย่างกับบริดจ์บริดจ์แบบ USB ถึง SATA สำหรับไดรฟ์ขนาดใหญ่ที่ไม่ผ่านคำสั่ง SCSI "รุ่นใหญ่" อย่างถูกต้อง ฉันจะไม่เชื่อถือโซลูชัน FUSE ของคุณที่จะไม่ทำลายข้อมูลจนกว่าคุณจะรู้ว่าคำสั่งใดล้มเหลวและทำงานได้ดี แต่มันเป็นข้อมูลของคุณ ...
dirkt

@dirkt Hmmm ดังนั้นมีอะไรผิดปกติกับวิธีแก้ไขปัญหา FUSE หรือไม่ FUSE ใช้งานได้การเมานต์ปกติไม่ใช่!
Exterminator13

หากคุณไม่ทราบว่าคำสั่งใดใช้งานไม่ได้ FUSE สามารถอ่านบล็อกที่ผิดได้อย่างมีความสุข (ด้วย LBA ขนาดใหญ่ซึ่งแมปกับ LBA ที่เล็กกว่า) ทำให้เกิดความเสียหายของข้อมูล คุณสามารถใช้sg3-utilsเพื่อทดสอบสิ่งที่ผิดพลาด แต่คุณต้องมีความรู้การทำงานของคำสั่ง SCSI ดังนั้น FUSE อาจใช้งานได้ (เพราะมันเกิดขึ้นกับการใช้คำสั่ง SCSI เท่านั้นที่ทำงาน) มันอาจไม่ได้ (เพราะมันเกิดขึ้นกับการใช้คำสั่งที่ไม่ได้) แต่เมื่อคุณรู้ว่ามันทำให้ข้อมูลของคุณมันสายเกินไป
dirkt

คำตอบ:


0

ในระหว่างการทำหัวข้อนี้ในที่สุดฉันก็พบทางออก!

สมมติว่าดิสก์ของคุณ/dev/sddมีสองพาร์ติชัน: /dev/sdd1และ/dev/sdd2

การแก้ไขปัญหา:

sudo apt-get install fuseext2

sudo fuseext2 -o rw +, sync_read / dev / sdd2 / mnt

หรือแทนคำสั่งสุดท้ายคุณสามารถเขียนmountคำสั่ง:

sudo mount -t fuse-ext2 -o rw +, sync_read / dev / sdd2 / mnt

0

ที่สุด! ฉันพบโซลูชันที่อนุญาตให้ใช้mountคำสั่งปกติ:

sudo resize2fs -f /dev/sdd2

นั่นคือผลลัพธ์:

Resizing the filesystem on /dev/sdd2 to 48053293 (4k) blocks. The filesystem on /dev/sdd2 is now 48053293 blocks long.

คำสั่งนี้จะไม่ลบข้อมูลที่สำคัญมาก!

หลังจากนั้นฉันสามารถเปิดทั้งสองพาร์ติชั่นด้วยเครื่องมือระบบไฟล์มาตรฐาน!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.