Como posso determinar o tamanho do setor em um disco rígido externo?

15

Os discos rígidos estão em transição de tamanhos de setor de 512 a 4096 bytes e parece que o Windows XP não suporta essas unidades mais recentes sem software adicional (como o WDalign da Western Digital )

Minha pergunta é: como isso afeta os discos rígidos externos? Comprarei uma unidade externa USB de 1 TB e ela será conectada a uma mistura de máquinas Windows 7 e XP. Existe uma maneira fácil de saber qual é o tamanho do setor em um disco rígido externo?

sigint
fonte
1
Observe que o tamanho do setor do disco rígido! = Tamanho da unidade de alocação do sistema de arquivos (também conhecido como "cluster"), conforme relatado pelo sistema operacional. O NTFS, por exemplo, usa unidades de alocação do tamanho de 4kB, mas (em HDDs antigos) são compostas por 8 setores de HDD. pt.wikipedia.org/wiki/Allocation_unit
sigint 17/03/10
2
Há mais informações e, eu acho, uma resposta melhor no Stack Overflow para a pergunta Como posso determinar o tamanho do setor no Windows . A sugestão é usar o comandofsutil fsinfo ntfsinfo <volume pathname>
irracional John

Respostas:

12

Executar a wmic partition get BlockSize, StartingOffset, Name, Indexpartir de um prompt de comando do Windows. A saída se parece com:

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

Onde tamanho do bloco é o tamanho do setor da unidade. Infelizmente, não lista a letra da unidade.

Também como eu entendo o artigo , a unidade ainda listará que possui setores de 512 bytes, embora internamente use setores de 4kb. Portanto, a única maneira é obter a folha de especificações da unidade.

shf301
fonte
1
O HDD pode realmente declarar incorretamente o tamanho do bloco para o sistema operacional. No entanto, se eu tentar isso no Win7 (que suporta setores de 4k), ele deverá relatar o tamanho do bloco correto. Pelo menos dessa maneira, posso colocar um adesivo "não use isso no XP sem WDAlign" no disco rígido externo. Quaisquer colegas comentadores com unidades do setor de 4k, compartilhem suas experiências. Obrigado!
sigint 18/03/10
2
A razão pela qual isso realmente não funciona é explicada nesta resposta no Stack Overflow. O tamanho do bloco relatado por esse wmiccomando é aparentemente o tamanho do setor lógico e pode não concordar com o tamanho do setor físico da unidade. A sugestão no SO foi usar o fsutilcomando
irracional John
Esta resposta está errada. wmic partitioninforma sobre a partição, não a unidade, e retorna 512 mesmo quando a unidade se apresenta ao computador host com 4096 bytes por setor lógico ou quando a unidade possui 4096 bytes por setor físico.
balazer 5/01
8

Acabei de verificar isso com o WMIC na minha caixa do Windows XP. Esta é a consulta:

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

O disco externo Toshiba mais recente é relatado como 4096 bytes.

milind110
fonte
wmic DISKDRIVE get bytespersectorinforma o tamanho do setor lógico apresentado ao computador host. O tamanho do setor físico pode ser diferente.
balazer 5/01
2

Eu sei que você não usa Linux, mas apenas para constar:

smartctl -i /dev/...

mostra

Sector Size:      512 bytes logical/physical
Eu n
fonte
1

Você pode fazer isso através de um prompt de comando. Abra o CMD ( Windows+ rdigite cmd) e execute chkdsk driveletter:chkdsk c: Ele será listado como x bytes in each allocation unit.

texto alternativo

Unfundednut
fonte
2
Eu acredito que isso fala sobre o sistema de arquivos, não o próprio disco.
Joey
Isso me ajudou a obter as informações que eu queria. Obrigado.
dimitarvp
outra maneira de obter o tamanho do bloco é salvar um arquivo de texto vazio, clique direito, ver as propriedades e observe o "tamanho no disco" valor (Windows normalmente o padrão é 4k)
nothingisnecessary
As unidades de alocação não estão relacionadas ao tamanho do setor, exceto que uma unidade de alocação deve conter X setores. É o tamanho do cluster que é algo que os sistemas de arquivos do Windows suportam para impedir que o MFT / FAT seja muito grande em relação aos dados reais que você deseja armazenar no dispositivo. Você verá a unidade de alocação de 4k em discos do setor de 512 bytes em todos os lugares.
LawrenceC
1

