Wie kann ich die Sektorgröße auf einer externen Festplatte ermitteln?

15

Festplatten werden von Sektorgrößen von 512 Byte auf 4096 Byte umgestellt , und es sieht so aus, als würde Windows XP diese neueren Laufwerke ohne zusätzliche Software (wie WDalign von Western Digital ) nicht unterstützen.

Meine Frage ist: Wie wirkt sich das auf externe Festplatten aus? Ich kaufe ein externes 1-TB-USB-Laufwerk und stecke es in eine Mischung aus Windows 7- und XP-Computern. Gibt es eine einfache Möglichkeit, die Sektorgröße auf einer externen Festplatte zu bestimmen?

Zeichen
quelle
1
Bitte beachten Sie, dass die Sektorgröße der Festplatte! = Größe der Dateisystemzuordnungseinheit (auch als "Cluster" bezeichnet), wie vom Betriebssystem angegeben. NTFS verwendet zum Beispiel Zuordnungseinheiten mit einer Größe von 4 KB, aber (auf alten Festplatten) bestehen diese aus 8 Festplattensektoren. en.wikipedia.org/wiki/Allocation_unit
Sigint
2
Es gibt mehr Informationen und, denke ich, eine bessere Antwort über Stack Overflow auf die Frage, wie ich die Sektorgröße in Windows bestimmen kann . Der Vorschlag dort ist, den Befehl zu verwendenfsutil fsinfo ntfsinfo <volume pathname>
irrational John

Antworten:

12

Führen Sie wmic partition get BlockSize, StartingOffset, Name, Indexeine Windows-Eingabeaufforderung aus. Die Ausgabe sieht folgendermaßen aus:

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

Wobei Blockgröße die Sektorgröße des Laufwerks ist. Der Laufwerksbuchstabe wird leider nicht aufgeführt.

Auch wenn ich den Artikel verstehe , listet das Laufwerk immer noch 512-Byte-Sektoren auf, obwohl es intern 4-KB-Sektoren verwendet. Daher besteht die einzige Möglichkeit darin, das Datenblatt des Laufwerks abzurufen.

shf301
quelle
1
Die Festplatte kann in der Tat Blockgröße falsch an das Betriebssystem melden. Wenn ich dies jedoch auf Win7 versuche (das 4k-Sektoren unterstützt), sollte es die richtige Blockgröße melden. Zumindest auf diese Weise kann ich einen Aufkleber auf der externen Festplatte anbringen, der besagt, dass dies unter XP ohne WDAlign nicht möglich ist. Wenn Sie andere Kommentatoren mit 4k-Sektor-Laufwerken haben, teilen Sie uns bitte Ihre Erfahrungen mit. Vielen Dank!
Sigint
2
Der Grund, warum dies nicht funktioniert, wird in dieser Antwort zu Stack Overflow erläutert . Die von diesem wmicBefehl gemeldete Blockgröße entspricht anscheinend der logischen Sektorgröße und stimmt möglicherweise nicht mit der physischen Sektorgröße des Laufwerks überein . Der Vorschlag für SO war, den fsutilBefehl zu verwenden.
irrational John
Diese Antwort ist falsch. wmic partitionInformiert Sie über die Partition, nicht über das Laufwerk, und gibt 512 zurück, selbst wenn sich das Laufwerk dem Host-Computer mit 4096 Byte pro logischem Sektor präsentiert oder wenn das Laufwerk 4096 Byte pro physischem Sektor hat.
Balazer
8

Ich habe dies gerade mit WMIC auf meiner Windows XP-Box überprüft. Dies ist die Abfrage:

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

Die neuere externe Festplatte von Toshiba enthält 4096 Byte.

milind110
quelle
wmic DISKDRIVE get bytespersectorgibt die logische Sektorgröße an, die dem Host-Computer angezeigt wird. Die physische Sektorgröße kann unterschiedlich sein.
Balazer
2

Ich weiß, dass Sie Linux nicht verwenden, aber nur für die Aufzeichnung:

smartctl -i /dev/...

zeigt an

Sector Size:      512 bytes logical/physical
Eun
quelle
1

Sie können dies über eine Eingabeaufforderung tun. Öffnen Sie CMD ( Windows+ rund geben chkdsk c:Sie dann cmd ein) und führen Sie den Befehl chkdsk driveletter aus: Es wird als aufgeführt x bytes in each allocation unit.

Alt-Text

