ฉันจะกำหนดขนาดเซกเตอร์ในฮาร์ดไดรฟ์ภายนอกได้อย่างไร


15

ฮาร์ดไดรฟ์กำลังเปลี่ยนจากขนาด 512 ไบต์เป็น 4096 ไบต์และดูเหมือนว่า Windows XP จะไม่สนับสนุนไดรฟ์รุ่นใหม่ที่ไม่มีซอฟต์แวร์เพิ่มเติม (เช่นWDalign จาก Western Digital )

คำถามของฉันคือสิ่งนี้มีผลกับฮาร์ดไดรฟ์ภายนอกอย่างไร ฉันจะซื้อไดรฟ์ภายนอก 1TB USB และจะเสียบเข้ากับเครื่อง Windows 7 และ XP มีวิธีที่ง่ายที่จะบอกขนาดของเซ็กเตอร์ในฮาร์ดไดรฟ์ภายนอกหรือไม่


1
โปรดทราบว่าขนาดเซกเตอร์ฮาร์ดไดรฟ์! = ขนาดการจัดสรรระบบไฟล์ (aka "คลัสเตอร์") ขนาดตามที่รายงานโดยระบบปฏิบัติการ ตัวอย่างเช่น NTFS ใช้หน่วยการจัดสรรขนาด 4kB แต่ (สำหรับ HDD เก่า) หน่วยนี้ประกอบด้วย 8 ส่วน HDD en.wikipedia.org/wiki/Allocation_unit
sigint

2
มีข้อมูลเพิ่มเติมและฉันคิดว่าเป็นคำตอบที่ดีกว่าใน Stack Overflow กับคำถามฉันจะกำหนดขนาดเซกเตอร์ในหน้าต่างได้อย่างไร ข้อเสนอแนะคือการใช้คำสั่งfsutil fsinfo ntfsinfo <volume pathname>
ไม่มีเหตุผล John

คำตอบ:


12

เรียกใช้wmic partition get BlockSize, StartingOffset, Name, Indexจากพรอมต์คำสั่งของ Windows ผลลัพธ์ดูเหมือนว่า:

BlockSize  Index  Name                   StartingOffset
512        0      Disk #0, Partition #0  1048576
512        1      Disk #0, Partition #1  105906176
512        0      Disk #1, Partition #0  32256

ขนาดบล็อกคือขนาดเซกเตอร์ของไดรฟ์ น่าเสียดายที่มันไม่ได้เขียนรายการอักษรระบุไดรฟ์

นอกจากนี้เมื่อฉันเข้าใจบทความไดรฟ์จะยังคงแสดงรายการว่ามีเซ็กเตอร์ 512 ไบต์แม้ว่าจะใช้เซ็กเตอร์ 4kb ภายใน ดังนั้นวิธีเดียวที่จะได้รับแผ่นข้อมูลจำเพาะไดรฟ์


1
HDD อาจทำการบล็อกขนาดจริงไปยังระบบปฏิบัติการไม่ถูกต้อง อย่างไรก็ตามถ้าฉันลองใช้ Win7 (ซึ่งรองรับภาค 4k) ก็ควรรายงานการบล็อคที่ถูกต้อง อย่างน้อยฉันก็ใส่สติ๊กเกอร์ "ไม่ใช้บน XP โดยไม่ใช้ WDAlign" บนฮาร์ดไดรฟ์ภายนอก ผู้แสดงความคิดเห็นคนใดที่มีไดรฟ์ 4k เซกเตอร์โปรดพูดคุยกับประสบการณ์ของคุณ ขอบคุณ!
sigint

2
สาเหตุที่ใช้งานไม่ได้จริงอธิบายไว้ในคำตอบนี้ใน Stack Overflow ขนาดบล็อกที่รายงานโดยwmicคำสั่งนั้นเห็นได้ชัดว่ามีขนาดเซกเตอร์ตรรกะและอาจไม่เห็นด้วยกับขนาดเซกเตอร์กายภาพของไดรฟ์ ข้อเสนอแนะเกี่ยวกับ SO คือการใช้fsutilคำสั่ง
ไม่มีเหตุผล John

คำตอบนี้ผิด wmic partitionบอกคุณบางอย่างเกี่ยวกับพาร์ติชันไม่ใช่ไดรฟ์และส่งคืน 512 แม้เมื่อไดรฟ์แสดงตัวเองไปยังโฮสต์คอมพิวเตอร์ที่มี 4096 ไบต์ต่อเซกเตอร์ตรรกะหรือเมื่อไดรฟ์มี 4096 ไบต์ต่อเซกเตอร์กายภาพ
balazer

8

