Las preguntas más difíciles. ¿Por qué tenemos sueños?

Un buen (o triste, según a quién elijas) día, estaba cansado de quedarme periódicamente sin espacio en mi computadora portátil. Sí, soy consciente de que discos duros Ahora son baratos, pero esta no es una opción para mí porque:

  • Tengo un SSD, pero seguirá siendo más caro que discos duros normales(el volumen de mi SSD actual es de 120 gigas)
  • La computadora portátil está funcionando, por lo que los datos que contiene también deben estar encriptados y todo eso, por lo que no debe conectar un dispositivo hecho en casa que no esté aprobado por su empleador.
  • soy codicioso :)
Este tema probablemente esté pensado y pueda ser útil para aquellas personas que estén preocupadas. espacio libre en disco del sistema, medios habituales Ya se ha probado la limpieza, pero quiero exprimir un poco más (como en el viejo chiste, el primer enlace al chiste que aparece en Google, si el sitio es malo, lo siento).

En general, a veces limpio espacio en el disco. Procedimientos estándar- limpieza de %TEMP%, limpieza del disco (borra todo tipo de informes de errores enterrados por el sistema por si acaso, todo tipo de volcados de memoria de procesos caídos, etc.), demolición de programas que ya no son necesarios.
Sin embargo, según descubrí, hay carpetas que no limpia. nadie(de la palabra completamente). Bueno, en el sentido de medios estándar. Y ahora quiero hablar de la carpeta %WINDIR%\System32\DriverStore.

Si esta carpeta ocupa mucho espacio para usted y no desea leer la publicación completa, vaya hasta el final, hay enlaces a github donde puede obtener resultado final mi investigación e intento exprimir (o exprimir) un poco de espacio de Windows.

Introducción al problema: qué tipo de carpeta es esta, por qué es necesaria, quién tiene la culpa, qué hacer

Si buscas en Internet, descubrirás que este es el lugar donde el sistema almacena en reserva todos los controladores que ha encontrado en su camino. Sí, sí, y los que se instalaron en tu tarjeta de video hace tres años también están ahí, a pesar de que los actualizaste muchas, muchas veces.

Déjame darte una pequeña teoría de ese mismo MSDN:

comenzando con WindowsVista,el tienda de conductores es una colección confiable de paquetes de controladores de terceros y de bandeja de entrada. El Sistema operativo mantiene esta colección en un lugar seguro en el sitio web disco duro. Sólo los paquetes de controladores del almacén de controladores se pueden instalar para un dispositivo.

Cuando se copia un paquete de controladores en el almacén de controladores, se copian todos sus archivos. Esto incluye el archivo INF y todos los archivos a los que hace referencia el archivo INF. Todos los archivos que se encuentran en el paquete del controlador se consideran críticos para la instalación del dispositivo. El archivo INF debe hacer referencia a todos los archivos necesarios para la instalación del dispositivo para que estén presentes en el almacén de controladores. Si el archivo INF hace referencia a un archivo que no está incluido en el paquete del controlador, el paquete del controlador no se copia en la tienda.

El proceso de copiar un paquete de controladores al almacén de controladores se denomina preparación. Se debe almacenar un paquete de controladores en el almacén de controladores antes de poder utilizarlo para instalar cualquier dispositivo. Como resultado, la puesta en escena del conductor y dispositivo La instalación son operaciones separadas.

Un paquete de conductor se envía a la tienda de conductores después de ser verificado y validado.

En mi traducción libre sería algo como:

En Windows Vista y versiones posteriores, la Tienda de controladores se utiliza como una colección de archivos confiables preinstalados y conductores de terceros. El sistema operativo mantiene esta colección en una ubicación segura en disco local. Sólo se pueden instalar aquellos controladores que se encuentran en el repositorio.