Nicht finanzierte Nuss
quelle
2
Ich glaube, das spricht über das Dateisystem, nicht die Festplatte selbst.
Joey
Dies half mir, die gewünschten Informationen zu erhalten. Vielen Dank.
Dimitarvp
Eine andere Möglichkeit, die Blockgröße zu ermitteln, besteht darin, eine leere Textdatei zu speichern, mit der rechten Maustaste zu klicken, die Eigenschaften anzuzeigen und den Wert "Größe auf der Festplatte" zu notieren (Windows standardmäßig
nichts ist
Zuweisungseinheiten sind nicht auf die Sektorgröße bezogen, außer dass eine Zuweisungseinheit X Sektoren enthalten muss. Es ist die Clustergröße, die von Windows-Dateisystemen unterstützt wird, um zu verhindern, dass die MFT / FAT im Verhältnis zu den tatsächlichen Daten, die Sie auf dem Gerät speichern möchten, zu groß ist. Auf 512-Byte-Sektorplatten werden überall 4-KByte-Zuordnungseinheiten angezeigt.
LawrenceC
1

Windows XP funktioniert problemlos mit modernen Laufwerken mit 4096 Byte pro physischem Sektor. Das Hauptproblem ist, dass ein Laufwerk mit 4096 Bytes pro physischem Sektor und 512 Bytes pro logischem Sektor (512-Byte-Emulation oder "512e") nicht optimal funktioniert, wenn die Partitionen nicht mit physischen Sektoren ausgerichtet sind. Die in Windows XP integrierten Partitionierungstools passen diese modernen Laufwerke nicht richtig an. Führen Sie zum Partitionieren eines Laufwerks mit der richtigen Ausrichtung die Partitionierung in einem neueren Betriebssystem oder mit einem modernen Drittanbieter-Tool oder einem vom Festplattenhersteller bereitgestellten Tool durch. Dies wird unabhängig davon empfohlen, ob das Laufwerk 512 oder 4096 Byte pro physischem Sektor verwendet.

Sie können die Ausrichtung vorhandener Partitionen mit msinfo32 (Windows XP und höher) überprüfen:

  • msinfo32.exe> ​​Components> Storage> Disks> Partition Starting Offset (Stellen Sie sicher, dass es sich um ein Vielfaches der physischen Sektorgröße oder ein Vielfaches von 1.048.576 Byte für SSDs handelt.)

Es gibt drei verschiedene betroffene Sektorgrößen: die physische Sektorgröße eines Laufwerks, die logische Sektorgröße eines Laufwerks und die logische Sektorgröße, die dem Host-Computer angezeigt wird. Die logische Sektorgröße, die dem Host-Computer angezeigt wird, kann sich von der logischen Sektorgröße eines Laufwerks unterscheiden, wenn das Laufwerk über eine Brücke verbunden ist, die die Sektorgrößenumsetzung durchführt. Externe USB-Laufwerke wandeln häufig 512 Byte pro logischem Sektor an der SATA-Schnittstelle mit dem Laufwerk im Gehäuse in 4096 Byte pro logischem Sektor an der USB-Schnittstelle zum Host-Computer um. Diese Übersetzung ermöglicht es Windows XP, mehr als 2 TB eines Laufwerks zu verwenden .

Mit fsutil in Windows 10 können Sie die physische Sektorgröße eines Laufwerks und die logische Sektorgröße ermitteln, die dem Hostcomputer angezeigt wird:

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

Um die logischen und physischen Sektorgrößen eines SATA-Laufwerks hinter einer USB-Brücke zu ermitteln, können Sie eine SMART-Abfrage über die Brücke mit smartctl an das SATA-Laufwerk übergeben (im GSmartControl- Paket für Windows enthalten):

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

Keines der in Windows XP integrierten Tools kann die physische Sektorgröße eines Laufwerks abrufen. Sie müssen smartctl oder ein ähnliches Tool verwenden, um das Laufwerk abzufragen.

So ermitteln Sie die logische Sektorgröße eines Laufwerks, wie sie dem Hostcomputer angezeigt wird:

  • msinfo32.exe> ​​Komponenten> Speicher> Datenträger> Bytes / Sektor. (funktioniert in Windows XP und höher)
  • wmic DISKDRIVE get bytespersector, caption (Funktioniert nur unter Windows XP)
  • fsutil fsinfo ntfsinfo c: ("Bytes per sector". Funktioniert unter Windows XP und höher.)
  • fsutil fsinfo sectorInfo c: ("LogicalBytesPerSector". Funktioniert in Windows 10 und höher)

Viele externe USB-Western Digital-Laufwerke mit mehr als 2 TB können für die Windows XP-Kompatibilität konfiguriert werden, indem die Größe des logischen Sektors geändert wird, der dem Hostcomputer angezeigt wird.

Balazer
quelle
-1

Ihre physische Festplatte hat eine vom Hersteller festgelegte physische Sektorgröße (512 oder 4096 bei neuerem Speicher). Darüber hinaus erstellt Ihr Dateisystem eine logische Sektorgröße.

Wenn die beiden nicht ausgerichtet sind, müssen Sie aus zwei Blöcken lesen, ändern und schreiben, wenn sich die zu ändernden Daten über zwei Blöcke erstrecken.

Obwohl SSDs beim Datenzugriff logischerweise auf die gleiche Weise funktionieren, sind die physischen Sektoren meiner Meinung nach 1024 (aufgrund des Flash-Speichers). Daher müssen Sie die Partition entsprechend konfigurieren Align=1024.

Irgendein Typ
quelle
2
Dies geht nicht wirklich auf die Frage des Autors ein.
Ramhound