Cómo la industria de PCs dificulta el uso de otros sistemas operativos

Ayer ProcessMaker Inc., que es mi empleador, me entregó un nuevo laptop–un HP Probook 450 G3–que tuvo Windows 7 instalado por defecto. ProcessMaker Inc. tiene reglas para prevenir el uso de software ilegal, entonces tuve que considerar que hacer con la copia de OEM Windows en la maquina.

He utilizado Linux desde el año 1999 y siento totalmente desarmado tratando de usar cualquier versión de Windows después de Windows XP. Tengo una partición de Windows 7 en mi laptop personal que sólo he buteado 2 o 3 veces en los últimos dos años. Recuerdo que lo utilice una vez para verificar un problema del hardware y otra vez para hacer una llamada por Skype, que ha dejado de funcionar en Debian 8.

No me gusta Windows por razones técnicas porque es un sistema muy inferior y por razones ideológicas porque soy partidario de la filosofía de software libre y la libertad digital. Sin embargo, tenemos preguntas acerca de Windows en el foro de ProcessMaker que necesito contestar. Entonces, necesito usar Windows de vez en cuando en mi trabajo, pero prefiero usarlo en una maquina virtual. Es mucho más conveniente para mí arrancar una maquina virtual de Windows que rebutear la maquina en una partición separada de Windows.

Pasé una hora verificando que la licencia de OEM Windows 7 permite que lo utilizo en una maquina virtual si borro la instalación original y encontré software gratuito de VMWare para convertir la partición de Windows en una maquina virtual que es compatible con VirtualBox. Tuve el plan de instalar Linux en otra partición del disco duro y copiar la maquina virtual de Windows a Linux.

Sin embargo, HP, Microsoft y la industria de PCs en general hacen mucho para dificultar el uso legal de Windows por un usuario de Linux. Los laptops de HP son vendidos con las cuatro particiones primarias ocupadas en el disco duro, entonces no es posible crear otras particiones para instalar Linux y usar una partición de swap.

Microsoft ha decidido que su sistema operativo en Windows 7 y después necesita dos particiones–una donde esta instalado Windows y una llamada SYSTEM para recuperar el sistema cuando haya problemas. Además, HP ha decidido que todas sus maquinas necesitan su propia partición llamada HP_TOOLS para hacer recuperación del sistema y otra partición llamada HP_RECOVERY que contiene todo el software para reinstalar el sistema. Además, HP ha decidido que todas estas particiones son tan esenciales que no pueden ser lógicas, entonces no es posible crear más particiones en el disco. La única solución es borrar una de las particiones primarias en el disco duro o la convierte en una partición lógica que permite la creación de N número de otras particiones.

Es ridículo que la industria de PCs todavía utiliza el Master Boot Record (MBR) que data del año 1983 para el formateo de discos y es limitado a cuatro particiones primarias. Podemos reemplazar el MBR por el GUID Partition Table (GPT) que no limite en número de particiones primarias, pero Windows y OS X sólo soporten el buteo de una partición de GPT en modo de UEFI, no en el modo legacy de BIOS. Es más fácil cambiar a modo de Legacy para instalar Linux que utilizar el modo UEFI. He tenido problemas con UEFI en el pasado y prefiero evitarlo cuando sea posible.

Para eliminar una de las particiones traté de crear un DVD de recuperación de Windows. Sin embargo, el software de HP sólo puede grabar el disco de recuperación en un double sided DVD que graba en ambos lados. Es ridículo que HP no permite el uso de DVDs normales y que HP no provee discos de recuperación con cada nueva maquina. Un disco sólo costaría $0.30 para incluirlo en la caja, pero HP no provee este disco por defecto. HP sabe que la mayoría de sus clientes no van a crear discos de recuperación y puede cobrarles cuando los necesitan.

Al final decidí convertir la partición de HP_RECOVERY en una lógica, pero el particionador de Windows no puede convertir la partición sin borrar todos sus datos. Entonces, instalé IM Magic, que es un particionador gratuito, para convertir HP_RECOVERY en una partición lógica. Nunca me imaginé que el software de HP no puede usar una partición lógica para hacer recuperación del sistema, pero así es.

Cuando traté de instalar Debian 9 en una partición lógica con el BIOS en el modo de Legacy, apareció un mensaje diciendo que hubo otros sistemas operativos en el modo de UEFI y no fue posible proceder sin contestar SÍ a la pregunta Force UEFI installation?”

Hice clic en YES para completar la instalación, pero cuando yo reinicié la maquina, no pudo encontrar ningún sistema operativo. Traté de usar diferente modos (UEFI activado, Legacy activado, ambos UEFI y Legacy desactivos) sin éxito. Al final, decidí recuperar la instalación original de Windows, pero cuando yo arranqué en la partición de HP_TOOLS y escogí la opción de System Recovery, la maquina se quedó por media hora con una pantalla negra sin ninguna indicación que estaba avanzando. HP ha quitado la luz para indicar actividad en el disco duro, entonces no pude verificar si estaba instalando algo. Me imagino que el problema era que el System Recovery en la partición de HP_TOOLS no puede funcionar si HP_RECOVERY es una partición lógica o tal vez IM Magic la malformateó en la conversión a una partición lógica. No tuve tiempo para investigar más, porque supuestamente yo estaba trabajando, no malgastando tiempo para evitar los problemas creados por Microsoft y HP.