Cuando se copia un controlador al almacenamiento, todos sus archivos van allí, incluido. archivo INF y todos los archivos a los que hace referencia este .INF. Todos los archivos que componen el controlador se consideran necesarios para el funcionamiento del dispositivo. El archivo INF debe hacer referencia a todos los archivos necesarios para que el dispositivo funcione para que todos terminen almacenados. Si el archivo .INF hace referencia a un archivo que no está incluido en el controlador, ese controlador no se copia en el almacén.

El proceso de copiar un controlador al almacenamiento se llama preparación ( No intenté inventar un término, lo dejé. palabra inglesa- aprox.). Para que un controlador pueda usarse para un dispositivo, debe pasar por un proceso de preparación, por lo que instalar el dispositivo y preparar el controlador son operaciones separadas.

Antes de ingresar al almacenamiento, se verifica la validez de la firma y la integridad de los archivos del controlador.

¿Es realmente tan malo y nadie va a ayudar?

Parece un poco aterrador entrar con las manos sucias, ¿no? Sin embargo, hay una pequeña (y no muy conveniente) pajita de Microsoft, se llama pnputil.exe y puede:
  • Enumere los controladores que están en preparación (pero que no están incluidos en la distribución estándar de su Windows, es decir, no están integrados en la distribución de instalación)
  • Agregar un controlador al repositorio
  • Eliminar el controlador del almacenamiento
Además, al desinstalar, comprueba si el controlador que se está eliminando no se utiliza en en este momento para algún dispositivo conectado, y sin la opción /f (es decir, /force - force), se niega a eliminar dichos controladores.
Usé esta utilidad.

Cabe mencionar aquí que no soy la primera persona inteligente que piensa en este problema; hay un proyecto en Codeplex; aplicación GUI DriverStore Explorer, pero en realidad es sólo un contenedor gráfico alrededor de pnputil y no analiza los controladores de ninguna manera, proporcionando completa libertad a su usuario.
Primero que nada, tengo que buscar manualmente. versiones obsoletas No me gustaban mucho los controladores y, en segundo lugar, quería entender qué ganaría eliminando tal o cual controlador (en términos de espacio en disco). Así que aquí había un síndrome en toda regla.
Entonces tomé Python y nos vamos.

¡Hurra, construyamos nuestra propia bicicleta!

Mirando de cerca, descubrí que para encontrar la versión más reciente, hay suficientes datos de pnputil, pero para determinar el tamaño, no, porque pnputil dice sobre el controlador lo siguiente: quién lo hizo, cuándo, la versión y nombre del archivo INF. No dice cuál de las muchas carpetas en DriverStore pertenece a este controlador.
Después de mirar aún más de cerca la carpeta %WINDIR%\Inf, encontré allí los mismos archivos .INF (por nombre) que enumera pnputil, y mirando las carpetas en DriverStore, encontré allí... los mismos archivos .INF , pero con nombres diferentes, cada uno en una carpeta de su propio controlador.
Seguramente hay una forma más sencilla, pero seguí adelante: construí una asignación a partir del nombre del archivo .INF en la salida de pnputil a la carpeta en DriverStore, que contiene el mismo contenido del archivo .INF (con un nombre diferente). . Y tomé el tamaño de esta carpeta como el tamaño del controlador.

Ahora todo lo que quedaba por hacer era envolverlo todo en scripts para una fácil ejecución.
En el camino, sin embargo, hubo una configuración en forma de UAC: pnputil solo trabajaba con derechos de administrador, lo que significa que fue necesario aumentar los privilegios de Python. Una búsqueda rápida en Google arrojó varias recetas que decían algo como "puedes hacerlo de esta manera, pero no habrá resultados (y mucho menos entradas), no tengo idea de cómo lo depurarás", y eso no me convenía, así que Lo modifiqué algunos pequeños ejemplos.
Es cierto que mi implementación actualmente no es ideal: fallará al intentar redirigir stdout o stderr, porque internamente uso el concepto de consola de Windows y esto no funciona para transmisiones redirigidas...
Pero por ahora hice la vista gorda ante esto, porque para solucionarlo es necesario instalar un mecanismo un poco más complejo que llamar a FreeConsole/AttachConsole, es decir. redirigir manualmente todos los flujos.

