La idea de realizar la instalación de Windows Server 2022 en mi portátil Dell Precisión 7530 surgió de la necesidad de utilizar las opciones de deduplicación de datos que proporciona este sistema operativo. Estas opciones de deduplicación de datos no están disponibles en Windows 10 de manera oficial.

La deduplicación de datos analiza los ficheros para encontrar patrones que se repiten y, en lugar de guardar todos los patrones repetidos, se guarda únicamente una copia y se indexa el resto. Cuando se trabaja con máquinas virtuales, al ser éstas muy parecidas, el ahorro de espacio puede ser muy importante.

Nota: Esta idea no es nueva, ya que Niall Brady instaló Windows Server 2019 en un Lenovo P1 por el mismo motivo. Algunos de los “trucos” explicados en su artículo también se han usado en esta instalación.

Atención: La instalación de Windows Server 2022 en un Dell Precision 7530 no está soportada por Dell. Habitualmente este tipo de equipos se venden con una licencia de Windows 10 Pro for Workstations. En mi caso, el portátil se compró con un sistema operativo Linux por resultar mucho más económico.

Instalación del SO

La instalación del sistema operativo se ha realizado utilizando una OSBuild de Windows Server 2022 x64 21H2 20348.288 generada mediante el módulo OSDBuilder de David Segura.

Se ha realizado el siguiente particionado GPT/UEFI del disco 0 (un Samsung PM981 MZ-VLB256A) utilizando el comando diskpart.exe /s Diskpart_UEFI.txt desde una ventana de comandos (Shift+F10 desde la pantalla de instalación):

Partition ###  Type              Size     Offset
-------------  ----------------  -------  -------
Partition 1    System             260 MB  1024 KB
Partition 2    Reserved           128 MB   261 MB
Partition 3    Primary            237 GB   389 MB
Partition 4    Recovery           984 MB   237 GB

Esta OSBuild utiliza un fichero AutoUnattend.xml que configura algunos aspectos del sistema operativo (idioma y teclado, zona horaria, cuenta principal, etc.).

También se copian algunos scripts en C:\Scripts que pueden ser de ayuda para acabar la configuración del equipo.

Error: Aunque durante la instalación se ha podido utilizar sin problema el touchpad del portátil, una vez dentro del sistema operativo este componente no funciona. Este problema ya se había reportado con anterioridad en Windows Server 2016/Latitude 5580, Windows Server 2016/Precision 7520 o Windows Server 2019/Latitude 7490.

Actualización del SO

Después de instalar el sistema operativo, se ha procedido a comprobar e instalar cualquier actualización disponible en Windows Update (Settings > Update & Security > Windows Update):

Windows Update

Instalación de controladores

La instalación automática de drivers en un equipo Dell se realiza mediante la aplicación Dell Command Update (DCU). Esta aplicación permite actualizar la BIOS, el firmware, los controladores y las aplicaciones desde una interfaz gráfica o mediante la línea de comandos (dcu-cli.exe).

Se ha instalado la versión 4.3.0, del 29 de julio de 2021, en su versión estándar (no la aplicación universal para Windows 10). Al ejecutarla por primera vez, se configura para que no compruebe actualizaciones de forma automática y así tener un mayor control sobre las mismas.

Antes de utilizar la opción Advanced Driver Restore for Windows Re-installation para aplicar el último driver pack de este portátil, se descarga la versión A13, del 25 de agosto de 2021, y se configura como librería en Settings > Advanced Driver Restore.

Dell Command Update

Una vez reiniciado el equipo para aplicar correctamente los 25 drivers que forman parte de esta librería, se observa que hay 4 dispositivos que tienen algún tipo de problema:

  • Network Controller (PCI\VEN_8086&DEV_2526&SUBSYS_40108086&REV_29\4&283BFC7A&0&00E6)
  • Unknown device (ACPI\DELL0831\4&2A3E7082&0)
  • Unknown device (BTH\MS_BTHPAN\6&2FA275E4&0&2)
  • Microsoft Usbccid Smartcard Reader (UMDF2) (USB\VID_0A5C&PID_5833&MI_01\6&1FF64837&0&0001)

Dell Command Update

Adaptador de red Wi-Fi

