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!


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

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.


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.


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.

-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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.