ฉันเพิ่งตรวจสอบสิ่งนี้ด้วย WMIC ในกล่อง windows XP ของฉัน นี่คือแบบสอบถาม:

C:\>wmic DISKDRIVE get bytespersector, caption  
BytesPerSector  Caption  
512             WDC WD1600AAJS-60M0A0  
4096            TrekStor HDD USB Device

ดิสก์ภายนอกของ Toshiba รุ่นใหม่มีรายงานว่า 4096 ไบต์


wmic DISKDRIVE get bytespersectorบอกขนาดเซกเตอร์ตรรกะให้คุณตามที่แสดงในโฮสต์คอมพิวเตอร์ ขนาดเซกเตอร์กายภาพอาจแตกต่างกัน
balazer

2

ฉันรู้ว่าคุณไม่ได้ใช้ linux แต่สำหรับบันทึก:

smartctl -i /dev/...

แสดงให้เห็นว่า

Sector Size:      512 bytes logical/physical

1

คุณสามารถทำได้ผ่านพรอมต์คำสั่ง เปิด CMD ( Windows+ rแล้วพิมพ์ cmd) และเรียก driveletter chkdsk: มันจะถูกระบุว่าเป็นchkdsk c:x bytes in each allocation unit

ข้อความแสดงแทน


2
ฉันเชื่อว่าสิ่งนี้พูดถึงระบบไฟล์ไม่ใช่ตัวดิสก์เอง
Joey

สิ่งนี้ช่วยให้ฉันได้รับข้อมูลที่ฉันต้องการ ขอขอบคุณ.
dimitarvp

วิธีการรับบล็อกขนาดอีกอย่างก็คือการบันทึกแฟ้มข้อความที่ว่างเปล่าให้คลิกขวาดูคุณสมบัติและทราบขนาด "บนดิสก์" ค่า (Windows มักจะเริ่มต้นที่ 4k)
nothingisnecessary

หน่วยการจัดสรรไม่เกี่ยวข้องกับขนาดเซกเตอร์นอกเหนือจากหน่วยการจัดสรรจะต้องมีเซกเตอร์ X เป็นขนาดคลัสเตอร์ซึ่งเป็นสิ่งที่ระบบไฟล์ของ Windows รองรับเพื่อป้องกัน MFT / FAT จากการมีขนาดใหญ่เกินไปเมื่อเทียบกับข้อมูลจริงที่คุณต้องการเก็บไว้ในอุปกรณ์ คุณจะเห็นหน่วยการจัดสรร 4k ในดิสก์เซกเตอร์ 512 ไบต์ทุกที่
LawrenceC

1

Windows XP ทำงานได้ดีกับไดรฟ์สมัยใหม่ที่มี 4096 ไบต์ต่อเซกเตอร์กายภาพ ปัญหาหลักคือไดรฟ์ที่มี 4096 ไบต์ต่อเซกเตอร์กายภาพและ 512 ไบต์ต่อเซกเตอร์เชิงตรรกะ (การจำลอง 512- ไบต์หรือ "512e") จะดำเนินการย่อยอย่างเหมาะสมหากพาร์ติชันไม่สอดคล้องกับเซกเตอร์กายภาพ เครื่องมือแบ่งพาร์ติชันในตัวของ Windows XP ไม่ได้จัดแนวที่เหมาะสมสำหรับไดรฟ์สมัยใหม่เหล่านี้ ในการแบ่งพาร์ติชันไดรฟ์ด้วยการจัดตำแหน่งที่เหมาะสมให้ทำการแบ่งพาร์ติชันในระบบปฏิบัติการที่ใหม่กว่าหรือใช้เครื่องมือของบุคคลที่สามที่ทันสมัยหรือเครื่องมือที่จัดทำโดยผู้จำหน่ายฮาร์ดไดรฟ์ คำแนะนำนี้ไม่ว่าจะใช้ไดรฟ์ขนาด 512 หรือ 4096 ไบต์ต่อเซ็กเตอร์หรือไม่ก็ตาม

คุณสามารถตรวจสอบการจัดตำแหน่งของพาร์ติชันที่มีอยู่โดยใช้ msinfo32 (Windows XP และใหม่กว่า):

  • msinfo32.exe> ​​ส่วนประกอบ> ที่เก็บข้อมูล> ดิสก์> การเริ่มต้นพาร์ติชันออฟเซ็ต (ตรวจสอบให้แน่ใจว่าเป็นขนาดเซกเตอร์กายภาพหรือหลาย 1,048,576 ไบต์สำหรับ SSD)