El dispositivo PCI\VEN_8086&DEV_2526 corresponde al adaptador de red Wi-Fi. No se han instalado drivers para este dispositivo porque el sistema operativo Windows Server tiene la característica Wireless LAN Service desactivada por defecto.

Para habilitar esta característica se puede utilizar la opción Add roles and features desde el Server Manager o los siguientes comandos desde PowerShell:

Install-WindowsFeature Wireless-Networking
Restart-Computer

A continuación es necesario activar el servicio WLAN AutoConfig desde el Administrador de Servicios o mediante el siguiente comando desde PowerShell:

Start-Service -Name WlanSvc

Finalmente, se puede actualizar el controlador del dispositivo desde el Device Manager. Aparecerá una tarjeta Intel(R) Wireless-AC 9260 160MHz y se podrán ver todas las redes Wi-Fi disponibles.

Bluetooth

Otro dispositivo que es necesario reparar es el BTH\MS_BTHPAN\6&2FA275E4&0&2 correspondiente al Personal Area Network Service. Esto se puede hacer actualizando el controlador desde el Device Manager:

  • Seleccionar la pestaña Driver
  • Seleccionar Update Driver > Browse my computer for drivers > Let me pick from a list of available drivers on my computer > Bluetooth
  • Seleccionar Microsoft > Personal Area Network Service
  • Aceptar la advertencia sobre la actualización del controlador

Instalación de más controladores

A continuación se puede volver a utilizar DCU para buscar actualizaciones de los controladores que ya están instalados.

Dell Command Update

Atención: Es muy importante no instalar la BIOS 1.17.0 ya que tiene un problema en este equipo al quedarse congelado cuando se graba la configuración.

I2C HID Device

El dispositivo ACPI\DELL0831\4&2A3E7082&0 se carga y funciona correctamente en el entorno Windows PE durante la instalación del sistema operativo pero no funciona dentro del sistema operativo.

Se ha utilizado el comando pnputil.exe desde Windows PE para exportar el controlador que se inicia correctamente en ese entorno (hidi2c.sys):

Instance ID:                ACPI\DELL0831\4&2a3e7082&0
Device Description:         I2C HID Device
Class Name:                 HIDClass
Class GUID:                 {745a17a0-74d3-11d0-b6fe-00a0c90f57da}
Manufacturer Name:          Microsoft
Status:                     Started
Driver Name:                hidi2c.inf

A continuación se ha forzado la instalación del driver anterior en el sistema operativo mediante el comando pnputil.exe /add-driver hidi2c.inf pero el dispositivo siguie teniendo problemas:

C:\Drivers>pnputil /enum-devices /problem /deviceids
Microsoft PnP Utility

Instance ID:                ACPI\DELL0831\4&2a3e7082&0
Device Description:         Unknown
Class Name:                 Unknown
Class GUID:                 Unknown
Manufacturer Name:          Unknown
Status:                     Problem
Problem Code:               28 (0x1C) [CM_PROB_FAILED_INSTALL]
Problem Status:             0xC0000490
Hardware IDs:               ACPI\VEN_DELL&DEV_0831
                            ACPI\DELL0831
                            *DELL0831
Compatible IDs:             ACPI\PNP0C50
                            PNP0C50

El error 0xC0000490 o STATUS_PNP_NO_COMPAT_DRIVERS quiere decir que los Hardware ID especificado en el fichero *.inf no son compatibles con el dispositivo o que la TargetOSVersion no aplica a la arquitectura y versión del sistema operativo.

Si se descargan el Dell Touchpad Driver y se extrae su contenido, se comprueba que la única referencia que parece corresponder a este dispositivo (HID\DELL0831&Col03) se encuentra en el fichero I2CG9Dx64\ApHidFiltrSWD.inf. La descripción de este fichero indica AlpsAlpine I2C HID Device Driver for x64 Windows.

Atención: Se podría intentar modificar el fichero *.inf y permitir la instalación de drivers no firmados tal como hizo Niall en su artículo How to enable Thunderbolt on Windows Server 2019.

Smartcard Reader

El dispositivo USB\VID_0A5C&PID_5833&MI_01\6&1FF64837&0&0001 tampoco funciona correctamente en el sistema operativo generando el error 0xC0000001:

C:\Drivers>pnputil /enum-devices /problem /deviceids
Microsoft PnP Utility

