Como você desfragmenta a MFT em um disco NTFS?

28

Há algum tempo, quase enchei meu disco rígido, muito mais do que o máximo recomendado de 85% de capacidade. Eu acredito que o NTFS começou a armazenar arquivos no espaço reservado para a tabela de arquivos mestre (MFT) e a MFT teve que fragmentar em outro lugar à medida que crescia. Eu liberei espaço no disco rígido, mas a MFT aparentemente permanece fragmentada, e há muito acesso ao disco lento até mesmo para operações muito simples, como abrir uma pasta ou um arquivo pequeno. Isso está matando o desempenho. Lembro que o desfragmentador de disco padrão do Windows não desfragmenta a MFT porque a MFT está em uso quando o sistema operacional está em execução. Estou executando o Vista Ultimate e seu utilitário de desfragmentação tem muito pouco em termos de relatórios, menos do que versões mais antigas.

Eu suspeito que uma solução pode envolver a inicialização de um disco ótico com um sistema operacional básico ("Live CD") e a execução de um utilitário de desfragmentação a partir dele. Alguém pode me dizer qual programa usar ou como desfragmentar minha MFT?

Obrigado!

    
por WBT 28.07.2011 / 01:29

4 respostas

34

Você pode usar a ferramenta Sysinternals Contig :

contig.exe c:\$mft
    
por 07.11.2012 / 21:56
14
O Auslogics Disk Defrag Pro fará isso para você. Embora não seja um programa gratuito, você pode fazer o download de uma avaliação gratuita e, se decidir comprar, a licença estará disponível para uso em até três computadores.

Ultradefrag é gratuito e poderoso FOSS ferramenta de desfragmentação para a plataforma Windows. Pode desfragmentar qualquer arquivo de sistema inclusive hives de registro e arquivo de paginação. Inclui otimização MFT, que processa somente a MFT.

    
por 25.12.2012 / 19:08
6

Melhor ferramenta de longe foi o antigo JKdefrag, agora Mydefrag. Vai defrag a MFT. Além disso, é grátis.

O site original está desativado, mas pode-se obter uma fonte para obter a versão mais recente: link

editar

A API do Windows Defrag , usada pelo MyDefrag, suporta desfragmentar a MFT.

Following are the system file, stream, and stream types supported by FSCTL_MOVE_FILE in "filename:streamname:$typename" format.

$MFT::$DATA $MFT::$ATTRIBUTE_LIST $MFT::$BITMAP

E a documentação do script do MyDefrag:

Inode   Filename    Description
0   $MFT    Master File Table - An index of every file.
1   $MFTMirr    A backup copy of the first 4 records of the MFT.
2   $LogFile    Transactional logging file.
3   $Volume Serial number, creation time, dirty flag.
4   $AttrDef    Attribute definitions.
6   $Bitmap Contains volume's cluster map (in-use vs. free).
7   $Boot   Boot record of the volume.
8   $BadClus    Lists bad clusters on the volume.
9   $Quota  [Windows NT only] Quota information.
9   $Secure Security descriptors used by the volume.
10  $UpCase Table of uppercase characters used for collating.
11  $Extend A directory for: $ObjId, $Quota, $Reparse, $UsnJrnl.
$Extend\$ObjId  Unique Ids given to every file.
$Extend\$Quota  Quota information.
$Extend\$Reparse    Reparse point information.
$Extend\$UsnJrnl    USN Journal.
$Extend\$RmMetadata Transactional data.

Embora não seja executado em um Live CD, ele será executado no Bart PE ou no Ultimate CD de inicialização do Windows .

Mas não é necessário desfragmentar a MFT.

    
por 28.07.2011 / 01:41
5

Estes passos funcionaram para mim:

  1. Execute o MiniXP no BootCD do Hiren .
  2. Desative a hibernação , a memória virtual e o despejo de memória do kernel.
  3. Siga as instruções descritas neste link (use o fsutil).
  4. Execute o MyDefrag no MiniXP com a opção "Consolidar espaço livre".
  5. Inicie o Windows novamente e agora você pode diminuir sua partição.
por 25.12.2012 / 15:30