Como você desfragmenta a MFT em um disco NTFS?

28

Há um tempo atrás, quase enchi meu disco rígido, muito mais do que o máximo recomendado de 85% da capacidade. Acredito que o NTFS começou a armazenar arquivos no espaço reservado para a MFT (Master File Table) e a MFT teve que se fragmentar em outro lugar à medida que crescia.
Limpei o espaço no disco rígido, mas a MFT aparentemente permanece fragmentada, e há muito acesso lento ao disco para operações muito simples, como abrir uma pasta ou 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 que as versões mais antigas.

Eu suspeito que uma solução possa envolver a inicialização de um disco óptico 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!

WBT
fonte
1
Não é gratuito, mas eu sei que o Disckeeper pode lidar com isso.
precisa

Respostas:

35

Você pode usar a ferramenta Sysinternals Contig :

contig.exe c:\$mft
Dmitri Sologoub
fonte
2
Não funcionou para mim. UltimateDefrag mostra que $ MFT de uma partição que não é do sistema está fragmentada, mas o contig diz "Todos os arquivos já foram desfragmentados ou não podem ser desfragmentados". Enfim, eu realmente não sei por que há $ MFT lá.
Yuri Ghensev
15

O Auslogics Disk Defrag Pro fará isso para você. Embora não seja um programa gratuito, você pode baixar uma avaliação gratuita e, se decidir adquirir a licença, estará disponível para uso em até três PCs.

O Ultradefrag é uma ferramenta de desfragmentação livre e poderosa do FOSS para a plataforma Windows. Ele pode desfragmentar qualquer arquivo do sistema, incluindo as seções do registro e o arquivo de paginação. Inclui a otimização da MFT, que processa apenas a MFT.

Simon
fonte
3
+1 UltraDefrag fez milagres para mim com um $ MFT teimosa que, mesmo Contig(que tem tantos upvotes aqui) não poderia derrota
BornToCode
@BornToCode Alguma maneira de fazer com que o Ultradefrag não mova arquivos para o final da partição quando otimiza a MFT?
RockPaperLizard
1
@RockPaperLizard - Eu não sei, mas a alternativa para não mover esses poucos arquivos para o final é mudar todos os outros arquivos no disco. Você pode tentar executar o Windows Defrag ou Diskeeper comum após o Ultradefrag; lembre-se, no entanto, que ordenar cada arquivo quantas vezes ele será usado será uma operação de longa duração que será desfeita na próxima vez que você iniciar um navegador da web.
Keiths
Observe que agora você precisará seguir o link de download para as "versões antigas", pois a versão atual 8 não é mais o software livre.
trlkly 1/09
6

A melhor ferramenta de longe foi o antigo JKdefrag, agora Mydefrag. Irá desfragmentar a MFT. Além disso, é grátis.

O site original está fora do ar, mas é possível obter a versão mais recente para obter a versão mais recente: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

editar

A API de desfragmentação do Windows , usada pelo MyDefrag, suporta a desfragmentação da MFT.

A seguir, estão os tipos de arquivo, fluxo e fluxo do sistema suportados pelo FSCTL_MOVE_FILE no formato "filename: streamname: $ typename".

$ 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 Windows BootCD .

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

surfasb
fonte
Sim isso. Eu acredito que a API de desfragmentação foi alterada com o Vista, então você nem precisa reiniciar.
Hydaral 28/07
1
MyDefrag é executado apenas no Windows; você não pode executá-lo a partir de um LiveCD de código aberto. Ele afirma remover apenas os arquivos do espaço reservado da MFT, não desfragmentar a MFT se ela já estiver fragmentada. Existe outro programa [a ser postado como uma resposta diferente] que pode desfragmentar a MFT?
WBT
Você está errado. Não está explícito porque a API Defrag suporta a desfragmentação da MFT. Além disso, você pode verificar os scripts MyDrag.
Surfasb 28/08
o site é agora: mydefrag.net
Randall Flagg
JkDefrag e MyDefrag agora estão mortos - mydefragGUI ainda pode ser baixado em mydefrag.net como o comentário mostra acima, mas não houve nenhuma atualização desde 2009
thomasrutter
5

Essas etapas funcionaram para mim:

  1. Execute o MiniXP no BootCD de Hiren .
  2. Desativar hibernação , memória virtual e 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 reduzir a partição.
gagallo7
fonte
-1

existe uma opção no ultimatedefrag que fornece uma desfragmentação no tempo de inicialização, no entanto, não funcionou para mim, mas espero que funcione para você

ultimatedefrag> ferramentas> configurações ...> tempo de inicialização

selecione a unidade desejada, demore um pouco para analisá-la. Quando terminar de analisar, você pode ajustar o local do arquivo mft, mas eu recomendo deixá-lo como está (se você o tiver alterado, existe um botão para colocá-lo no padrão). alterne a opção Executar durante a próxima inicialização e reinicie o computador

para mim, ele empilha em 24% todas as vezes e depois inicializa as janelas sem desfragmentar o arquivo, mas espero que funcione para você. compartilhe sua experiência também

abbas bonito
fonte