O Windows XP funciona bem com unidades modernas com 4096 bytes por setor físico. O principal problema é que uma unidade com 4096 bytes por setor físico e 512 bytes por setor lógico (emulação de 512 bytes ou "512e") terá desempenho abaixo do ideal se as partições não estiverem alinhadas com os setores físicos. As ferramentas de particionamento internas do Windows XP não fazem o alinhamento adequado para essas unidades modernas. Para particionar uma unidade com alinhamento adequado, faça o particionamento em um sistema operacional mais recente ou use uma ferramenta moderna de terceiros ou uma ferramenta fornecida pelo fornecedor do disco rígido. Isso é recomendado, independentemente de a unidade usar 512 ou 4096 bytes por setor físico.

Você pode verificar o alinhamento das partições existentes usando o msinfo32 (Windows XP e posterior):

  • msinfo32.exe> ​​Componentes> Armazenamento> Discos> Partição inicial de deslocamento (verifique se é um múltiplo do tamanho do setor físico ou um múltiplo de 1.048.576 bytes para SSDs)

Existem três tamanhos diferentes de setor: o tamanho do setor físico de uma unidade, o tamanho do setor lógico e o tamanho do setor lógico apresentado ao computador host. O tamanho do setor lógico apresentado ao computador host pode ser diferente do tamanho do setor lógico de uma unidade, se a unidade estiver conectada através de uma ponte que faz a conversão do tamanho do setor. As unidades USB externas geralmente convertem de 512 bytes por setor lógico na interface SATA com a unidade dentro do gabinete para 4096 bytes por setor lógico na interface USB com o computador host. Essa tradução permite que o Windows XP use mais de 2 TB de uma unidade .

O fsutil no Windows 10 pode informar o tamanho do setor físico de uma unidade e o tamanho do setor lógico apresentado ao computador host:

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

Para obter os tamanhos do setor lógico e físico de uma unidade SATA atrás de uma ponte USB, você pode passar uma consulta SMART através da ponte para a unidade SATA usando smartctl (incluído no pacote GSmartControl para 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

Nenhuma das ferramentas internas do Windows XP pode obter o tamanho do setor físico de uma unidade. Você precisa usar o smartctl ou uma ferramenta semelhante para consultar a unidade.

Para obter o tamanho do setor lógico de uma unidade, conforme apresentado no computador host:

  • msinfo32.exe> ​​Componentes> Armazenamento> Discos> Bytes / Setor. (funciona no Windows XP e posterior)
  • wmic DISKDRIVE get bytespersector, caption (Funciona apenas no Windows XP)
  • fsutil fsinfo ntfsinfo c: ("Bytes por setor". Funciona no Windows XP e posterior)
  • fsutil fsinfo sectorInfo c: ("LogicalBytesPerSector". Funciona no Windows 10 e posterior)

Muitas unidades USB Western Digital externas com mais de 2 TB podem ser configuradas para compatibilidade com o Windows XP alterando o tamanho do setor lógico apresentado ao computador host.

balazer
fonte
-1

O seu HDD físico terá um tamanho de setor físico definido pelo fabricante (512 ou 4096 no armazenamento mais recente) e, além disso, seu sistema de arquivos cria um tamanho de setor lógico.

Se os dois não estiverem alinhados, você terá lido, modificado, gravado em dois blocos se os dados que você está modificando abrangerem dois blocos.

Para os SSDs, apesar de logicamente funcionarem da mesma maneira no acesso a dados, acredito que seus setores físicos são 1024 (devido à memória flash), portanto, você precisará algn a partição de acordo Align=1024.

Um cara
fonte
2
Isso realmente não aborda a pergunta do autor.
Ramhound 29/08/2012