Probemos lo que está escrito en la práctica.

Y ahora, de hecho, lo que más nos deleita son los resultados de todo este calado del texto. Puede tomarlo y usarlo bajo su propio riesgo y riesgo, puede intentar hacer el bien y dañar el código fuente (licencia MIT, sí). Incluso puedes agradecerme en los comentarios si estos scripts ayudan a alguien :)

Si está descargando una versión binaria (el intérprete está cableado en el interior), elija la que coincida con la profundidad de bits del sistema operativo (la versión de 32 bits en un sistema operativo de 64 bits no encontrará pnputil y, en consecuencia, no funcionará ... si realmente lo necesitas, escribe, puedes intentar evitarlo).
Si elige la versión script, de manera similar, deberá ejecutarla con un intérprete con la capacidad de bits del sistema operativo.

Personalmente probé esto en dos computadoras con Windows 7, en teoría debería funcionar en Vista y 8. En WinXP debería ser (más o menos) inútil.
El script analizará el almacenamiento de los controladores, intentará encontrar versiones obsoletas de los controladores (es decir, aquellas para las que se está preparando simultáneamente una versión más nueva) y ofrecerá eliminarlas, dando una estimación del espacio ocupado por los controladores (y una estimación de las ganancias). , por supuesto también).

Resultado en mi laptop
Personalmente, logré exprimir unos 6 gigabytes (!), principalmente eliminando versiones antiguas de los controladores de la tarjeta de video NVidia.
En otra computadora portátil, todo resultó no ser tan color de rosa, logramos borrar solo 200 (en mi opinión) megabytes, pero allí el sistema vivió mucho menos que el mío y simplemente no tuvo tiempo de acumular muchos controladores.

Ambos portátiles han vivido una vida plena desde entonces, en el sentido de que no he notado ningún problema de limpieza.

Si has leído hasta aquí, ¡gracias por tu atención!

Epílogo

Como era de esperar, resultó que los scripts de limpieza no siempre funcionan, el principal problema es si Windows no habla inglés (de alguna manera no pensé que las utilidades estarían localizadas). Esto es lo que arreglaré. La mayor parte de los problemas deberían solucionarse, consulte

Casi todos los usuarios conectan un teléfono, tableta, lector, unidades flash y discos duros externos. Al trabajar con estos dispositivos, Windows instala sus controladores. Después de su uso, no se eliminan de la computadora (es decir, se acumulan gradualmente) y, al igual que los archivos temporales, entradas innecesarias en el registro saturan el sistema.

Además de esto, si los dispositivos se desconectan de Puerto USB incorrectamente (sacado sin apagado del software función "Extraer"), luego controladores instalados no sólo permanecen en el sistema, sino que también continúan funcionando. Por eso a menudo se convierten en la causa. conflicto de software mientras conecta otro dispositivo USB (el sistema “no ve” el dispositivo, da errores, se congela).

Este artículo le ayudará a evitar todos estos problemas: le dirá cómo eliminar completamente el controlador de una unidad o dispositivo USB no utilizado del sistema operativo y cómo desinstalar automáticamente todos los controladores USB.

Eliminación con medios estándar.

Limpieza de superficies

1. Abra el menú Inicio.

2. Haga clic clic derecho mouse en el panel "Computadora" que aparece. De la lista de comandos, seleccione "Propiedades".

3. En la columna de la izquierda, haga clic en "Administrador de dispositivos".

4. En la ventana del despachador, en menú horizontal, abra la sección Ver y haga clic en Mostrar dispositivos ocultos».

5. Abra el directorio "Controladores USB".

6. Elimine un controlador antiguo o no utilizado: haga clic derecho en su nombre → haga clic en "Eliminar".

limpieza profunda