Después de pasar 2 horas en estos intentos de instalar Linux en la misma maquina con Windows, decidí que no valía la pena preservar el OEM Windows y borré todo el disco duro y instalé Debian como el único sistema operativo.

Después investigué un poco más que era el problema, descubrí esta sección en el wiki de Debian que explica el problema:

Force grub-efi installation to the removable media path

Many UEFI firmware implementations are unfortunately buggy, as mentioned earlier. Despite the specification for boot entries and boot order being quite clear about how things should work, there are lots of systems in the wild which get it wrong. Some systems simply ignore valid requests to add new boot entries. Others will accept those requests, but will refuse to use them unless they describe themselves as “Windows” or similar. There are lots of other similar bugs out there, suggesting that many system vendors have done very little testing beyond “does it work with Windows?”

As described above, on a UEFI system bootloaders should be installed only in the correct vendor-specific directory in the EFI System Partition (ESP). But, because of the buggy firmware implementations out there, operating system distributors cannot necessarily expect that this will work correctly for all systems. Microsoft have worked around this (and arguably also made the problem worse) – the Windows installer also installs to the removable media path in the ESP (e.g. \EFI\boot\bootx64.efi for amd64/X64 systems). All firmware implentations have to use this path to be able to run an OS installer. This means that Windows will always work on all these broken implementations, but it also means that system vendors can get away with shipping broken implementations. It removes the idea of having a fallback boot path and sensible control of boot order.

All OS installers installing things to this removable media path will conflict with any other such installers, which is bad and wrong. That’s why in Debian we don’t do this by default.

However, to help support those unfortunate people who own buggy systems like this, there is an option to force grub-efi installation to the removable media path too. There is a d-i Rescue Mode option to force this – if you’ve just installed Debian on your UEFI system but it won’t boot Debian afterwards, this may fix the problem for you. It can also be selected during the normal installation run using Expert mode, or preseed users can add the following option in their configuration:

grub-efi-amd64  grub2/force_efi_extra_removable boolean true

Verifiqué que el problema era una implementación mala de UEFI por HP, porque otras personas han reportado que ellos tuvieron que cambiar la ruta de los archivos de UEFI:

The problem is solved without having to set a BIOS option. What solved it for me was making the top level directory named “EFI”, not “Hewlett-Packard”.

Los problemas que yo encontré trantando de instalar Linux en una maquina con OEM Windows demuestran las malas practicas en la industria de PCs. HP y Microsoft han diseñado su software para ocupar todas las particiones primarias, que dificulta la instalación de otros sistemas operativos y usar particiones separadas para proteger mejor los datos de usuarios. HP ha creado software de recuperación que no funciona correctamente con cambios en la partición y Microsoft no provee software adecuado para manejar las particiones. La industria ha decidido usar UEFI que dificulta mucho la instalación de sistemas libres como Linux y HP ha implementarlo mal el estándar de UEFI. Obviamente HP no ha probado su UEFI y sus herramientas de recuperación en maquinas de dual boot con Linux, BSD y otros sistemas operativos. Microsoft ha presionado empresas como HP incluir su sistema operativo por defecto en todos sus PCs, y es casi imposible comprar un laptop sin pagar por OEM Windows, pero es muy difícil usar esta copia de OEM Windows en una forma legal con otros sistemas operativos.

Yo sospecho que no soy el único que ha decidido que el uso legal de OEM Windows no vale la pena y es mejor borrarlo completamente. Cuando compramos laptops somos obligados pagar por OEM Windows, que es muy inflexible en su instalación y no util para usuarios avanzados que quieren usarlo en otra maneras, como en dual boot y en maquinas virtuales. Yo siento que Microsoft y HP están presionándonos para usar su software en forma ilegal para evitar los problemas que estas empresas mismas han introducidos en la tecnología.

La solución ideal es dejar de usar este software propietario que no corresponde a nuestros ideales. Sin embargo, dejar de usar el software de Microsoft y empresas como HP no es una opción en mi trabajo. Además, muchas empresas de PCs nos obligan usar su software propietario. HP no arregla su hardware bajo la garantía de un año si la maquina es entregada sin su software de recuperación y sus herramientas diagnosticas. Varias personas me han contado que HP rechazó arreglar fallos en su hardware bajo garantía sin su software original y les cobró por la reinstalación de OEM Windows antes de arreglar el hardware. En teoría estas políticas malas en la industria de PCs deben ser ilegales, pero es difícil resistirlas en el mundo real.

Esta situación no va a cambiar sin algún esfuerzo de los usuarios. Podemos concientizar al público acerca de estos problemas en la industria de PCs. Podemos tratar de presionar empresas como HP para cambiar su software para ser compatible con otros sistemas operativos y cambiar sus políticas en términos de garantías. Podemos promover el uso de software libre y hardware libre, para evitar estos problemas en el primer luego.

Puedo imaginar un mundo donde tenemos laptops basados en software y hardware libre y estándares abiertos, sin embargo no vivimos en este mundo hoy en día. Puedo soñar en un laptop de hardware libre con un procesador de RISC-V y una caja fabricada por mi impresora 3D, pero la cuestión es cómo cambiar la triste realidad actual de las TICs y cómo convivir con empresas como Microsoft y HP que dificultan el uso de software libre hoy en día.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s