Jak mogę określić rozmiar sektora na zewnętrznym dysku twardym?

15

Dyski twarde zmieniają rozmiar z 512 bajtów na sektor 4096 bajtów i wygląda na to, że Windows XP nie będzie obsługiwał tych nowszych dysków bez dodatkowego oprogramowania (takiego jak WDalign z Western Digital )

Moje pytanie brzmi: jak to wpływa na zewnętrzne dyski twarde? Będę kupować zewnętrzny dysk USB o pojemności 1 TB i zostanie on podłączony do wielu komputerów z systemem Windows 7 i XP. Czy istnieje prosty sposób na określenie wielkości sektora na zewnętrznym dysku twardym?

sigint
źródło
1
Należy pamiętać, że rozmiar sektora dysku twardego! = Rozmiar jednostki alokacji systemu plików (inaczej „klaster”) zgodnie z raportem systemu operacyjnego. Na przykład NTFS używa jednostek alokacji wielkości 4kB, ale (na starych dyskach twardych) składają się one z 8 sektorów dysków twardych. en.wikipedia.org/wiki/Allocation_unit
sigint
2
Jest więcej informacji i, jak sądzę, lepsza odpowiedź na temat Przepełnienia stosu na pytanie Jak mogę określić rozmiar sektora w systemie Windows . Sugeruje się użycie poleceniafsutil fsinfo ntfsinfo <volume pathname>
irracjonalny Jan

Odpowiedzi:

12

Uruchom wmic partition get BlockSize, StartingOffset, Name, Indexz wiersza polecenia systemu Windows. Dane wyjściowe wyglądają następująco:

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

Gdzie rozmiar bloku jest rozmiarem sektora dysku. Niestety nie zawiera litery dysku.

Jak rozumiem ten artykuł , dysk nadal będzie wskazywał, że ma 512 bajtów sektorów, chociaż wewnętrznie używa sektorów 4kb. Więc jedynym sposobem może być uzyskanie arkusza specyfikacji napędu.

shf301
źródło
1
Dysk twardy może rzeczywiście źle zgłaszać rozmiar bloku w systemie operacyjnym. Jednak jeśli spróbuję tego na Win7 (który obsługuje sektory 4k), powinien zgłosić prawidłowy rozmiar bloku. Przynajmniej w ten sposób mogę umieścić naklejkę „nie używaj tego na XP bez WDAlign” na zewnętrznym dysku twardym. Inni komentatorzy z napędami na 4k sektorów, prosimy o zapoznanie się ze swoimi doświadczeniami. Dzięki!
sigint
2
Powód, dla którego tak naprawdę nie działa, wyjaśniono w tej odpowiedzi na temat przepełnienia stosu. Rozmiar bloku zgłaszany przez to wmicpolecenie jest najwyraźniej rozmiarem sektora logicznego i może nie zgadzać się z rozmiarem sektora fizycznego dysku. Sugestią dotyczącą SO było użycie fsutilpolecenia.
irracjonalny Jan
Ta odpowiedź jest zła. wmic partitionmówi coś o partycji, a nie dysku, i zwraca 512, nawet jeśli dysk prezentuje się na komputerze hosta z 4096 bajtami na sektor logiczny lub gdy dysk ma 4096 bajtów na sektor fizyczny.
balazer
8

Właśnie to zweryfikowałem za pomocą WMIC na moim oknie Windows XP. To jest zapytanie:

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

Nowszy dysk zewnętrzny Toshiba jest zgłaszany jako 4096 bajtów.

milind110
źródło
wmic DISKDRIVE get bytespersectorinformuje o logicznym rozmiarze sektora przedstawionym na komputerze hosta. Rozmiar sektora fizycznego może być inny.
balazer
2

Wiem, że nie używasz Linuksa, ale tylko dla przypomnienia:

smartctl -i /dev/...

przedstawia

Sector Size:      512 bytes logical/physical
Eun
źródło
1

Możesz to zrobić za pomocą wiersza polecenia. Otwórz CMD ( Windows+, ra następnie wpisz cmd) i uruchom program narzędziowy chkdsk: chkdsk c:Zostanie wyświetlony jako x bytes in each allocation unit.

alternatywny tekst