1. Mantenga presionada la tecla Win y presione la tecla Pausa/Pausa. O abra: Inicio → haga clic con el botón derecho en Computadora → Propiedades.

2. En la ventana que se abre, en el panel izquierdo, haga clic en " Opciones adicionales sistemas."

3. En la pestaña Avanzado, haga clic en el botón Variables de entorno».

4. En el bloque superior, haga clic en "Crear".

5. En la ventana Nueva variable de usuario:

  • en la línea "Nombre de la variable", ingrese - devmgr_show_nonpresent_devices;
  • en “Valor variable” - 1.

6. Haga clic en Aceptar en el panel Variable y en la ventana Variables de entorno.

7. Regrese a la ventana de propiedades del sistema (Win+Break) y haga clic en "Administrador de dispositivos".

8. En el administrador, abra: Ver → Mostrar oculto…

9. Haga clic en el botón “Actualizar configuración...” (el último del panel).

10. Iconos controladores no utilizados en el despachador están coloreados gris(es decir, puede eliminar este controlador). Abra los siguientes directorios uno por uno y elimine elementos innecesarios(haga clic derecho en el nombre → Eliminar):

Controladores de dispositivos que no son plug and play

¡Consejo! En este directorio también puede eliminar controladores antiguos, instalado por programas que ya han sido desinstalados de Windows (por ejemplo, el paquete de firewall Comodo).

Esta sección de dispositivos muestra los controladores instalados para unidades flash, lectores y discos duros. Los iconos de objetos transparentes indican que no están en uso (no conectados). Esto significa que puedes deshacerte de ellos de forma segura.

11. Una vez completada la limpieza, reinicie su PC.

Eliminación automática mediante la utilidad USBDeview

1. Copiar a barra de direcciones navegador este enlace: http://www.nirsoft.net/utils/usb_devices_view.html#DownloadLinks (sitio web oficial de la utilidad). Y luego presione "ENTRAR".

2. En la página que se abre:

  • si tiene un sistema de 32 bits, haga clic en el primer enlace "Descargar USBDeview";
  • si es 64-x, el segundo - "... para sistemas x64".

3. Descomprima el archivo descargado: haga clic derecho sobre él → seleccione “Extraer todo...” → en la ventana “Descomprimir...”, haga clic en “Extraer”.

4. Abra la carpeta descomprimida. Ejecutar con derechos de administrador archivo ejecutable USBDeview.

5. La ventana de la utilidad muestra una lista de todos los controladores instalados en el sistema. Los elementos deshabilitados están marcados con “chips” rojos.

Para eliminar un controlador de Windows, selecciónelo con un clic del mouse y luego haga clic en el icono "Papelera" en el panel USBDeview. O haga clic derecho sobre él y seleccione en menú contextual"Desinstalar dispositivos seleccionados".

Nota. Además de la función de eliminación, USBDeview permite al usuario habilitar/deshabilitar el controlador y ver sus propiedades.

Eliminación de todos los controladores de dispositivos USB

