Como criar uma tabela de partições em uma unidade com um sistema de arquivos ocupando toda a unidade?

1

Eu tenho um disco rígido de 4 TB / dev / sdb, que tem um sistema de arquivos NTFS formatado ocupando toda a unidade. Aparentemente não tem nenhuma tabela de partições ou, se estiver, está desatualizada ou corrompida.

fdisk -l mostra isso:

Disk /dev/sdb: 4000.8 GB, 4000787030016 bytes
255 heads, 63 sectors/track, 486401 cylinders, total 7814037168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x2052474d

This doesn't look like a partition table
Probably you selected the wrong device.

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   ?     6579571  1924427647   958924038+  70  DiskSecure Multi-Boot
Partition 1 does not start on physical sector boundary.
/dev/sdb2   ?  1953251627  3771827541   909287957+  43  Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb3   ?   225735265   225735274           5   72  Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb4      2642411520  2642463409       25945    0  Empty

Partition table entries are not in disk order

gdisk -l diz que apenas uma tabela de partições MBR está presente.

O drive funciona bem quando executado no Linux; Eu posso montar / dev / sdb sem problemas. Mas eu quero carregar a unidade usando um gabinete de disco rígido em uma máquina com Windows para que eu possa executar chkdsk nela. No entanto, o Windows vê esse MBR como mostrado no fdisk e mostra 4 partições, nenhuma das quais é utilizável (nenhuma é marcada como NTFS).

É possível simplesmente escrever uma tabela de partição nesta unidade sem alterar o conteúdo do sistema de arquivos NTFS, para que o Windows 7 possa acessá-la como uma única partição ocupando toda a unidade? Se sim, como?

Editar: Se não for possível simplesmente escrever uma tabela de partições, existe algum método não destrutivo para atingir o mesmo objetivo de usar a unidade no Windows, talvez diminuindo o tamanho do sistema de arquivos em alguns kilobytes e depois escrevendo uma tabela de partições? (isto é, com gparted ).

    
por jtbr 16.04.2017 / 07:36

2 respostas

3

Nesta situação particular você não pode escrever MBR nesta unidade porque você perderá todos os dados nela. A melhor maneira seria copiar todos os dados em outro lugar e, em seguida, particionar a unidade no Windows com diskmgmt.msc.

    
por 16.04.2017 / 07:42
0

Em princípio, você poderia fazer algo assim:

  1. Use ntfsresize para reduzir o sistema de arquivos existente em uma pequena quantidade (em teoria, 2081 setores devem ser suficientes, mas eu faria pelo menos 2 MiB apenas para estar seguro).
  2. Mude o sistema de arquivos "para" o disco por um valor fixo. 1 MiB deve ser ótimo. Essa é a parte complicada, já que você estaria lendo e gravando no mesmo dispositivo, e é imperativo que isso seja feito de uma maneira que não substitua os dados antes de serem copiados. Em outras palavras, você teria que copiar a partir do final do sistema de arquivos, ao invés da abordagem mais comum de fazê-lo desde o início. De improviso, eu não sei de uma ferramenta que faça isso, além de ferramentas de redimensionamento de partição como GParted - e AFAIK, todas essas ferramentas exigem que uma tabela de partição esteja presente. Um script que usa dd para fazer isso seria possível, e não muito difícil de escrever, mas exigiria testes cuidadosos.
  3. Crie uma tabela de partições no disco junto com uma única partição que comece no novo ponto inicial do sistema de arquivos e que termine onde o sistema de arquivos termina.

A menos que você encontre uma ferramenta que execute a etapa 2 com algo parecido com segurança, copiar os dados do disco, criar partições e restaurar os dados, como sugere pbies, provavelmente será a melhor solução. Isso pode até ser mais rápido do que tentar mudar todo o sistema de arquivos também, particularmente se o sistema de arquivos estiver quase vazio. Mesmo que você encontre uma ferramenta para executar a etapa 2 (ou todo o procedimento) de uma só vez, recomendo enfaticamente criar um backup antes de continuar, já que o procedimento que descrevi aqui é bastante perigoso.

Como um comentário lateral, parece que você está usando este disco NTFS exclusivamente no Linux. Você descobriu uma razão convincente para não fazer isso: as ferramentas de manutenção do NTFS do Linux são rudimentares na melhor das hipóteses. Se você planeja acessar os dados exclusivamente do Linux, recomendo que você faça backup, crie partições, crie sistemas de arquivos nativos do Linux e restaure os dados para o novo sistema de arquivos nativo do Linux (s) Isso lhe dará uma melhor capacidade de reparar os danos do sistema de arquivos dentro do Linux, sem envolver o Windows.

    
por 17.04.2017 / 20:14