logo linux desarrollo

Según la RAE, Deshinchar: tr. Deshacer o reducir lo hinchado. Sinónimos: desinflamar y desinflar. Pues eso, este apunte va de quitar, de eliminar lo que sobra, de deshinchar un Windows 11 recién instalado o que lleva tiempo funcionando. En inglés lo llaman debloat o eliminación del bloatware.

Consiste en borrar aplicaciones, servicios y morralla que vienen preinstalados pero que no son esenciales, que consumen recursos y lo que es peor, afectan al rendimiento y el UX.


Serie de desarrollo de software con Windows

Tienes una versión anterior aquí, por si quieres echarle un ojo.


Introducción

El bloatware en Windows es como la morralla en el mar: una mezcla de elementos innecesarios que solo estorban, ocupan espacio y ralentizan todo.

Evitar la morralla (fuente dall-e)
Evitar la morralla (fuente dall-e)

Existen varios proyectos para deshinchar, los mas activos son Win11Debloat, Debloat Windows 10/11 de Andrew Taylor y Tiny 11 Builder. Otros con solera pero que veo menos activos: Windows10Debloater o Chris Titus debloater.

En este apunte explico cómo hago el proceso en mi caso, donde me he decidido por una solución híbrida en la que incluyo Win11Debloat. Estos son los pasos que he dado en una máquina virtual con windows 11 (mira el apunte VMWare en Windows):


Paso 1: Preparo el SO y algunas cosas básicas

Actualizo windows al último update, ejecuto un script automático que instala software básico y se baja Win11Debloat. Por último activo Windows.

Actualización del sistema operativo:

  • Start > “Update " > Check for Updates > Hago todas las actualizaciones que me pide (con el o los correspondientes reboots).

Instalo automáticamente Apps básicas y me bajo una copia de Win11Debloat:

Es todo automatico. Desde PowerShell 5 como administrador, preparo el entorno y ejecuto un script desde mi repositorio en GitHub

  • Start/Search > “PowerShell” > botón derecho > Abrir como Administrador. Abre un terminal PS5.
  • Habilito System Restore y permito la ejecución de scripts
Enable-ComputerRestore -Drive "C:\"
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=10GB
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  • Ejecuto winget y acepto el acuerdo. Simplemente para doble confirmar que lo tengo instalado, algo normal en un Windows 11 actualizado.
winget list
  • Hago un reboot.

  • Ejecuto mi script para instalar: Google Chrome, 7-Zip, Visual Studio Code, PowerShell 7 y PowerToys y bajarme Win11Debloat. Si quieres instalarte otro navegador, hazlo manualmente.

  • De nuevo: Start/Search > “PowerShell” > botón derecho > Abrir como Administrador. Abre un terminal PS5.

