Recientemente me he encontrado con un pequeño problema al Desfragmentar un fichero grande con el Desfragmentador de disco de Windows XP Service Pack 2.
Durante la realización de mis pruebas con Windows Server 2008, SQL Server 2008 y Visual Studio 2008, preparé una Máquina Virtual sobre Windows XP (como sistema operativo HOST) y Virtual Server 2005 R2 SP1 (como software de virtualización). Esta máquina virtual utiliza un disco VHD de 20GB. Durante las primerar pruebas, notaba que funcionaba algo lento (no mostraba un rendimiento bueno, más bien, un rendimiento malo). Al analizar el disco duro con el Desfragmentador de disco de Windows XP, encontré que dicho fichero, es decir, el fichero correspondiente al disco VHD estaba divido en casi 40.000 fragmentos, algo que podía justificar los 4 minutos que tardaba en arrancarse la máquina virtual. Además, apenas hay poco espacio libre en disco.
Identificado el problema (elevada fragmentación y escaso espacio en disco), ahora tenemos que solucionarlo. Empecé a eliminar imágenes ISO, mover mis maquetas de máquinas virtuales (vamos, ficheros VHD con instalaciones de distintas versiones de Windows, con sysprep realizado, preparados para arrancar el mini-setup y funcionar), máquinas virtuales de pruebas, etc. Finalmente, consigo un espacio libre superior a los 100GB sobre un disco de 150GB.
Ya hemos solucionado el primer problema, el espacio libre en disco. Ahora toca solucionar el problema de la fragmentación. Ejecuto el Desfragmentador de disco de Windows XP y tras un buen rato, me ha desfragmentado muchos ficheros, pero justo el fichero que me interesa, mantiene sus 40.000 fragmentos. Ejecuto de nuevo el Desfragmentador de disco de Windows XP, y aunque me mejora un poco más la fragmentación, el fichero que me preocupa sigue con sus 40.000 fragmentos. Repito la operación múltiples veces, y lo único que consigo, es perder un precioso tiempo, ya que el dichoso fichero sigue con sus 40.000 fragmentos incluso después de Defragmentarlo más de 5 veces (estoy empezando a ponerme bruto ;-).
Finalmente, decido utilizar el Truco del Almendruco: realizar una copia del fichero. Tarda un montón (dícese mazo ;-), pero después de la copia, tengo dos ficheros: el original con sus 40.000 fragmentos, y el nuevo fichero con sólo 8 fragmentos. Toma yaaaa !! cómo se nota que estudié para electricista, coño !!
Ya sólo queda realizar la Prueba del Algodón: arranco mi ansiada máquina virtual, y el tiempo de inicio ahora es inferior a 2 minutos (frente a los 4 minutos antes de la desfragmentación), lo cual, teniendo en cuenta el estado de la estación de trabajo que tengo, el software de antivirus, etc., está muy pero que muy bien. Así es el Problema de la Fragmentación !
Por último, sólo comentar que el equipo del que hablo, era un equipo de un Cliente, es decir, no tenía suficientes permisos para detener el Antivirus (McAfee Viruscan, en particular), ni otros servicios que pudieran entorpecer éste trabajo (y además montaba Lotus Notes !! que estómago ufffff ;-).
Ale... Una vez más, espero que os sirva... ah disfrutá !!