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?
windows
hard-drive
sigint
źródło
źródło
fsutil fsinfo ntfsinfo <volume pathname>
Odpowiedzi:
Uruchom
wmic partition get BlockSize, StartingOffset, Name, Index
z wiersza polecenia systemu Windows. Dane wyjściowe wyglądają następująco: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.
źródło
wmic
polecenie jest najwyraźniej rozmiarem sektora logicznego i może nie zgadzać się z rozmiarem sektora fizycznego dysku. Sugestią dotyczącą SO było użyciefsutil
polecenia.wmic partition
mó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.Właśnie to zweryfikowałem za pomocą WMIC na moim oknie Windows XP. To jest zapytanie:
Nowszy dysk zewnętrzny Toshiba jest zgłaszany jako 4096 bajtów.
źródło
wmic DISKDRIVE get bytespersector
informuje o logicznym rozmiarze sektora przedstawionym na komputerze hosta. Rozmiar sektora fizycznego może być inny.Wiem, że nie używasz Linuksa, ale tylko dla przypomnienia:
przedstawia
źródło
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 jakox bytes in each allocation unit
.źródło
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):
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:
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):
Ż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:
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.
źródło
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
.źródło