Як я можу визначити розмір сектора на зовнішньому жорсткому диску?


15

Жорсткі диски переходять з розміру сектора 512 байт до 4096 байтів , і схоже, що Windows XP не підтримує нові нові диски без додаткового програмного забезпечення (наприклад, WDalign від Western Digital )

Моє запитання: як це впливає на зовнішні жорсткі диски? Я буду купувати зовнішній накопичувач USB 1 ТБ, і він буде підключений до суміші машин Windows 7 та XP. Чи є простий спосіб сказати, який розмір сектора на зовнішньому жорсткому диску?


1
Зверніть увагу, що розмір сектора жорсткого диска! = Розмір розміщення файлової системи (він же "кластер"), як повідомляється в ОС. Наприклад, NTFS використовує розподільні блоки розміром 4 кБ, але (на старих жорстких дисках) вони складаються з 8 секторів жорстких дисків. en.wikipedia.org/wiki/Allocation_unit
підпис

2
Більше інформації та, я думаю, кращої відповіді на переповнення стека на питання Як я можу визначити розмір сектору у Windows . Пропозиція є використовувати командуfsutil fsinfo ntfsinfo <volume pathname>
нераціональне Іоанна

Відповіді:


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
Жорсткий диск дійсно може неправильно повідомити про блокований обсяг до ОС. Однак якщо я спробую це на Win7 (який підтримує 4k сектори), він повинен повідомити про правильний блокчейн. Принаймні таким чином я можу поставити наклейку "не використовувати це на XP без WDAlign" на зовнішній жорсткий диск. Будь-які товариші, що мають коментарі з 4-секторними накопичувачами, будь ласка, поцікавтеся своїм досвідом. Спасибі!
підпис

2
Причина, по якій це насправді не працює, пояснюється у цій відповіді на темі Stack Overflow. Очевидно, що розмір блоків, повідомлений цією wmicкомандою, є логічним розміром сектора і може не узгоджуватися з розміром фізичного сектора диска. Пропозиція щодо SO полягала у використанні fsutilкоманди.
ірраціональний Джон

Ця відповідь неправильна. wmic partitionповідомляє вам щось про розділ, а не про диск, і він повертається 512 навіть тоді, коли накопичувач представляє хост-комп'ютер з 4096 байтами на логічний сектор або коли накопичувач має 4096 байт на фізичний сектор.
балазер

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повідомляє вам логічний розмір сектору, поданий на хост-комп'ютер. Розмір фізичного сектора може бути різним.
балазер

2

Я знаю, що ви не використовуєте Linux, але тільки для запису:

smartctl -i /dev/...

показує

Sector Size:      512 bytes logical/physical

1

Це можна зробити за допомогою командного рядка. Відкрийте CMD ( Windows+ rпотім введіть cmd) та запустіть chkdsk driveletter: chkdsk c:Він буде вказаний як x bytes in each allocation unit.

alt текст


2
Я вважаю, що це говорить про файлову систему, а не про сам диск.
Joey

Це допомогло мені отримати інформацію, яку я хотів. Дякую.
dimitarvp

Ще один спосіб отримати розмір блоку - зберегти порожній текстовий файл, клацнути правою кнопкою миші, переглянути властивості та відзначити значення "розмір на диску" (Windows зазвичай за замовчуванням до 4k)
нічого не потрібно

Одиниці розподілу не пов'язані з розміром сектору, окрім того, що одиниця розподілу повинна містити X секторів. Це розмір кластера, який підтримує файлові системи Windows, щоб запобігти занадто великому MFT / FAT щодо фактичних даних, які ви хочете зберігати на пристрої. На 512-байтових секторних дисках можна побачити одиницю розподілення 4k скрізь.
LawrenceC

1

Windows XP працює чудово з сучасними накопичувачами, що мають 4096 байт у фізичному секторі. Основне питання полягає в тому, що привід з 4096 байтами на фізичний сектор та 512 байтами на логічний сектор (512-байтна емуляція або "512e") буде виконуватись неоптимально, якщо розділи не узгоджуються з фізичними секторами. Вбудовані інструменти для розділення Windows XP не роблять належного вирівнювання для цих сучасних накопичувачів. Щоб розділити диск з правильним вирівнюванням, виконайте розділення в більш новій операційній системі або використовуючи сучасний сторонній інструмент або інструмент, наданий постачальником жорсткого диска. Це рекомендується незалежно від того, використовує він накопичувач 512 або 4096 байт у фізичному секторі.

Ви можете перевірити вирівнювання існуючих розділів за допомогою msinfo32 (Windows XP та новіших версій):

  • msinfo32.exe> ​​Компоненти> Зберігання> Диски> Розділ, що починається зсувом (переконайтесь, що це кратний розмір фізичного сектора або кратний 1048 576 байт для SSD)

Існує три різних розміри сектора, що викликають занепокоєння: фізичний розмір диска, розмір логічного сектора диска та розмір логічного сектора, представлений хост-комп'ютеру. Розмір логічного сектора, поданий на головний комп'ютер, може відрізнятися від розміру логічного сектора накопичувача, якщо привід підключений через міст, який робить переклад розміру сектора. Зовнішні накопичувачі USB часто виконують переклад з 512 байт на логічний сектор на інтерфейсі SATA з накопичувачем всередині корпусу до 4096 байт на логічний сектор в інтерфейсі USB з хост-комп'ютером. Цей переклад дозволяє Windows XP використовувати більше 2 ТБ накопичувача .

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 ТБ можна налаштувати на сумісність з Windows XP , змінивши розмір логічного сектора, представлений хост-комп'ютеру.


-1

Ваш фізичний жорсткий диск матиме розмір фізичного сектора, визначений виробником (512 або 4096 на новіших сховищах), а потім, крім того, ваша файлова система створює логічний розмір сектора.

Якщо два не вирівняні, ви будете читати, змінювати, записувати з двох блоків, якщо дані, які ви змінюєте, охоплюють два блоки.

Для SSD - накопичувачів, Altough вони логічно працювати однаково на доступ до даними, я вважаю , їх фізичні сектори 1024 (з - за флеш - пам'яті), тому вам потрібно буде algn розділ відповідно Align=1024.


2
Це насправді не стосується питання автора.
Рамхаунд
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.