La limpieza global del controlador se puede realizar utilizando la utilidad DriveCleanup (enlace de descarga: http://uwe-sieber.de/files/drivecleanup.zip).

1. Desempaquete el archivo descargado en su computadora.

2. Si tiene Windows de 32 bits, abra la carpeta “Win32”; si tiene 64 bits, abra la carpeta “x64”.

3. Ejecute el archivo "DriveCleanup" como administrador.

Una vez iniciada, la utilidad realizará la limpieza automáticamente. Al finalizar el procedimiento (cuando aparezca el mensaje “Presione cualquier clave") presione cualquier tecla.

¡Buena suerte configurando el sistema!

Los instalamos allí. Vamos a resolverlo aquí cómo eliminar el controlador. Entonces, un controlador es un programa intermediario entre el hardware y el sistema operativo, ayudando a este último a utilizar correctamente todas las funciones del dispositivo. El propio controlador para sistemas operativos. sistemas windows consta de dos partes: el archivo inf y archivos del sistema dll, sys y otros. archivo INF tipo de texto y contiene instrucciones sobre qué archivos deben usarse y cómo.

Todo este sistema funciona de manera estable hasta que surjan situaciones con la reinstalación del controlador. Esto suele ocurrir al actualizar un controlador o instalar otro hardware. Por ejemplo, tarjetas de video. En estas situaciones, primero debe eliminar viejo conductor completamente e instale otro o más nueva versión. Programas como CCleaner y similares no nos ayudarán, ya que no tienen funciones necesarias. En este artículo le diremos cómo eliminar un controlador utilizando una utilidad especialmente diseñada para este propósito. barrendero conductor. La utilidad ya no cuenta con el respaldo del fabricante, pero sigue siendo la mejor en su negocio. También consideraremos a su sucesor, según las promesas, nada menos que programa efectivo- Fusión del controlador

Como ya se mencionó, el fabricante no admite esta utilidad y no podrá descargarlo del sitio web oficial. El instalador pesa 5,2 MB. Sugiero descargarlo rápidamente desde el siguiente enlace.

  • DriverSweeper_3.2.0.exe - .

Descarga e instala el programa. La instalación es sencilla. Solo necesita negarse a instalar Instagrille en la ventana a continuación y hacer clic Siguiente >

El programa ha sido instalado. ahora es necesario medios estándar eliminar ventanas software, por ejemplo, un controlador para una tarjeta de video. (Cómo elegir adaptador de gráficos se puede leer.) Esto se hace en la sección "Desinstalar programas" del panel de control.

Una vez retirados los controladores, procedemos a la limpieza.

EN este modo Los programas de la carpeta y muchos controladores no se cargan, por lo tanto, existe la posibilidad. eliminación completa los conductores aumentan. Para iniciar en modo seguro, después de presionar el botón de encendido en la computadora, debe presionar la tecla F8. Aparecerá una ventana con una selección de opciones de descarga. Debes seleccionar el de arriba modo seguro y presione Entrar.

Inicie el programa de desinstalación conductores Barrendero.

El programa predeterminado es Inglés. Pasemos al ruso. Para hacer esto en el campo Opciones seleccione una sección Idioma. A continuación a la derecha, en la lista desplegable, seleccione idioma requerido. Para cambiar la configuración, haga clic en el botón de abajo Aplicar

Luego, a la izquierda seleccione Análisis y purificación.. A la derecha, seleccione las casillas de verificación de los controladores que deben eliminarse y haga clic en el botón en la parte inferior derecha. Análisis. En mi caso, eliminaré los controladores antiguos de la tarjeta de video AMD.

El programa buscará la información restante y nos la mostrará. Estamos obligados a presionar un botón. Limpieza

Driver Sweeper emitirá una advertencia. Hacer clic DE ACUERDO

Tienes que esperar un poco. Luego, el programa le pedirá que reinicie su computadora. Haga clic en Aceptar y reinicie.

Esto completa el procedimiento de eliminación del controlador.

¡Hola queridos visitantes! Decidí escribir una nota breve pero útil y contarte cómo eliminar el controlador. La computadora es algo impredecible, por lo que cualquier cosa puede resultar útil, incluso eliminar el controlador de un dispositivo específico. ¿Para qué? Pero suceden cosas diferentes, tal vez el controlador se instaló mal o no es exactamente el que necesita. Pero no siempre es posible instalar uno nuevo sobre el anterior, por lo que puede eliminar el controlador del dispositivo e instalar uno nuevo.

Después de desinstalar y reiniciar, el sistema debería encontrar el nuevo dispositivo cuyo controlador eliminó y ofrecer instalarlo. nuevo conductor. Quizás tenga otra razón por la que necesite realizar dicho procedimiento. De hecho, todo es muy sencillo, ahora lo comprobarás por ti mismo.

Eliminaremos el controlador a través del administrador de dispositivos, me parece que este es el único correcto y manera confiable. Pero aún así, debes entender que esto es peligroso, al lado del botón "Eliminar" incluso dice "Eliminar controladores (para experimentados)", creo que esto se escribió por una razón. Bueno, está bien, tenemos experiencia :).

Primero necesitamos iniciar el administrador de tareas. Para hacer esto, haga clic derecho en el icono “Mi computadora” y seleccione “Propiedades”. Se abrirá una ventana en la que a la izquierda haga clic "Administrador de dispositivos".

En el Administrador de dispositivos, seleccione el dispositivo cuyo controlador desea eliminar, haga clic derecho sobre él y seleccione "Propiedades".

Aparecerá una advertencia sobre la eliminación del controlador. Si se instaló algún programa con este controlador, puede marcar la casilla junto a "Desinstalar programas de controladores para este dispositivo" y haga clic en el botón "Aceptar".

A menudo cuando transferencia de ventanas de coche en coche ( máquina virtual) V. Sistema operativo Quedan muchos controladores de hardware que ya no intervienen en el trabajo, pero que pueden servir de interferencia. Averigüemos cómo identificar equipos no utilizados y cómo eliminar estos dispositivos y sus controladores.

¿Cómo identificar equipos no utilizados?

De forma predeterminada, en Windows, la opción responsable de mostrar los dispositivos no utilizados en el Administrador de tareas está deshabilitada. Hay 2 formas de habilitar la visualización. equipo oculto. Cuál elegir depende de ti.

Nota. Todas las acciones anteriores deben realizarse con derechos de Administrador. También vale la pena señalar que en este caso lo principal es no eliminar cosas innecesarias). De lo contrario, es posible que el sistema simplemente no arranque. Esto se aplica especialmente a los controladores y dispositivos controladores de disco duro.

