¿Cómo se desfragmenta la MFT en un disco NTFS?

28

Hace un tiempo, casi llené mi disco duro, mucho más que el máximo recomendado de 85% de capacidad. Creo que NTFS comenzó a almacenar archivos en el espacio reservado para la Master File Table (MFT) y la MFT tuvo que fragmentarse en otros lugares a medida que crecía.
He despejado espacio en el disco duro, pero la MFT aparentemente permanece fragmentada, y hay mucho acceso lento al disco incluso para operaciones muy simples como abrir una carpeta o un archivo pequeño. Esto está matando el rendimiento. Recuerdo que el desfragmentador de disco estándar de Windows no desfragmenta la MFT porque la MFT está en uso cuando el sistema operativo se está ejecutando. Estoy ejecutando Vista Ultimate y su utilidad de desfragmentación tiene muy pocos informes, menos que las versiones anteriores.

Sospecho que una solución podría implicar arrancar desde un disco óptico con un sistema operativo básico ("Live CD") y ejecutar una utilidad de desfragmentación a partir de eso. ¿Alguien puede decirme qué programa usar o cómo desfragmentar mi MFT?

¡Gracias!

WBT
fuente
1
No es gratis, pero sé que Disckeeper puede manejar esto.
Zoredache

Respuestas:

35

Puede usar la herramienta Sysinternals Contig :

contig.exe c:\$mft
Dmitri Sologoub
fuente
2
No funciono para mi. UltimateDefrag muestra que $ MFT de una partición sin sistema está fragmentado, pero contig dice "Todos los archivos ya estaban desfragmentados o no se pudieron desfragmentar". De todos modos, realmente no sé por qué hay $ MFT allí.
Yuri Ghensev
15

Auslogics Disk Defrag Pro logrará esto por usted. Si bien no es un programa gratuito, puede descargar una versión de prueba gratuita y, si decide comprar la licencia, está disponible para su uso en hasta tres PC.

Ultradefrag es una herramienta de desfragmentación FOSS gratuita y potente para la plataforma Windows. Puede desfragmentar cualquier archivo del sistema, incluidas las colmenas de registro y el archivo de paginación. Incluye la optimización MFT, que procesa solo la MFT.

Simon
fuente
3
+1 Ultradefrag me hizo milagros con un testarudo $ MFT que incluso Contig(que recibió tantos votos positivos aquí) no pudo vencer
BornToCode
@BornToCode ¿Alguna forma de hacer que Ultradefrag no mueva archivos al final de la partición cuando optimiza la MFT?
RockPaperLizard
1
@RockPaperLizard: no lo sé, pero la alternativa a no mover esos pocos archivos al final es cambiar todos los demás archivos del disco. Puede intentar ejecutar Windows Defrag o Diskeeper normales después de Ultradefrag; Sin embargo, tenga en cuenta que ordenar cada archivo por la cantidad de veces que se use será una operación de larga duración que se desmoronará la próxima vez que inicie un navegador web.
KeithS
Tenga en cuenta que ahora deberá seguir el enlace de descarga a las "versiones anteriores", ya que la versión actual 8 ya no es FOSS.
Trlyly
6

La mejor herramienta fue el viejo JKdefrag, ahora Mydefrag. Desfragmentará la MFT. Además, es gratis.

El sitio original está caído, pero se puede obtener la última versión aquí: https://www.techspot.com/downloads/3720-jkdefrag-mydefrag.html

editar

La API de Windows Defrag , utilizada por MyDefrag, admite la desfragmentación de la MFT.

Los siguientes son los tipos de archivo, flujo y flujo del sistema admitidos por FSCTL_MOVE_FILE en el formato "nombre de archivo: nombre de flujo: $ typename".

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

Y la documentación del script de 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.

Si bien no se ejecutará en un Live CD, se ejecutará en Bart PE o Ultimate Windows BootCD .

Pero tampoco es necesario desfragmentar el MFT.

surfasb
fuente
Sí, esto. Creo que la API de desfragmentación se cambió con Vista, por lo que ni siquiera necesita reiniciar.
Hydaral
1
MyDefrag solo se ejecuta en Windows; no puede ejecutarlo desde un LiveCD de código abierto. Afirma que solo elimina archivos del espacio MFT reservado, no desfragmenta la MFT si ya está fragmentada. ¿Hay otro programa [que se publicará como una respuesta diferente] que pueda desfragmentar el MFT?
WBT
Está usted equivocado. No es explícito porque la API Defrag admite la defraudación de la MFT. Además, puede verificar los scripts de MyDrag.
surfasb
el sitio ahora es: mydefrag.net
Randall Flagg
jkdefrag y mydefrag ahora están muertos: mydefragGUI todavía se puede descargar en mydefrag.net como muestra el comentario anterior, pero no ha habido ninguna actualización desde 2009
thomasrutter
5

Estos pasos me funcionaron:

  1. Ejecute el MiniXP en Hiren's BootCD .
  2. Deshabilite la hibernación , la memoria virtual y el volcado de memoria del kernel.
  3. Siga las instrucciones descritas en este enlace (use el fsutil).
  4. Ejecute MyDefrag en MiniXP con la opción "Consolidar espacio libre".
  5. Inicie Windows nuevamente y ahora puede reducir su partición.
gagallo7
fuente
-1

hay una opción en ultimatedefrag que proporciona una desfragmentación de tiempo de arranque, sin embargo, no funcionó para mí, pero espero que funcione para usted

ultimatedefrag> herramientas> configuración ...> tiempo de arranque

seleccione la unidad que desea, lleva un tiempo analizar la unidad. cuando termine de analizar, puede ajustar la ubicación del archivo mft, pero recomiendo dejarlo como está (si lo cambió, hay un botón para dejarlo en reposo). luego alternar la opción Ejecutar durante el próximo inicio y simplemente reiniciar la PC

para mí se acumula al 24% cada vez y luego inicia las ventanas sin defraudar el archivo, pero espero que funcione para usted. comparte tu experiencia también

abbas guapo
fuente