ข้อกังวลมีสามขนาดต่าง ๆ กัน: ขนาดเซกเตอร์กายภาพของไดรฟ์ขนาดเซกเตอร์ตรรกะของไดรฟ์และขนาดเซกเตอร์ตรรกะที่แสดงไปยังคอมพิวเตอร์โฮสต์ ขนาดเซกเตอร์ตรรกะที่นำเสนอไปยังโฮสต์คอมพิวเตอร์อาจแตกต่างจากขนาดเซกเตอร์ตรรกะของไดรฟ์หากไดรฟ์เชื่อมต่อผ่านบริดจ์ที่ทำการแปลขนาดเซกเตอร์ ไดรฟ์ USB ภายนอกมักทำการแปลจาก 512 ไบต์ต่อโลจิคัลเซกเตอร์ที่อินเตอร์เฟส SATA กับไดรฟ์ภายในกล่องหุ้มเป็น 4096 ไบต์ต่อเซกเตอร์ตรรกะที่อินเตอร์เฟส USB กับโฮสต์คอมพิวเตอร์ แปลนี้จะช่วยให้ Windows XP เพื่อการใช้งานมากกว่า 2 TB ของไดรฟ์

fsutil ใน Windows 10 สามารถบอกขนาดเซกเตอร์กายภาพของไดรฟ์และขนาดเซกเตอร์ตรรกะที่แสดงต่อโฮสต์คอมพิวเตอร์:

C:> fsutil fsinfo sectorInfo c:
LogicalBytesPerSector :                                 512
PhysicalBytesPerSectorForAtomicity :                    4096
PhysicalBytesPerSectorForPerformance :                  4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Device Alignment :                                      Aligned (0x000)
Partition alignment on device :                         Aligned (0x000)

ในการรับขนาดเซกเตอร์และฟิสิคัลของไดรฟ์ SATA ด้านหลังบริดจ์ USB คุณสามารถส่งแบบสอบถาม SMART ผ่านบริดจ์ไปยังไดรฟ์ SATA โดยใช้ smartctl (รวมอยู่ในแพ็คเกจGSmartControlสำหรับ Windows):

C:\Program Files\GSmartControl> smartctl -a -d sat pd11
smartctl 6.5 2016-05-07 r4318 [i686-w64-mingw32-xp-sp3] (sf-6.5-1)
Copyright (C) 2002-16, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Western Digital Green
...
Sector Sizes:     512 bytes logical, 4096 bytes physical

ไม่มีเครื่องมือในตัวของ Windows XP ที่สามารถรับขนาดเซกเตอร์กายภาพของไดรฟ์ คุณต้องใช้ smartctl หรือเครื่องมือที่คล้ายกันเพื่อสอบถามไดรฟ์

ในการรับขนาดเซกเตอร์ตรรกะของไดรฟ์ตามที่แสดงในโฮสต์คอมพิวเตอร์:

  • msinfo32.exe> ​​ส่วนประกอบ> ที่เก็บข้อมูล> ดิสก์> ไบต์ / เซกเตอร์ (ใช้ได้กับ Windows XP และใหม่กว่า)
  • wmic DISKDRIVE get bytespersector, caption (ใช้ได้กับ Windows XP เท่านั้น)
  • fsutil fsinfo ntfsinfo c: ("ไบต์ต่อเซกเตอร์" ทำงานใน Windows XP และใหม่กว่า)
  • fsutil fsinfo sectorInfo c: ("LogicalBytesPerSector" ใช้งานได้ใน Windows 10 และใหม่กว่า)

ไดรฟ์ USB Western Digital ภายนอกหลายตัวที่สามารถกำหนดค่ามากกว่า 2 TB สำหรับความเข้ากันได้กับ Windows XPโดยการเปลี่ยนขนาดเซกเตอร์ตรรกะที่แสดงต่อโฮสต์คอมพิวเตอร์


-1

ฟิสิคัล HDD ของคุณจะมีขนาดเซกเตอร์กายภาพที่กำหนดโดยผู้ผลิต (512 หรือ 4096 บนที่เก็บข้อมูลที่ใหม่กว่า) แล้วที่ด้านบนของระบบไฟล์ของคุณจะสร้างขนาดเซกเตอร์ตรรกะ

หากทั้งสองไม่ได้อยู่ในแนวเดียวกันคุณจะได้อ่านแก้ไขเขียนจากสองบล็อคหากข้อมูลที่คุณแก้ไขมีช่วงสองบล็อก

สำหรับ SSDs, ได้แม้ว่าพวกเขามีเหตุผลที่ทำงานในลักษณะเดียวกันในการเข้าถึงข้อมูลที่ผมเชื่อว่าภาคกายภาพของพวกเขา 1024 (เนื่องจากหน่วยความจำแฟลช) ดังนั้นคุณจะต้อง algn Align=1024พาร์ทิชันตาม


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