Habilite la visualización de hardware de Windows no utilizado a través de GUI

  1. Presione las teclas Windows + pausa/pausa. (Ya sea en " Paneles de control" seleccione el elemento " Sistema")
  2. En la ventana que se abre " Sistema"seleccionar artículo" Propiedades adicionales sistemas".
  3. En la ventana que se abre " Propiedades del sistema"en la pestaña" Además" en la parte inferior haga clic en el botón " Variables de entorno".
  4. En la ventana que se abre " Variables de entorno"en el campo" Variables del sistema" Para crear una nueva variable, debe hacer clic en " Crear…"
  5. En la ventana adicional que aparece " Nueva variable del sistema"proporciona el nombre y el valor de la variable .
  6. Ok-ok-ok.)))

Habilitar la visualización de hardware de Windows no utilizado a través de la línea de comando

  1. inicio -> ejecutar (o haga clic en Teclas de Windows+ R) -> cmd -> Aceptar
  2. Ingrese Establezca devmgr_show_nonpresent_devices=1, presione Entrar

Nota. EN en este caso Después de reiniciar, esta opción estará deshabilitada. A diferencia de configurar una variable a través de la GUI.

¿Cómo eliminar controladores de hardware no utilizado?

Se ha habilitado la opción para mostrar dispositivos ocultos, ahora veamos los dispositivos en sí y eliminemos los innecesarios. Para hacer esto, abra Inicio del Administrador de dispositivos -> Ejecutar -> Devmgmt.msc -> Aceptar. Para que los dispositivos aparezcan en el "Administrador de dispositivos", debe ir a " Vista"seleccionar artículo" Mostrar dispositivos ocultos". Ahora, si abre cualquier elemento en el árbol (que supuestamente contiene dispositivos no utilizados), tendrán íconos sombreados o íconos amarillos signo de exclamación. Al seleccionar el dispositivo con el botón derecho del mouse, puede seleccionar " Borrar". Después de confirmar con el botón Aceptar, es posible que sea necesario reiniciar.

Artículo original de Microsoft: http://support.microsoft.com/kb/315539/ru

Saludos cordiales, McSim!




Arriba