Unfundednut
źródło
2
Wierzę, że mówi o systemie plików, a nie o samym dysku.
Joey,
Pomogło mi to uzyskać potrzebne informacje. Dziękuję Ci.
dimitarvp
innym sposobem na uzyskanie rozmiaru bloku jest zapisanie pustego pliku tekstowego, kliknięcie prawym przyciskiem myszy, wyświetlenie właściwości i zanotowanie wartości „rozmiar na dysku” (w
systemie
Jednostki alokacji nie są powiązane z rozmiarem sektora, inne niż jednostka alokacji musi zawierać X sektorów. Jest to rozmiar klastra, który jest obsługiwany przez systemy plików Windows, aby zapobiec zbyt dużemu rozmiarowi MFT / FAT w stosunku do rzeczywistych danych, które chcesz przechowywać na urządzeniu. Wszędzie zobaczysz jednostkę alokacji 4k na 512-bajtowych dyskach sektorowych.
LawrenceC
1

Windows XP działa dobrze z nowoczesnymi dyskami, które mają 4096 bajtów na sektor fizyczny. Głównym problemem jest to, że dysk z 4096 bajtami na sektor fizyczny i 512 bajtami na sektor logiczny (emulacja 512 bajtów lub „512e”) będzie działał nieoptymalnie, jeśli partycje nie są wyrównane z sektorami fizycznymi. Wbudowane narzędzia do partycjonowania systemu Windows XP nie wykonują odpowiedniego wyrównania dla tych nowoczesnych dysków. Aby podzielić dysk na partycje z odpowiednim wyrównaniem, wykonaj partycjonowanie w nowszym systemie operacyjnym lub za pomocą nowoczesnego narzędzia innej firmy lub narzędzia dostarczonego przez dostawcę dysku twardego. Jest to zalecane bez względu na to, czy dysk używa 512 lub 4096 bajtów na sektor fizyczny.

Możesz sprawdzić wyrównanie istniejących partycji za pomocą msinfo32 (Windows XP i nowsze):

  • msinfo32.exe> ​​Składniki> Pamięć> Dyski> Przesunięcie początkowe partycji (upewnij się, że jest to wielokrotność rozmiaru sektora fizycznego lub wielokrotność 1 048 576 bajtów dla dysków SSD)

Istnieją trzy różne rozmiary sektorów, które mogą budzić obawy: rozmiar sektora fizycznego dysku, rozmiar sektora logicznego dysku oraz rozmiar sektora logicznego prezentowany na komputerze hosta. Rozmiar sektora logicznego prezentowany komputerowi hosta może różnić się od rozmiaru sektora logicznego dysku, jeśli napęd jest podłączony za pomocą mostka, który dokonuje translacji rozmiaru sektora. Zewnętrzne dyski USB często wykonują translację z 512 bajtów na sektor logiczny na interfejsie SATA z napędem wewnątrz obudowy do 4096 bajtów na sektor logiczny na interfejsie USB z komputerem-hostem. To tłumaczenie umożliwia systemowi Windows XP użycie więcej niż 2 TB dysku .

fsutil w systemie Windows 10 może określić rozmiar sektora fizycznego dysku i rozmiar sektora logicznego prezentowany na komputerze hosta:

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

Aby uzyskać logiczne i fizyczne rozmiary sektora dysku SATA za mostem USB, możesz przekazać zapytanie SMART przez most do dysku SATA za pomocą smartctl (zawartego w pakiecie GSmartControl dla systemu 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

Żadne z wbudowanych narzędzi systemu Windows XP nie może uzyskać rozmiaru sektora fizycznego dysku. Musisz użyć smartctl lub podobnego narzędzia do przeszukania dysku.

Aby uzyskać rozmiar sektora logicznego dysku przedstawiony na komputerze hosta:

  • msinfo32.exe> ​​Składniki> Pamięć> Dyski> Bajty / sektor. (działa w systemie Windows XP i nowszych)
  • wmic DISKDRIVE get bytespersector, caption (Działa tylko w systemie Windows XP)
  • fsutil fsinfo ntfsinfo c: („Bajtów na sektor”. Działa w systemie Windows XP i nowszych)
  • fsutil fsinfo sectorInfo c: („LogicalBytesPerSector”. Działa w systemie Windows 10 i nowszych)

Wiele zewnętrznych dysków Western Digital USB o pojemności powyżej 2 TB można skonfigurować pod kątem zgodności z systemem Windows XP , zmieniając rozmiar sektora logicznego prezentowany na komputerze hosta.

balazer
źródło
-1

Twój fizyczny dysk twardy będzie miał rozmiar sektora fizycznego zdefiniowany przez producenta (512 lub 4096 w nowszej pamięci), a następnie system plików utworzy logiczny rozmiar sektora.

Jeśli dwa nie są wyrównane, będziesz czytać, modyfikować, zapisywać z dwóch bloków, jeśli modyfikowane dane obejmują dwa bloki.

Dla dysków SSD, altough one logicznie działają w ten sam sposób na dostęp do danych, uważam ich sektory fizyczne są 1024 (ze względu na pamięci flash), dlatego trzeba będzie algn partycję odpowiednio, Align=1024.

Jakiś facet
źródło
2
To tak naprawdę nie odnosi się do pytania autora.
Ramhound,