Instance ID:                USB\VID_0A5C&PID_5833&MI_01\6&1ff64837&0&0001
Device Description:         Microsoft Usbccid Smartcard Reader (UMDF2)
Class Name:                 SmartCardReader
Class GUID:                 {50dd5230-ba8a-11d1-bf5d-0000f805f530}
Manufacturer Name:          Microsoft
Status:                     Problem
Problem Code:               31 (0x1F) [CM_PROB_FAILED_ADD]
Problem Status:             0xC0000001
Driver Name:                UsbccidDriver.inf
Hardware IDs:               USB\VID_0A5C&PID_5833&REV_0101&MI_01
                            USB\VID_0A5C&PID_5833&MI_01
Compatible IDs:             USB\Class_0b&SubClass_00&Prot_00
                            USB\Class_0b&SubClass_00
                            USB\Class_0b

Habilitar Audio

En Windows Server 2022 el Audio está desactivado por defecto. Como se quiere poder reproducir sonido en este equipo, es necesario habilitar el servicio Windows Audio mediante los siguientes comandos desde PowerShell:

Set-Service -Name Audiosrv -StartupType Automatic
Start-Service -Name Audiosrv

Configuración de Energía (Opcional)

El sistema operativo Windows Server está optimizado para priorizar los procesos en background (se supone que los usuarios no suelen iniciar sesión en los servidores y no se necesita dar prioridad al escritorio).

Pero como este equipo se utilizará como HomeLab, se ha configurado como activo el perfil de energía High performance mediante los siguientes comandos desde PowerShell:

powercfg.exe /s 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
powercfg.exe /setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 4f971e89-eebd-4455-a8de-9e59040e7347 5ca83367-6e45-459f-a27b-476b1d01c936 0

Samsung Magician

Aunque no es imprescindible, la instalación de Samsung Magician permite visualizar el estado de los discos Samsung del equipo (salud, temperatura, etc.):

Samsung Magician

El almacenamiento del portátil está formado por 3 unidades SSD NVMe M.2:

Hyper-V

Para completar la instalación de este HomeLab es necesario habilitar el rol Hyper-V desde la opción Add Roles and Features del Server Manager o mediante los siguientes comandos desde PowerShell:

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools
Restart-Computer

Deduplicación

Para activar la deduplicación es necesario habilitar el rol Data deduplication desde la opción Add Roles and Features del Server Manager o mediante los siguientes comandos desde PowerShell:

Install-WindowsFeature -Name FS-Data-Deduplication
Enable-DedupVolume -Volume V:\ -UsageType HyperV

Configuración de Windows

La configuración final de Windows es una mezcla de los parámetros incluidos en la imagen WIM y la ejecución de diferentes scripts ubicados en C:\Scripts:

  • Activar Windows
  • Opciones del Explorador de Archivos (Offline WIM)
  • Deshabilitar AutoPlay (Offline WIM)
  • Preferir IPv4 en lugar de IPv6 (AutoUnattend.xml)
  • Configurar variable DIRMCD (AutoUnattend.xml)
  • Deshabilitar Hibernation (AutoUnattend.xml)
  • Mostrar dispositivos no presentes en el Administrador de dispositivos (AutoUnattend.xml)
  • Añadir D:\SOFT\Bin a la variable PATH del sistema
  • Habilitar ICMP v4 mediante C:\Scripts\Enable-ICMPv4.ps1
  • Deshabilitar Netbios mediante C:\Scripts\Disable-Netbios.ps1
  • Renombrar el equipo mediante C:\Scripts\Rename-PC.ps1
  • Crear usuarios del equipo mediante C:\Scripts\Create-Users.ps1 (utiliza el fichero C:\Scripts\%ComputerName%.users)
  • Accesos directo a Shutdown, Restart y Logoff mediante C:\Scripts\Copy-Icons.ps1
  • Establecer la imagen de cada usuario desde C:\Users\Public\Pictures
  • Establecer el wallpaper de la pantalla de bloqueo mediante C:\Scripts\Config-LockScreenWallpaper.ps1
  • Actualizar ayuda de PowerShell mediante el cmdlet Update-Help -Force
  • Recibir actualizaciones de otros productos Microsoft mediante C:\Scripts\Config-MicrosoftUpdate.ps1
  • Ajustar las opciones de rendimiento “Efectos visuales” para tener el mejor rendimiento