iex (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/LuisPalacios/devcli/main/addons/windecente-inicio.ps1" -UseBasicParsing).Content
Ejecución del primer script automático
Ejecución del primer script automático

Activación de Windows:

Descubrí en internet que para VM’s o laboratorio hay un proyecto por ahí (libre en internet) llamado Microsoft Activation Script (MAS). En cualquier caso, tienes dos opciones:

Si quieres puedes comprar una copia digital de Windows 11 Pro retail a un minorista autorizado. Es barato y asequible, te llega un correo con la clave de producto. Start > Settings > Sytem Activation > Change product key, añado la clave recibida y queda activado.

Otra opción es Microsoft Activation Script (MAS), se trata de una activador de código abierto para Windows y Office que incluye los métodos de activación HWID, Ohook, TSforge, KMS38 y Online KMS. Si sigues su documentación, se hace así:

Ojo!, ahora tienes que usar PowerShell 7 (se instaló en el paso anterior)

  • Start/Search > “PowerShell 7” > botón derecho > Abrir como Administrador.
irm https://get.activated.win | iex
  • Entre las opciones de activación, seleccionas (1) HWID for Windows activation y queda activado.
  • Cuando termine podrás comprobar el estado de activación: Start > Settings > System > Activation
Método MAS
Método MAS

Paso 2: Deshinchar automáticamente

Ya estamos listos para Win11Debloat, fácil de usar y ligero. Recomendable leerse su wiki y su ejecución por defecto.

El script del paso 1 ya se encargó de bajarse la última versión de Win11Debloat -> C:\Users\[usuario]\Desktop\Win11Debloat\. Modifico el fichero Appslist.txt con la lista de aplicaciones a desinstalar.

PS C:\Users\luisp> cd Desktop\Win 11Debloat\Raphire-Win11Debloat-70ebe29>
PS C:\Users\luisp\Desktop\Win11Debloat\Raphire-Win11Debloat-70ebe29> notepad.exe Appslist.txt

Yo uso este Appslist.txt. He desmarcado unas cuantas más de las de por defecto, excepto Edge porque recomienda no hacerlo automáticamente, así que lo dejo para más tarde (lo de quitar Edge).

Ejecuto el script y selecciono la opción 1.

.\Win11Debloat.ps1
Win11Debloat
Win11Debloat - opción 1

Una vez que termina hago un reboot del equipo.


Paso 3: Deshinchar manualmente

A partir de aquí voy a terminar de deshinchar manualmente.

Acciones directas en el registry:

Desactivo una opcion de Private & Security > General, “Let websites show me locally relevant content by accessing my language list”

reg add "HKEY_CURRENT_USER\Control Panel\International\User Profile" /v "HttpAcceptLanguageOptOut" /t REG_DWORD /d 1 /f

Cambio “User Account Control settings” a Never notify.

reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin /t REG_DWORD /d 0 /f
reg.exe add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v PromptOnSecureDesktop /t REG_DWORD /d 0 /f

Desinstalar Edge y Chrome por defecto:

  • Start > Settings > Apps
    • Installed Apps: Elimino Edge (Sí, me cargo Edge como navegador del equipo. No es multiplataforma !!)

      • Arranco Google Chrome. Lo marco como browser por defecto y me aseguro de revisar:
    • Default apps > Google Chrome > Reviso que todo sea Chrome

    • Apps for Websites > todo a off

Cambios en Privacidad:

  • Privacy & Security
    • Security > Windows Security > Open Windows Security: Todo en On
    • Windows Permissions > todo a off en todas las opciones: General, Speech, etc…
    • App permissions > Location: Todo en Off, el resto a valor por defecto

Cambio del Home de mi usuario:

Durante la instalación creó el nombre corto del usuario con los 5 primeros caracteres de dicho mail, por lo que quedó como luisp y el HOME de mi usuario en C:\Users\luisp\.

  • Cambiar el nombre del directorio HOME (guía)
    • Habilito al Administrador
      • net user Administrator /active:yes
    • REBOOT y hago login con Administrador sin contraseña
      • Busca mi usuario (luisp) en la lista y anoto el SID correspondiente (S-1-5-21-…..).
      • PowerShell: Get-LocalUser | Select-Object Name, SID
      • regedit -> HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList\S-1* -> ProfileImagePath
      • Explorer -> Renombro el HOME
      • PowerShell: New-Item -ItemType SymbolicLink -Path "C:\Users\luisp" -Target "C:\Users\luis"

Elimino Apps menos improtantes:

  • Start > Botón derecho sobre los iconos que quiera hacer Unpin o “Uninstall”
    • Por ejemplo en mi caso quité LinkedIn, …

Personalizo el Taskbar:

  • Botón derecho iconos que están en el taskbar y uno a uno quito iconos que no uso.
  • Start > tecleo “Start settings” >
    • Layout > More pins
    • Show recently added apps > Off
    • Show recommmended files… > Off
    • Show account notifications > Off
    • Show recently opened > Off

Elimino el teclado en inglés:

  • Elimino el teclado US que me instaló por defecto.
    • Start > Settings > Time & Language > Language & Region
      • Preferred Languages > “…” > Options > Keyboards > Quito US (dejo solo el de Spanish)

File Explorer. Mostrar archivos y directorios ocultos, file extensions, etc.

  • Start > Settings > System > For developers
    • Habilitar el modo para desarrolladores si no lo estaba ya.
    • Entrar en > File Explorer
      • Show file extensios: On
      • Show hidden and system files: On
      • Show full path in title bar: On
      • Show empty drives: On

Habilitar File Sharing. Es algo que voy a necesitar, así que lo configuro

  • Start > Settings > Network and Internet > Advanced network settings
    • Advance Sharing Settings
    • File & Printer sharing: On
    • Public folder sharing: On
  • Start > Settings > System > About
    • Advance System Settings > Computer Name > Change > “Me aseguro que está en WORKGROUP
  • Habilito SMB1.0
    • Start > busco “Control Panel”
    • Programs > Programs and features
    • Turn Windows features on or off
    • Activo SMB 1.0/CIFS File Sharing Support.

Firewall de Windows

  • Lo configuro para minimizar alertas y notificaciones. En mi caso el ordenador está conectado a una red privada pero por defecto la instalación lo puso en red Pública
    • Start > Settings > Network & Internet > Ethernet (y también WiFi)
      • Cambio ambas a Private Network
  • Configuro el Firewall de Windows para minimizar alertas y notificaciones
    • Start > busco “Control Panel” > System & Security > Windows Defender Firewall > Advanced Settings”
      • Reviso reglas de entrada y salida para bloquear o permitir aplicaciones específicas según lo necesite.
    • Start > busco “Control Panel” > System & Security > Windows Defender Firewall > Change notification settings”
      • Desactivo las notificaciones, desmarco las casillas de “Notify me when Windows Defender Firewall blocks a new app”

Desactivar Cortana

  • Busco “gpedit.msc” en el menú de inicio y abro el Editor de directivas
    • Navego a “Computer Configuration > Administrative Templates > Windows Components > Search”.
    • Hago doble clic en “Allow Cortana” y selecciono “Disabled”. Aplico los cambios para desactivar Cortana.

Quito más aplicaciones preinstaladas

  • Eliminar aplicaciones preinstaladas (bloatware o crapware) mediante PowerShell.
  • ¿Qué desinstalar? pues depende del fabricante de tu PC puedes echarle un ojo a Should I Remove It? que no está mal y te da indicaciones.
  • Puede usarse PowerShell como administrador. Comando para listar todas las aplicaciones instaladas
    • Get-AppxPackage | Select Name, PackageFullName
  • Luego, uso este comando para desinstalar las aplicaciones que no necesito
    • Get-AppxPackage *NombreDeLaApp* | Remove-AppxPackage

Deshabilitar servicios innecesarios

  • Abro services.msc desde el menú de inicio.
    • Identifico los servicios que no necesito (por ejemplo, “xbox*”, etc.). Hago doble clic en el servicio, cambio el “Startup type” a “Disabled” y aplico los cambios.

Con estas recomendaciones adicionales, el sistema estará preparado para ofrecer una experiencia de usuario más directa, sin distracciones ni interrupciones innecesarias.

Paso las pruebas de evaluación del sistema de Windows (WinSAT) se usan para analizar el rendimiento de varios componentes del sistema, como CPU, memoria, disco y gráficos.

C:\Users\luis> winsat formal
C:\Users\luis> Get-CimInstance Win32_WinSat
Idoneo para trabajar
Idoneo para trabajar

Seguí los pasos anteriores para optimizar también un máquina virtual windows corriendo en un windows optimizado, como puedes observar el rendimiento de la máquina virtual es muy decente.

Otro windows 11 optimizado, esta vez como Guest de VMWare Workstation
Otro windows 11 optimizado, esta vez como Guest de VMWare Workstation

Mantenimiento: Comandos útiles

Comandos útiles, que ejecuto como administrador

  • chkdsk: Comprueba el estado del disco duro y nos muestra un informe con la información necesaria. Además, se encarga de corregir problemas e incluso recuperar información perdida.
  • sfc /SCANNOW. Analizar la integridad de todos los archivos de sistema y solucionar problemas en los mismos. AVISO!!: Microsoft tenía un problema conocido que llevaba años sin resolverse y hasta hace poco seguía por ahi danzando. Si te pasa y encuentra un problema en el archivo bthmodem.sys y lo elimina, verás que se refiere a Corrupt File: bthmodem.sys. Se resuelve ejecutando el comando siguiente.
  • dism /online /cleanup-image /restorehealth para resolver el entuerto. Se conecta con el Windows Update service para bajarse y reemplazar cualquier archivo importante que falte o esté corrupto.

Ya hemos terminado, nos quedamos con un Windows 11 mucho más limpio, rápido y libre de distracciones.

Versión minimalista de Start
Versión minimalista de Start

Herramientas extra

Un anticipo relativo al CLI:

Te recomiendo que eches un ojo al apunte Windows para desarrollo de software donde hablo del CLI, el Terminal, WSL2 y herramientas adicionales.

Por opciones que no sea
Por opciones que no sea

En él menciono el proyecto devcli que tengo en GitHub, te permite configurar el entorno CLI en Linux, macOS, WSL2 y Windows. Después de deshinchar Windows, no viene mal preparar el CLI, sobre todo si eres adicto al CLI o desarrollador.

  • Instala herramientas como: git, curl, wget, nano, htop, tmux, fzf, bat, fd-find, ripgrep, tree, jq, lsd, zoxide
  • Instala Oh-My-Posh, para cualquier Shell, dicen que es el mejor prompt.
  • Establece la variable LANG (por defecto a s_ES.UTF-8) en linux, macOS y WSL2
  • Copia ficheros importanttes de configuración (ver el subdirectorio dotfiles)
  • Copia algunas herramientas de Git que tengo en el repositorio git-config-repos.
  • Crea unos cuantos scripts en ~/bin que uso con frecuencia: e, s, confcat
  • Instala automáticamente FiraCode Nerd Font para soportar iconos en herramientas como lsd.

Enlaces interesantes:

  • Clink: Enriquece muchísimo el CMD (command.com) con una readline como el de Linux, añade múltiples funcionalidades, colores, history.
  • Ccleaner Muy buena pinta, aunque para tener acceso a lo “chulo” hay que comprar la licencia Profesinoal.
  • BleachBit Una alternativa Open Source a CCleaner, que tiene una pinta buenísima. Le falta la parte del Registry y la Optimización de rendimiento.
  • TCPView Herramienta gratuita de Microsoft (de la suite Sysinternals) que te permite ver en tiempo real todas las conexiones de red activas en tu sistema Windows.
  • Autoruns Herramienta gratuita de Microsoft Sysinternals que te muestra todo lo que se ejecuta automáticamente cuando inicias Windows. Es mucho más poderosa y completa que el Administrador de tareas o MSConfig.
  • Sysinternals Suite Si con las dos anteriores no tienes suficiente, puedes instalarte el hermano mayor, la Sysinternals Suite, que las incluye. Son el conjunto de herramientas avanzadas creadas originalmente por Mark Russinovich y Bryce Cogswell, y ahora mantenidas por Microsoft. Están diseñadas para diagnosticar, monitorizar, depurar y entender en profundidad cómo funciona Windows.