miércoles, 12 de octubre de 2011

Instalando Windows 98 sobre Windows XP



Hay muchas razones por las cuales algún usuario desea instalar el sistema operativo Windows 98 de Microsoft en una máquina que ya tenga instalado previamente el sistema operativo Windows XP de la misma empresa. Una de tales razones es que Windows 98 era un sistema operativo bastante robusto y estable. Otra razón es que hay muchos programas que se ejecutaban muy bien desde Windows 98 (como los simuladores de vuelo) que ya no corren bien en los nuevos sistemas operativos de Microsoft como Vista y Windows 7. En principio, cada sistema operativo nuevo de Microsoft está diseñado para ser compatible con los sistemas operativos precedentes, en el sentido de que debe ser posible abrir los mismos archivos (documentos de texto, archivos gráficos, hojas de trabajo, etc.) con los que se estaba trabajando en el sistema operativo anterior, suponiéndose también que esta compatibilidad hacia abajo se aplicaba a programas ejecutables. Esto es cierto, siempre y cuando los fabricantes de programas que dependen de la plataforma de Microsoft para poder ejecutarse estuvieran actualizando los drivers de sus programas. Desafortunadamente, muchos no lo hacen, sobre todo las empresas que han ido cerrando sus puertas. Otras empresas en lugar de actualizar los drivers para sus programas simplemente publican una versión más reciente de sus programas con la promesa de que serán compatibles únicamente para los sistemas operativos de Microsoft igualmente recientes (esta es una estrategia de mercadotecnia para obligar a los consumidores a estar comprando las versiones más recientes que van saliendo de los programas). Programas exelentes como Microcap II para el diseño de circuitos electrónicos que se ejecutaban muy bien en plataformas de los sistemas operativos DOS incluso en monitores monocromáticos dejaron de ejecutarse, dejando a los usuarios colgados de la brocha con la inversión en dólares que hicieron con dichos programas. Del mismo modo, muchos programas para la composición de música poniendo las notas sobre un pentagrama que trabajaban muy bien bajo Windows 95 y Windows 98 como MusicWrite fueron obsoleteados por la misma empresa que los creó, y las composiciones originales escritas en formato PBL ni siquiera podían ser leídas por las nuevas versiones de Music Write que ya no trabajan bajo Windows 95 o Windows 98. Desafortunadamente también, Windows 98 no podía manejar discos duros grandes (por ejemplo, un disco duro de 160 Gb como los que se empezaron a fabricar desde el 2006), lo cual era aparente en cualquier intento de desfragmentación de dichos discos duros desde Windows 98; lo más que se podía manejar eran discos duros de hasta 13 Gb, y a veces ni eso (dependiendo del BIOS instalado en la tarjeta madre de la computadora).

Hay pues, muchas razones para querer instalar en una máquina que ya tiene Windows XP el sistema operativo previo Windows 98, y tener ambos sistemas operativos accesibles en la misma máquina. ¿Pero es esto posible? Si consultamos el sitio de soporte técnico de Microsoft, podemos terminar con la impresión de que tal cosa no se puede hacer, ya que para tener una máquina con dos sistemas operativos como Windows XP y Windows 98, conocida como máquina de boot dual, Microsoft instruye en su famoso documento técnico 306559 que primero se tiene que instalar a Windows 98 y después a Windows XP, siguiendo ese orden estricto. De este modo, si le hacemos caso a Microsoft, tendríamos que desinstalar a Windows XP del disco duro primero para volver a reinstalarlo después de que se haya instalado Windows 98, lo cual puede ser algo extremadamente latoso consumiendo grandes cantidades de tiempo.

Sin embargo, es posible instalar a Windows 98 en una máquina con Windows XP, si se lleva a cabo el procedimiento que será dado a continuación. El procedimiento que será dado aquí es igualmente válido para el sistema operativo Windows Millenium (Windows Me) que fue el sucesor de Windows 98. Sin embargo, este fue un sistema operativo tan deficiente cargado con tantos problemas, que pasó a la historia como uno de los peores sistemas operativos producidos por Microsoft. Por esto último, es preferible instalar Windows 98 en lugar de Windows Millenium en una computadora que ya tenga instalado Windows XP.

Para que funcione el procedimiento, además de que la máquina debe contar con un drive capaz de leer diskettes de 3.5", es indispensable que el usuario tenga a la mano:

1) El disco CD original de instalación del sistema operativo Windows XP que vino junto con la máquina.

2) El diskette de 3.5" de instalación de Windows 98 para poder arrancar la máquina desde la bahía de drives floppy (a veces conocido como el diskette de emergencia).

3) El disco CD de instalación completa del sistema operativo Windows 98, de preferencia el Windows 98 Segunda Edición.

Además de lo anterior, es necesario también que:

a) Windows XP esté instalado en el “drive” de disco duro identificado y simbolizado como C: (estamos hablando de una máquina en la que puede haber uno o dos discos duros) y no en alguna otra partición primaria o disco duro identificada y simbolizada con cualquier otra letra.

b) El “drive” C: debe estar formateado bajo el sistema de archivaje Microsoft conocido como FAT32, ya que aunque Windows XP puede estar hospedado ya sea bajo el sistema de archivaje NTFS o el sistema de archivaje FAT32 (esto usualmente se decide a la hora de instalar Windows XP en la máquina, y aunque es posible hacer la conversión del sistema de archivaje FAT32 al sistema de archivaje NTFS, el procedimiento inverso es bastante problemático a menos de que se utilice algún programa especializado como Partition Commander), la rutina de instalación de Windows 98 no puede escribir nada hacia cualquier partición del disco duro que esté formateada bajo NTFS.

c) Aunque ello sea posible, por razones que serán discutidas en mayor detalle más abajo no se recomienda llevar a cabo la instalación de Windows 98 hacia la misma partición primaria en la cual se encuentra instalado el sistema operativo Windows XP. Se supondrá que, mediante algún programa como FDISK de Microsoft (algo riesgoso si no se sabe bien lo que está haciendo o si no se está acostumbrado a trabajar bajo la típica línea de comandos DOS) o como Partition Commander, el disco duro ha sido particionado en dos particiones primarias de tamaños adecuados, una en la cual ya está hospedado Windows XP y otra en la cual será hospedado Windows 98, con ambar particiones formateadas a FAT32.

En el caso del diskette de arranque “Startup disk” para Windows 98 (se puede utilizar también un diskette de arranque para Windows Millenium), si no se tiene a la mano se puede descargar gratuitamente de la Web de varios lugares.

Teniendo lo anterior a la mano y listo, el procedimiento de instalación es el siguiente:

1) Usamos el diskette de arranque Windows 98 para echar a andar la máquina desde la bahía para diskettes de 3.5". Es posible que sea necesario cambiar el orden de arranque desde el programa BIOS que está instalado permanentemente en la electrónica de la computadora para que en caso de que la búsqueda sucesiva de opciones de arranque sea una como:

 C (el disco duro), CD-ROM, A (bahía de diskettes floppy)

el orden de la búsqueda de opciones de arranque sea:

A (bahía de diskettes floppy), CD-ROM, C (el disco duro)

con lo cual lo primero que será leído para arrancar la máquina será el diskette que está puesto en la bahía para diskettes A, y si no hay nada ahí se buscará lo que haya en el CD-ROM para arrancar la máquina, y si no hay nada ahí se irá al disco duro para arrancar la máquina en cuyo caso se echaría a andar el sistema operativo Windows XP. (El programa BIOS de la computadora se puede accesar oprimiendo repetidamente alguna tecla como la tecla de borrado DEL en cuanto aparezca algo en la pantalla al encenderse la máquina, generalmente habrá alguna línea de texto indicando la tecla o combinación de teclas que se deben de oprimir para poder entrar al programa BIOS de la computadora.)

2) Colocamos el disco CD de instalación completa del sistema operativo Windows 98 en el lector de discos CDs de la computadora.

3) En la línea de comandos DOS que se nos presenta en la pantalla gracias a haber arrancado la máquina con el diskette de arranque Windows 98 puesto en la bahía para diskettes de 3.5", en el prompt A: escribimos X:\Win98\Setup.exe en donde X: es el símbolo con el que se identifica al drive lector de los CD-ROMs (el cual puede ser D: o E: o F:, lo cual se puede confirmar con el comando de cambio de directorio cd d: o el comando de cambio de directorio cd e: desde la línea de comandos DOS; hay que tomar en cuenta que si el disco duro ya está particionado, la segunda partición podría recibir como símbolo identificador a d: siendo la primera partición en donde ya está hospedado Windows 98 c: desde luego).

4) Procedemos adelante con la instalación del sistema operativo Windows 98 siguiendo las instrucciones que nos irá dando el procedimiento de instalación. En cuanto se nos pregunte por el lugar en donde queremos instalar a Windows 98, veremos como opción de default C:\Windows.000. Es aquí en donde debemos especificar la partición primaria del disco duro en donde queremos tener instalado a Windows 98, y es aquí en donde debemos especificar algo como D:\Windows. De este modo, en vez de ser instalado Windows 98 en la partición primaria c: en donde está instalado Windows XP, Windows 98 será instalado en la partición primaria d:, y la rutina de instalación se encargará de crear en dicha partición la carpeta Windows.

5) Esperamos a que el copiado de los archivos del CD de instalación de Windows 98 hacia el disco duro se lleve a cabo. Eventualmente, el programa de instalación pedirá el reinicio de la máquina para continuar adelante con la instalación desempacando los archivos que fueron transferidos hacia el disco duro, y eventualmente pedirá el número de registro para continuar adelante. Una vez dado el número de registro, la instalación continuará.

6) Apagamos y encendemos la máquina. En esta ocasión, el arranque no se llevará a cabo con Windows XP sino con Windows 98, como si Windows XP hubiese sido borrado del disco duro. Naturalmente, Windows XP no ha sido borrado del disco duro, puesto que la instalación se llevó a cabo hacia otra partición primaria diferente de aquella partición en la cual está metido todo lo que tiene que ver con Windows XP. Sin embargo, la identificación de arranque para Windows XP que estaba puesta en el sector 0 del disco duro (la cual tiene una extensión fija de 512 bytes para todos los sistemas operativos incluídos aquellos que no son de Microsoft tales como Linux) fue destruída para poner en su lugar la identificación de arranque para Windows 98, que es con lo que estamos empezando. Esta identificación de arranque la guardaremos de la siguiente manera:

I) Entramos directamente en el sistema operativo Windows 98 (a estas alturas, ya no podemos entrar al sistema operativo Windows XP, el cual aparentemente está inaccesible).

II) Abrimos el Bloc de Notas (Notepad) del Windows 98 que está puesto en:

Start (Inicio) → Programs → Accesories → Notepad

y escribimos dentro del mismo lo siguiente tal y como está dado sin meter líneas adicionales de texto ni espacios en blanco adicionales ni caracteres especiales algunos de ningún tipo:

L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q

III) Guardamos este archivo de texto en el diskette de arranque para Windows 98 con el nombre READ.SCR (este archivo de texto debe tener un tamaño de 56 bytes). Es importante que el diskette de arranque contenga el archivo ejecutable debug.exe.

IV) Salimos de Windows 98 apagando la máquina mediante el procedimiento usual de apagado de Windows (el cual es parecido en todos los sistemas operativos Windows de Microsoft), y la encendemos nuevamente con el diskette de arranque para Windows 98 puesto en la bahía para diskettes floppy, y una vez que aparezca la línea de comandos DOS con el prompt A:\> escribimos:

A:\> debug < read.scr

(Si se intenta llevar a cabo este procedimiento en alguna máquina que tenga instalado un sistema operativo reciente como Windows 7, no funcionará porque la utilería DOS debug fue eliminada del mismo y ya no está disponible.)

Los cuatro pasos anteriores (I-IV) son precisamente los que crearán el archivo bootsect.dos que será indispensable posteriormente para poder arrancar Windows 98 pero esta vez bajo el control de Windows XP. El archivo bootsect.dos es el sector de arranque boot que tiene que ser recogido por una pieza de arranque de Windows XP, el programa ntldr, para poder cargar a su vez todo lo que tenga que ver con un sistema operativo diseñado con tecnología informática DOS (en este caso, Windows 98). En una máquina de boot dual que tenga un Windows XP con un Windows 98 instalado a su lado, el sector de boot para el sistema operativo Windows 98 siempre deberá estar guardado bajo el nombre de archivo bootsect.dos en la ruta C:\bootsect.dos, mientras que el sector de inicialización boot para Windows XP también conocido como el MBR (Master Boot Record) permanecerá ubicado en todo momento al principio de la partición primaria del sistema en el sector 0 del disco duro. Una cosa relevante del MBR es que el MBR no está instalado en el sector 0 del disco duro bajo ningún nombre de archivo. Simplemente se trata de un bloque contiguo de 512 bytes de información el cual carece de nombre. Sin embargo, sin esto, y si hubiera una secuencia de ceros binarios puesta en el sector 0 del disco duro por algún virus informático o por algún error del usuario al manejar programas de acceso directo al disco duro como HDHacker, la máquina puede quedar inútil, inoperante, incapaz de poder arrancar. Es por esto que resulta una muy buena idea recoger la información que hay en los 512 bytes del sector 0 del disco duro con alguna utilería guardándola bajo algún nombre de archivo como WINXP.MBR (aquí la extensión MBR es arbitraria y de hecho no es reconocida ni requerida por sistema operativo alguno, es simplemente una forma de poder reconocer lo que guarda el archivo). Desafortunadamente, la utilería HDHacker no puede ser utilizada para este propósito si el sistema operativo con el que está funcionando la máquina es Windows 98, ya que HDHacker trabaja bajo Windows XP (sin embargo, HDHacker se puede utilizar para guardar el MBR del Windows XP), en cuyo caso se puede recurrir al procedimiento dado aquí para copiar los 512 bytes del sector 0 del disco duro a un archivo que seguramente tendrá como nombre bootsec.dos o algún otro nombre temporal que le queramos dar como WIN98.MBR. Cuando Windows XP es seleccionado del menú de opciones de cargador de boot (esto es, del menú de opción de arranque presentado al usuario por Windows XP, el Boot Loader Menu), el sector de inicialización boot de Windows XP es utilizado de la manera normal recurriendo al programa ntldr. Sin embargo, y sólo cuando Windows 98 es seleccionado de entre el menú de dos opciones, la información del sector de boot pertinente a Windows 98 y que está resguardada dentro del archivo bootsect.dos es utilizada (en lugar del sector de inicialización boot de Windows XP/2000/NT), invocándose el archivo DOS IO.SYS de Windows 98. Esta regla es general. Si en el menú de opciones de inicio de Windows XP se selecciona un sistema operativo que no trabaje con tecnología Windows NT, el programa ntldr carga de inmediatamento a bootsect.dos transfiriéndole el control del proceso de arranque de la computadora. bootsect.dos lo que le permite al sistema localizar, cargar y echar andar al otro sistema operativo.

V) Finalmente, con el comando DOS copy, se copia el archivo bootsect.dos del diskette puesto en la bahía A: para los diskettes floppy al directorio raíz del disco duro, esto es, a C:, de la manera siguiente:

 A:\> copy a:\bootsect.dos c:\bootsect.dos

Es posible que, en caso de que ya exista un archivo bootsect.dos en el directorio raíz C: del disco duro, se le tenga que remover dicho archivo después de haber hecho un respaldo del mismo para poder meter el que hemos creado arriba, haciendo el cambio de directorio de A: a C: con el comando DOS cd C:, y ya estando en el directorio raíz del disco duro se lleve a cabo la modificación de los atributos del archivo bootsect.dos desde la línea de comandos DOS bajo el prompt C:\>: usando el comando DOS attrib con los modificadores -s, -h  y -r de la siguiente manera:

C:\> attrib c:\bootsect.dos -s -h -r

en caso de que el archivo bootsect.dos ya exista en el directorio raíz del disco duro y se obtenga un mensaje de error al intentar copiar al directorio raíz del disco duro el archivo bootsect.dos que hemos creado con debug en el diskette.

El nombre del comando DOS debug usado arriba puede resultar algo engañoso ocultando su enorme potencia, ya que el archivo ejecutable debug.exe puede actuar como un ensamblador (término usado por los expertos en informática para identificar a un programa que puede tomar un programa informático escrito en un lenguaje de texto entendible para los humanos, convirti éndolo en un programa ejecutable producido en el lenguaje de máquina binario con unos y ceros que el CPU de la computadora puede entender y ejecutar), puede actuar como desensamblador (el procedimiento inverso) así como realizar otras funciones de ayuda importantes. En la forma en la que se especifica arriba:

A:\> debug < read.scr

el comando debug tomará el archivo READ.SCR y acatando las instrucciones contenidas dentro del archivo almacenará (en el diskette magnético puesto en el drive A:) el código binario de boot MBR con un tamaño de 512 bytes dándole al archivo de texto el nombre bootsect.dos de acuerdo a lo que se ha especificado dentro del archivo READ.SCR. Esto ocurrirá de modo automático y ya está programado dentro de las capacidades de debug.

Conviene tener una explicación en mayor detalle del significado de cada línea en el programita:

L 100 2 0 1
N C:\BOOTSECT.DOS
R BX
0
R CX
200
W
Q

Empezaremos por aclarar que lo anterior está escrito en lenguaje ensamblador, y lo que hace debug es actuar como un ensamblador convirtiendo lo que está puesto en lenguaje assembler (legible para los humanos) en lenguaje de máquina (legible para la máquina, pero ilegible para los humanos). Algo relevante aquí es que usualmente utilizamos un ensamblador para tomar un conjunto de instrucciones puestas en lenguaje de máquina para convertirlas en un programa ejecutable. Sin embargo aquí no se está produciendo un programa ejecutable, se está construyendo un segmento MBR como el que debe estar ubicado en el sector 0 del disco duro de cualquier máquina. De cualquier modo, y esto es importante, en la primera línea del código que tenemos arriba, si la expresamos en su forma más general:

L 100 n 0 1

el número que ocupa la posición n debe corresponder al número (en sistema de numeración hexadecimal) de la partición primaria en la cual se debe encontrar el archivo bootsect.dos; si es la partición C: usamos el número 2, si es la partición D: usamos el número 3, y así sucesivamente. Por regla general, el número siempre será 2, correspondiendo a la partición primaria C:.

La letra solitaria en la última línea del programita (Q, destacada en color azul) es la que dá la orden de Quit, o sea salir de debug y regresar a la línea de comandos del sistema operativo MS-DOS, en tanto que la letra con la que comienza la primera línea (L, destacada en color azul) es el comando de carga (Load), usada para copiar hacia los registros de memoria del procesador CPU los sectores absolutos ya sea del diskette magnético de 3.5" puesto en la bahía que corresponde al lector de diskettes (A:) o del disco duro (el conteo sectorial comienza con el primer sector de la primera pista circular del disco duro conocida como la pista 0, continuando hasta el final de la pista), y para poder ser utilizado el comando de carga L es necesario especificarle el domicilio de inicio, el drive (0=A, 1=B, etc.), el sector de inicio y el número de sectores para copiar a la memoria. De este modo, la línea:

L 100 0 10 20

instruye a debug que se inicie el copiado hacia los registros de memoria del CPU, empezando en la ubicación DS:0100 (100 no es un número decimal ni binario, es un número hexadecimal, véase la obra de este mismo autor titulada “Fundamentos de Lógica Digital” disponible en Internet) del diskette magnético de 3.5" que está puesto en la bahía que corresponde al lector de diskettes (A: simbolizado numéricamente como 0), copiando la información que corresponde a 20 sectores. Por su parte, el comando de Nombre (N, destacado en color azul) con el que empieza la segunda línea es el que especifica el nombre del archivo al que debug va a escribir o del cual va a leer, y si va a escribir un archivo que aún no existe entonces se crea un archivo con el nombre proporcionado creándolo en el directorio especificado. Y en lo que respecta a la letra R (destacada en color azul), esta especifica una operación llevada a cabo en uno de los varios Registros del CPU (los cuales son AX, BX, CX), mientras que la letra solitaria en la penúltima línea del código (W, destacada en color azul) corresponde a la instrucción Write, la cual se encarga de escribir la información tomada previamente (en nuestro caso, del sector 0 del disco duro) al archivo creado por debug (bootsect.dos). Por último, la tercera línea y la cuarta línea en realidad forman una sola línea:

R BX 0

mientras que la quinta línea y la sexta línea también forman una sola línea:

R CX 200

El nombre dado arriba al archivo intermedio READ.SCR en el que se guardó el programita escrito en lenguaje ensamblador para debug es completamente arbitrario, y la extensión de tres caracteres SCR típicamente usada para identificar archivos de pantalla de imagen para ahorrado de energía (screen saver) es también arbitraria ya que este archivo no se usará como archivo de pantalla de imagenpara ahorrado de energía. Igualmente se le pudo haber dado otro nombre con cualquier otra extensión, como bootblock.txt (el nombre no puede constar de más de 8 caracteres, y la extensión del archivo no puede constar de más de tres caracteres, de acuerdo con las convenciones de MS-DOS), en cuyo caso se tendría que utilizar la siguiente orden:

debug < bootblock.txt

Esto creará nuevamente un archivo bootsect.dos con los 512 bytes que obran en el sector 0 del disco duro y los cuales son el MBR del sistema operativo Windows 98.

Hasta este punto, en el procedimiento que se está dando, tenemos a Windows 98 instalado en la máquina, y cuando la máquina sea encendida deberá arrancar en el sistema operativo Windows 98 en la partición primaria en la que haya sido puesto. Ahora es necesario reinstalar el arranque normal de Windows XP con la ayuda de la Consola de Recuperación de Windows XP, permitiéndole al sistema operativo incorporar con la ayuda del archivo bootsect.dos la información necesaria para que desde Windows XP se pueda arrancar a Windows 98 a partir del menú de opciones. Para ello, los pasos a seguir son los siguientes:

1) Configúrese la máquina, desde el programa BIOS, para que al ser encendida el orden de búsqueda para el arranque del sistema no sea el disco duro sino el lector de CD-ROMs, en un orden como el siguiente:

CD-ROM, C (el disco duro),  A (bahía de diskettes floppy)

2) Introdúzcase el disco CD original de instalación del sistema operativo Windows XP que vino junto con la máquina.

3) Se empezarán a copiar algunos archivos, y al ser presentada la lista de opciones disponibles, se tendrán las opciones de instalar el sistema operativo o de reparar una instalación ya existente. Puesto que el sistema operativo Windows XP ya existe en el disco duro, sin haber sido borrado del mismo, selecciónese la opción de Reparar, con la cual se invoca la Consola de Recuperación de Windows XP.

4) Se preguntará la opción de Windows XP en la cual se quiere entrar (login). Introdúzcase el número 1 (generalmente sólo hay una instalación).

5) La Consola de Recuperación pedirá la clave de acceso (password) del Administrador. Para Windows XP Home Edition, la clave de acceso de default queda en blanco, simplemente se oprime la tecla de entrada Enter. Para Windows XP Profesional, se debe proporcionar la misma clave de acceso que se escogió durante el proceso de instalación por vez primera de ese sistema operativo.

6) En el prompt C:\Window, escríbase:

fixboot

tras lo cual se pedirá una confirmación. Acéptese para continuar. Este paso se encargará de reinstalar en el sector 0 del disco duro el Master Boot Record de Windows XP (removiendo el MBR de Windows XP) lo cual a su vez permitirá que cuando la máquina se apague y se encienda de nuevo pueda volver a arrancar nuevamente desde Windows XP.

7) Cuando el proceso de reparación fixboot haya concluído, se remueve el  disco CD original de instalación del sistema operativo Windows XP que vino junto con la máquina, se escribe el comando exit en la consola de comandos, y se permite que la máquina se reinicialice. Reconfigúrese el orden de boot de la máquina desde el programa BIOS (en caso de ser necesario) para que el arranque de boot se puede llevar a cabo desde el disco duro, especificando en el programa BIOS un orden de búsqueda como el siguiente:

C (el disco duro), CD-ROMA (bahía de diskettes floppy)

8) Al encenderse la máquina, el usuario descubrirá una grata sorpresa. No sólo encontrará que Windows XP nuevamente arranca de la manera usual en que lo hacía antes de que se instalara Windows 98 en la máquina, sino que en el proceso de arranque dará dos opciones de inicio cuando antes solo había una: la opción de empezar con Windows XP, y la opción de empezar con Windows 98. De este modo, el procedimiento fixboot no sólo reestableció el MBR original de Windows XP en el sector 0 del disco duro, sino que antes de borrar el MBR de Windows 98 reconfiguró su procedimiento de arranque para recurrir al archivo bootsect.dos dando una segunda opción de arranque.

ES IMPORTANTE TENER PRESENTE QUE SIEMPRE HAY QUE HACER UN RESPALDO DEL ARCHIVO bootsect.dos Y CONSERVARLO EN ALGUN LUGAR SEGURO, PORQUE NI EL COMANDO fixboot NI EL COMANDO fixmbr EJECUTADOS DESDE LA CONSOLA DE RECUPERACION DE WINDOWS XP PUEDEN RECREAR ESTE ARCHIVO SI ES BORRADO ACCIDENTALMENTE DEL DIRECTORIO RAIZ DEL DISCO DURO, Y MENOS TRATANDOSE DE UN DISCO DURO QUE HA SIDO PARTICIONADO EN VARIAS PARTICIONES PRIMARIAS. La Tabla de Particiones del disco duro está contenida precisamente en el MBR. No es posible simplemente tratar de copiar el archivo bootsect.dos de alguna otra instalación (otra máquina ubicada en algún lugar diferente), porque el sector MBR de boot contiene la tabla interna que describe las características físicas del disco duro de la máquina (número de cabezales del disco duro, cantidad de sectores por pista, etc.) así como la manera en la que fue particionado el disco duro, y se trata de información que sólo será igual tratándose de máquinas idénticas con discos duros particionados exactamente de la misma manera, lo cual es casi imposible que ocurra.

Cabe hacer la observación de que en una máquina nueva cuando se vendía (en aquellos tiempos) con Windows 98 instalado en ella como su único sistema operativo, no había ningún archivo bootsect.dos en el directorio raíz del disco duro de la máquina, simple y sencillamente no lo necesitaba puesto que el MBR requerido para echar a andar a Windows 98 estaba ya instalado en el sector 0 del disco duro. Era únicamente cuando se llevaba a cabo la actualización de la máquina de Windows 98 a Windows XP cuando el procedimiento de instalación de Windows XP se encargaba de tomar el MBR que había en el sector 0 del disco duro, creando el archivo bootsect.dos y guardando los 512 bytes del MBR en dicho archivo, para proceder a escribir después en el sector 0 del disco duro el MBR propio de Windows XP, preguntándole posteriormente al usuario si deseaba conservar al sistema operativo Windows 98 en la máquina junto con el sistema operativo Windows XP, en cuyo caso se procedía a crear una máquina de boot dual con la ayuda de otro comando interno a Windows XP, bootcfg, proporcionándole al archivo boot.ini de Windows XP la información necesaria para poder configurar a la máquina como una máquina de arranque dual.

Ahora que sabemos mejor cómo funciona el procedimiento de arranque de una máquina que tenga dos sistemas operativos instalados en ella con el procedimiento inicial de arranque bajo control de Windows XP, podemos entender mejor explicado en una forma más detallada el procedimiento de arranque de una máquina que tenga instalado únicamente Windows XP, el cual se lleva a cabo mediante la siguiente secuencia de pasos:

a) El primer paso al encender la máquina es que la electrónica de la máquina lleve a cabo sus programas de autodiagnóstico checando los componentes del hardware instalados en la tarjeta madre, un procedimiento conocido como POST (Power On Self Test). Todo esto se lleva a cabo bajo el control del programa BIOS integrado a la electrónica de la máquina.

b) Una vez que la rutina de inicialización de la máquina ha terminado, la computadora buscará (aún bajo el control del BIOS) el dispositivo del cual se cargará el sistema operativo, que puede ser el disco duro, el lector de CD-ROMs, la bahía para diskettes de 3.5" (y, más recientemente, de los puertos USB). Identificado el dispositivo, el BIOS cargará el código MBR en la memoria RAM de la computadora.

c) Aún bajo el control del BIOS, el BIOS buscará dentro del MBR una pequeña sección de código ejecutable. A partir de este punto, el BIOS transfiere el control del programa al MBR del sistema operativo. A partir de este punto, el BIOS sale fuera del panorama y el sistema operativo Windows XP toma el control de la máquina. El código ejecutable invocado desde dentro del MBR del sistema operativo invoca a su vez al programa ntldr.

d) ntldr activa otro archivo, el archivo ejecutable ntdetect.com, el cual lee los contenidos del archivo boot.ini que contienen la información acerca del sistema operativo que se quiere echar a andar.

e) A partir de este punto, siendo Windows XP el único sistema operativo instalado en la máquina, Windows XP queda firmemente con el control de la máquina, y la única manera en la cual se le puede quitar el control de la misma es apagándola.

d) El siguiente archivo de Windows XP en ser cargado a la memoria RAM es HAL.DLL, el cual transfiere el control al kernel de Windows XP echando a andar el archivo ejecutabl NTOSKRNL.EXE.

f) NTOSKRNL.EXE es responsable por identificar y activar todos los drivers de los dispositivos instalados en la computadora. Todos los drivers de los dispositivos y los servicios de Windows estarán disponibles a partir de aquí.

g) NTOSKRNL.EXE activa WINLOGON.EXE, el cual se encarga de echar a andar LSASS.EXE. Es en este punto cuando puede aparecer en la pantalla la petición al usuario de que introduzca su nombre y su contraseña para poder continuar adelante con el cargado del resto del sistema operativo Windows XP en la memoria RAM de la máquina.

En el caso de una máquina de boot dual que tenga instalados a Windows XP y a Windows 98, se puede desde el menú inicial de opciones de Windows XP escoger entrar a Windows 98 en vez de entrar a Windows XP. En tal caso, no se recurrirá al MBR que está en el sector 0 del disco duro y que es el MBR propio de Windows XP. Se recurrirá al archivo bootsect.dos que está puesto en el directorio raíz de la partición primaria del disco duro en la que están ubicados los archivos de Windows XP. Sin embargo, no hay que perder de vista el hecho de que bootsect.dos ES un MBR. Para confirmarlo, basta con ver las propiedades del archivo bootsect.dos, y se encontrará que el archivo tiene un tamaño de 512 bytes, justo el tamaño de un segmento de boot MBR. Pero en virtud de que en el sector 0 del disco duro solo puede haber un MBR que corresponda a un sistema operativo, el MBR de Windows 98 tiene que ser puesto en algún otro lado, y por convención de Microsoft estará puesto siempre bajo el archivo bootsect.dos.

En muchas instalaciones de Windows XP, después de activar la opción para poder ver los archivos ocultos en la partición primaria C: del disco duro y desactivar la opción para ocultar los archivos del sistema, el usuario podrá darse cuenta de que el archivo bootsect.dos posiblemente no existe en el directorio raíz del disco duro. Tal archivo realmente no es necesario en máquinas en las cuales se trabajará exclusivamente con Windows XP, e inclusive si se elimina el archivo bootsect.dos (en caso de que lo haya) la máquina podrá seguir trabajando sin problema alguno con Windows XP. Pero en máquinas en las cuales también se tendrá un segundo sistema operativo con tecnología informática DOS como Windows 98, tal archivo tiene que existir en el directorio raíz de la partición primaria C: del disco duro para que al arrancar la máquina se pueda tener la opción de arranque en cualquiera de los dos sistemas operativos.

Con el procedimiento de instalación que se ha dado aquí, pudiera creerse, erróneamente, que debería ser posible instalar en una misma máquina dos sistemas operativos de Microsoft tales como Windows 95 y Windows 98, o bien dos sistemas operativos tales como Windows NT 3.51 y Windows XP. Sin embargo, esto no es posible, porque para que pueda configurarse una máquina dual con dos sistemas operativos de Microsoft, solo es posible tomar un sistema operativo de la siguiente familia:

{MS-DOS, Windows 95, Windows 98, Windows Me}

junto con otro sistema operativo de la siguiente familia:

{Windows NT 3.51, Windows 2000, Windows XP}

Esto se debe a que los sistemas operativos de la primera familia comparten un procedimiento boot de inicialización y arranque de la máquina que es diferente del procedimiento boot de inicialización y arranque que comparten los sistemas operativos de la segunda familia. La primera familia de sistemas operativos utiliza en su inicialización la tecnología DOS que recurre primeramente al archivo IO.SYS, mientras que la segunda familia utiliza la tecnología NT que hace uso de los archivos boot.ini y ntldr. Y de hecho, es el archivo boot.ini que comparten los sistemas operativos de la segunda familia el que hace posible la selección del sistema operativo a utilizar mediante la presentación de un menú con las dos opciones. En otras palabras, es posible seleccionar desde la inicialización de Windows XP mediante el menú de opciones que presenta al usuario al empezar, el sistema operativo con el cual se desea trabajar, ya sea desde continuando con el mismo Windows XP en su inicialización, o haciéndolo desde Windows 98, pero no es posible hacerlo desde Windows 98 porque Windows 98 ni ofrecía tal menú de opciones al empezar, y de hecho la tecnología NT era tan nueva (y tan costosa) en aquél entonces que para la mayoría de los usuarios no cabía la posibilidad de imaginar una máquina con los dos sistemas operativos instalados. Windows 98 estaba diseñado para el consumo popular, mientras que Windows NT estaba diseñado para ser usado por las grandes empresas.

Podemos tomar cualquier sistema operativo de la primera familia, y hacer una combinación del mismo con cualquier sistema operativo de la segunda familia para construír una máquina de boot dual, porque al usar distintos tipos de archivos en la inicialización, la presencia en el disco duro de los archivos de un sistema operativo no intefiere con la presencia en el disco duro de los archivos del otro sistema operativo. En cambio, tanto Windows 95 como Windows 98 requieren del mismo archivo IO.SYS, y no es posible darle el mismo archivo a ambos, ya que los contenidos de dicho archivo son diferentes para ambos sistemas operativos. Más aún, si queremos instalar el sistema operativo Windows 98 en una máquina que ya contenga a Windows 95, lo primero que tendremos que enfrentar durante la instalación del Windows 98 es que los archivos de Windows 95 serán modificados o reemplazados por los archivos de Windows 98 al migrar de un sistema operativo a otro, tratándose de mantener la compatibilidad “hacia arriba” (upward compatibility). En la máquina ya no existirá Windows 95, sólo existirá Windows 98. Y si por alguna razón queremos ir “hacia abajo”, instalando Windows 95 en una máquina que ya tenía Windows 98 instalado, encontraremos que no es posible hacerlo en esta dirección, y el programa de instalación se rehusará a sacar fuera un sistema operativo más avanzado reemplazándolo por otro que considera más primitivo. De este modo, una máquina con un sistema operativo Windows 95 puede ser actualizada con Windows 98, pero no a la inversa; del mismo modo que una máquina con el sistema operativo Windows 98 puede ser actualizada con el sistema operativo Windows Millenium (Windows Me) pero no a la inversa. Y Windows XP puede ser instalado en una máquina que tenga a los Windows anteriores en virtud de que al usar una tecnología diferente los puede incorporar sin reemplazo alguno Esta es la razón del orden de instalación de sistemas operativos dado por Microsoft en su famoso documento.

Un hecho curioso es que, aunque Windows XP fue construído con la misma tecnología informática derivada de Windows NT, no era capaz de poder ofrecer al usuario una máquina de boot triple como se podía lograr cuando se instalaba en la máquina el sistema operativo Windows NT. Hay más detalles al respecto en el documento técnico de Microsoft que describe cómo era posible tener una máquina capaz de iniciar con cualquiera de los sistemas operativos MS-DOS, Windows 95/98 o Windows NT (inclusive era posible instalar sin problema alguno al sistema operativo MS-DOS 6.x en una máquina que ya tenía instalado a Windows NT, desobedeciendo el orden de instalación de sistemas operativos recomendado por Microsoft en el documento técnico citado arriba). De hecho, Microsoft pudo haber diseñado a Windows XP para poder manejar una cantidad indeterminada de sistemas operativos (por ejemplo, cuatro sistemas operativos diferentes) en una misma máquina, ya tenía el talento técnico para hacer tal cosa y no le hubiera costado problema alguno. Sin embargo, Microsoft se rehusó a hacer tal cosa, temerosa quizá de la aparición de otros sistemas operativos como Corel Linux, Red Hat Linux y Ubuntu Linux, que amenazaban con quitarle a Microsoft su predominio en el mercado por ser sistemas operativos gratuitos descargables sin costo alguno de la Web. Permitirle al usuario instalar varios sistemas operativos diferentes (ofertados por otras empresas) permitiéndole con esto comparar la eficiencia y la calidad de los competidores de Microsoft es una mala estrategia para mantener el predominio absoluto en el mercado de las tecnologías informáticas.

El lector debe tomar en cuenta que al instalar a Windows 98 en una máquina, aunque esta máquina ya tenga instalado Windows XP será necesario prescindir de algunas comodidades que ofrece Windows XP, y aquí nos estamos refiriendo a la instalación de los drivers necesarios para que el sistema operativo se pueda comunicar con los dispositivos conectados a la máquina, tales como el monitor de colores, la impresora, la tarjeta de sonido, el modem, etc. En el caso de Windows XP, basta con conectar el dispositivo a la computadora (ya sea por dentro o por fuera) y Windows XP muy posiblemente suministrará sus propios drivers para que se pueda establecer esta comunicación, y si no los encuentra dentro de su repertorio muy posiblemente los pueda buscar en Internet (siempre y cuando la máquina esté conectada a la Web). En cambio, con Windows 98, incluyendo a Windows 98 Segunda Edición, los drivers tienen que ser suministrados manualmente por el  usuario para cada dispositivo que se vaya conectando a la computadora, usando para ello el disco CD incluído por el fabricante del dispositivo, y ello suponiendo que el fabricante haya elaborado drivers que funcionen en combinación con el sistema operativo (esto último no está garantizado, y un ejemplo son los dispositivos de memoria USB más recientes, los cuales basta con conectarlos a los puertos USB de una computadora para que estos le transfieran en la primera conexión a la computadora la información necesaria para que Windows XP los reconozca, en cambio para la mayoría de los dispositivos de memoria USB más recientes tal reconocimiento no es automático bajo Windows 98 e inclusive no hay drivers para ellos compatibles con Windows 98 pese a que Windows 98 a diferencia de Windows 95 ya estaba plenamente habilitado para el manejo de puertos USB). Afortunadamente, si se necesitan drivers para algún dispositivo (por ejemplo, alguna tarjeta interna ISA de sonido Sound Blaster AWE 64 de la empresa Creative) aún se pueden bajar de la Web tales drivers de las bibliotecas de muchas empresas, los cuales se usan en la instalación manual del dispositivo.

En todo lo que se ha discutido anteriormente, se ha dado por hecho de que la computadora en la cual se va a instalar Windows 98 sobre Windows XP tiene disponible una bahía lectora de diskettes magnéticos de 3.5". Esto es cierto si se trata de una computadora con cierta antigüedad. Sin embargo, en las computadoras más recientes, principalmente las nuevas construídas y vendidas a partir de 2010, tal bahía lectora de diskettes ya no existe, y no es posible hacer una inicialización boot en ellas desde el drive A: que había antes. ¿Qué hacer en tales casos? Hay varias alternativas disponibles. Si bien dicha bahía ya no existe, el lector de discos CD-DVD sigue existiendo. Cambiando desde el BIOS (aún sigue habiendo un BIOS en las computadoras más nuevas, y esto no cambiará) el orden de búsqueda para el cargado de código para que antes de que se busque el código de boot en el disco duro se busque primero en el lector de CDs-DVDs, esto ofrece una salida, aunque desafortunadamente en un arranque de boot solo se puede leer información del lector de CDs-DVDs, no se puede escribir al mismo porque los programas especializados para grabar en un lector de discos CD-DVD (como Nero) requieren de un sistema operativo funcional completo para poder grabar en discos vírgenes. Por otro lado, el disco CD que se debe poner en el lector de CDs-DVDs para que se pueda llevar a cabo la operación de cargado del sistema operativo DOS en la memoria RAM de la máquina no es un disco CD cualquiera, debe ser un disco CD de inicialización automática conocido en la literatura técnica como disco CD bootable, con todos los archivos de boot del sistema operativo MS-DOS o los que corresponden al diskette de emergencia de boot para el sistema operativo Windows 98 (command.com, autoexec.bat, attrib.exe, debug.exe, etc.). Una buena alternativa para la creación de un disco CD bootable es el disco CD de boot Hiren BootCD. Y aunque en las tarjetas madre nuevas ya no existe un conector disponible para conectar a la tarjeta madre un drive lector de diskettes magnéticos de 3.5", hay en el mercado drives lectores de diskettes magnéticos que funcionan con la convención de conexión de dispositivos SATA, y todas las tarjetas madre recientes tienen provisiones para conectar varios dispositivos SATA a la tarjeta madre. Sin embargo, esto funcionará únicamente si el BIOS es capaz de reconocer durante la inicialización de la máquina un drive lector de diskettes magnéticos que esté conectado a la máquina mediante la convención de conexión de dispositivos SATA, presentándolo además como opción en el orden de boot para la inicialización de la máquina. Puesto que casi todos los discos duros que se fabrican en la actualidad se fabrican para ser conectados a la tarjeta madre con la convención SATA, existe una buena posibilidad de poder modificar la máquina agregándole una bahía lectora de diskettes magnéticos de 3.5" tipo SATA conectada a la tarjeta madre bajo dicha convención (lógicamente, debe de haber un espacio físico disponible en el gabinete de la computadora para poder montar este tipo de dispositivo, además de la tornillería que a veces no se incluye como parte del dispositivo). A continuación se muestra uno de tales drives, el drive modelo Dtech DT-1035 3.5"con 1394A ESATA USB SATA:


Otra alternativa posible es hacer el boot DOS desde un dispositivo de memoria USB, pero este asunto no es tan sencillo y se requiere de un ritual algo técnico. Considérese que para que un dispositivo de memoria USB pueda funcionar como dispositivo de boot del sistema operativo MS-DOS, además de tenerse que habilitar el reconocimiento de dispositivos USB desde el BIOS y además de que el BIOS incluya como opción de búsqueda a las bahías de puertos USB de la computadora en el orden disponible del BIOS de dispositivos para llevar a cabo la inicialización boot de la máquina (lo cual es algo reciente y que cada vez más fabricantes de tarjetas madre están incorporando dentro de las capacidades de sus BIOS, el poder reconocer a un dispositivo de memoria USB como un dispositivo del cual se pueda cargar algo como el MS-DOS), es necesario tener instalado algo que sea capaz de reconocer el dispositivo de memoria USB que se vaya a utilizar, y desafortunadamente los drivers para estos dispositivos no son universales ya que varían de un fabricante a otro e inclusive de un modelo a otro dentro de la misma compañía (esta es la razón por la cual cada vez que se conecta un dispositivo de memoria USB en una computadora con Windows XP en la que nunca antes se haya usado el dispositivo es necesario que Windows XP lleve a cabo la instalación de los drivers en su base interna de datos para poder reconocerlo como dispositivo de memoria USB). Para hacer un dispositivo de memoria USB que pueda servir para llevar a cabo una inicialización DOS de la máquina desde el mismo dispositivo de memoria USB, se requiere programar previamente el dispositivo de memoria USB con la ayuda de programas especiales que sean capaces de poder escribir un segmento de código de boot (conocido en algunos medios como Boot Block) al dispositivo de memoria USB. No debe causar asombro que el segmento de código de boot que se ponga en el dispositivo de memoria USB empiece con un MBR al igual que como ocurre con un disco duro, tras lo cual el dispositivo de memoria USB aparecerá como si fuese un disco duro (sin serlo). En este empeño, se puede recurrir a utilerías como el HP Disk Storage Format Tool y como MakeBootFat. La primera utilería, el USB Disk Storage Format Tool, contenida en el archivo SP27213.exe de la empresa Compaq/HP (este es un archivo ejecutable de 2 Mb), que aunque no está disponible directamente de la empresa se puede bajar de muchas otras partes localizables con Google, es la que ofrece la ruta más fácil y directa para convertir un dispositivo de memoria USB en un dispositivo de boot DOS. Se requiere complementar a SP27213.exe desde luego con los archivos DOS del diskette de emergencia de boot de Windows 98 o con los archivos de boot del sistema operativo MS-DOS, pero inclusive en esto es posible encontrar archivos comprimidos como USB_Boot.zip (este es un archivo de 3.1 Mb) que incluyen en un solo paquete tanto a SP27213.exe como a los archivos de DOS para la creación de un dispositivo de memoria USB que actúe como dispositivo de boot. Los rituales para el uso de estas utilerías se pueden encontrar discutidas en mayor detalle en artículos como el artículo publicado por Paul Driver en PCPerspective el 28 de mayo de 2006. Es importante señalar que para la conversión de un dispositivo de memoria USB a un dispositivo de boot de DOS el dispositivo de memoria USB será formateado desde el principio borrándose todos los archivos que haya en él, por lo cual es una buena idea hacer un respaldo de los documentos que contenga. Una vez que se ha construído un dispositivo de memoria USB para ser utilizado como dispositivo de inicialización de boot DOS (conectado a la máquina al momento de ser encendida), no es inusual que en algunos medios se le identifique como un disco de boot (como si fuese un diskette magnético de 3.5" colocado en la bahía lectora de diskettes, o como si fuese un disco duro Western Digital) aunque no lo sea, ya que, virtualmente, parecerá como si fuese un disco duro inicializando en DOS. Hay otras utilerías como DOS-on-USB (de 8.7 Mb) disponible (sin costo alguno) en CNET que también permiten convertir un dispositivo de memoria USB en un dispositivo de boot USB trabajando con un sistema operativo como MS-DOS 7.1, aunque en el caso de DOS-on-USB ésta no es de mucha utilidad en máquinas recientes formateadas bajo el sistema de archivaje NTFS y no bajo el sistema de archivaje FAT y que además trabajan con la convención de conexión de dispositivos SATA en lugar de la convención de dispositivos IDE. Para máquinas más modernas que cuentan ya con la convención de dispositivos SATA y que usan el sistema de archivaje NTFS, se puede recurrir a utilierías como UltraBootCD (de 45 Mb) también disponible (sin costo alguno) en CNET.

Al principio de este documento, se hizo hincapié en la necesidad de instalar a Windows 98 en una partición primaria del disco duro diferente de la partición primaria en la que se encuentra instalado Windows XP (por ejemplo, Windows XP en la partición primaria C:, y Windows 98 en la partición primaria D:, aclarándose que las letras identificadoras usualmente son asignadas por el sistema operativo que tiene el control de la máquina). Es hora de entrar en los detalles del por qué esto no solo es deseable, sino inclusive por qué es necesario.

Puesto que no hay conflicto alguno entre los procedimientos de arranque, debería ser posible meter a Windows 98 en la misma partición primaria en la que se encuentra Windows XP. Sin embargo, dependiendo de la antigüedad de la computadora, tal vez esto no sea posible. ¿Y por qué razón desearíamos tener a Windows XP y a Windows 98 en particiones diferentes? Para computadoras algo viejas cuyo BIOS es igualmente viejo, el BIOS posiblemente no sea capaz de poder “leer” discos duros mayores de 30 Gb, 80 Gb ó 130 Gb, e inclusive es posible que ni siquiera sea posible leer discos duros (o particiones primarias en el disco duro) mayores de 8.4 Gb. Existe una forma muy fácil de saberlo, y esta consiste en tratar de llevar a cabo la desfragmentación de la partición primaria en la que se encuentra instalado Windows 98 desde la misma utilería de Windows 98 Defragmenter que se encuentra en las “Herramientas del Sistema” bajo los Accesorios, accesible siguiendo la ruta:

Start (Inicio) → Programs → Accesories → System tools

o bien tratando de llevar a cabo un escaneo del disco duro (o de la partición primaria en la que se encuentra instalado Windows 98) con la utilería de Windows 98 Scandisk que también se encuentra en las “Herramientas del Sistema” bajo los Accesorios, accesible siguiendo la ruta:

Start (Inicio) → Programs → Accesories → System tools

 Si aparece un mensaje como “Your computer does not have enough free memory to defrag the drive” (Su computadora no tiene suficiente memoria libre para desfragmentar el disco duro), esto significa que se han excedido las capacidades naturales del sistema para que Windows 98 pueda llevar a cabo la desfragmentación (o el escaneo). Esto puede ocurrir, por ejemplo, en una máquina con 128 Mb de memoria RAM y con un disco duro de 17 Gb que reemplazó a un disco duro de 8 Gb que había estado trabajando perfectamente hasta que falló, pero inclusive si la memoria RAM es aumentada por el usuario a 196 Mb (agregando una tablilla de 64 Mb de RAM) seguirá apareciendo el mismo mensaje, lo cual dejará perplejo al usuario ya que supuestamente si el problema era la falta de memoria RAM el haber incrementado la RAM no habrá ayudado en nada. Esto se debe a que el críptico mensaje de Windows 98 en realidad esconde y disimula un conflicto interno de la máquina en la que, entre la interacción del BIOS en la tarjeta madre con el disco duro, no es posible accesar discos duros o particiones primarias mayores de 8 Gb. Y para resolver esto, Microsoft recomienda llevar a cabo la actualización de Windows 98 a Windows XP, lo cual en cierto modo es una burla porque la misma Microsoft ya descontinuó Windows XP y no lo vende a ningún precio, mientras que sus monstruosos (hablando en términos de sus requerimientos voluminosos de espacio en el disco duro) sistemas operativos recientes como Windows 8 devoran cantidades considerables de espacio, esto sin contar con el hecho de que los recursos adicionales requeridos como los programas antivirus para sistemas operativos como Vista y Windows 7 devoran también una buena parte del disco duro. En una situación así, se puede intentar llevar a cabo una reducción del tamaño de la partición primaria asignada a Windows 98, reduciéndola, digamos, de 80 Gb a 8 Gb, lo cual debe eliminar el mensaje de error haciendo posible llevar a cabo la desfragmentación (o el escaneo) desde Windows 98. En realidad, esta es la solución directa y rápida.

El problema anterior no es tan simple como resignarse a prescindir de las capacidades del sistema operativo para poder llevar a cabo la desfragmentación o el escaneo del disco duro, ya que si no se pueden hacer estas dos cosas es muy posible que durante el proceso de apagado de la máquina el sistema operativo Windows 98 no pueda llevar a cabo tampoco operaciones cruciales importantes como la actualización de los archivos de configuración, lo cual se sabrá cuando el usuario se de cuenta de que el mensaje final de Windows 98 de que la máquina puede ser apagada (el que usualmente viene después del mensaje de espera que dice “Windows is shutting down” o “Windows se está apagando”) no aparece y de hecho nunca aparecerá porque la máquina está trabada en operaciones que no puede concluír, forzando al usuario a llevar a cabo un apagado manual de la máquina. Pero al ser apagada manualmente la máquina sin haberse completado los procedimientos automáticos normales de actualización de archivos (procedimientos que, dicho sea de paso, son lo que impide que una máquina cualquiera trabajando con Windows pueda ser apagada de inmediato requiriéndose de un tiempo de espera que en ocasiones se antoja largo), las reconfiguraciones necesarias no terminan de llevarse a cabo y el sistema se irá deteriorando cada vez más y más con el transcurso del tiempo (independientemente de que cada vez que sea encendida la máquina de nuevo Windows 98 estará obligando al usuario a esperar una cantidad considerable de tiempo mientras que Windows 98 lleva a cabo una revisión exhaustiva del sistema por haber sido apagada manualmente la computadora sin esperar a que Windows 98 completara un procedimiento de apagado que de cualquier modo no se lleva a cabo cuando se tienen los conflictos mencionados arriba). Para tratar de resolver este tipo de problema, y siguiendo su añeja tradición, Microsoft elaboró un parche como el que se discute en el portal ehow.com, parche el cual por cierto ya no está disponible, aunque de cualquier modo no hay garantía de que esto funcione exceptuando la solución directa de reducir el tamaño de la partición primaria del disco duro en la que está alojado Windows 98.

De este modo, tenemos un sistema operativo excelente, Windows 98, que dependiendo de la máquina y la antigüedad de la misma tal vez no pueda funcionar correctamente dentro de un disco duro grande o dentro de una partición primaria grande dentro del disco duro.

Pero por el otro lado, tenemos un sistema operativo como Windows XP para el cual un disco duro pequeño (o bien, una partición primaria pequeña) resulta espacio insuficiente para poder contenerlo todo, prácticamente pide a gritos un disco duro de alta capacidad (aunque, relativamente hablando, en máquinas antigüas Windows XP Service Pack 1 tiene problemas para accesar discos duros mayores de 137 Gb y es necesario actualizarlo a Windows XP Service Pack 2 para poder vencer dicha barrera).

La solución ideal entonces, para poder tener un sistema de boot dual que funcione sin problemas, consiste en tener a ambos sistemas operativos Windows 98 y Windows XP en dos particiones primarias diferentes de diferentes tamaños, Windows 98 en una partición primaria pequeña (por ejemplo, 8 Gb, o más si el BIOS de la tarjeta madre lo permite) y Windows XP en una partición primaria grande (por ejemplo, 100 Gb).

Ahora que están haciendo su aparición discos duros de capacidades enormes, en el orden de los Terabytes en lugar de los Gigabytes, resulta apropiado formularnos una pregunta válida: si es posible tener una máquina con dos sistemas operativos distintos como Windows 98 y Windows XP instalados en ella, ¿será posible tener una máquina con tres o cuatro distintos sistemas operativos? Esto es importante porque si bien sistemas operativos como Windows XP son incapaces de tener acceso pleno a un disco duro con una capacidad mayor a los 2,047 Gigabytes (2 Terabytes), mientras la partición primaria del disco duro en la que sea instalado un sistema operativo no exceda el límite máximo del sistema operativo  entonces el sistema operativo podrá funcionar sin problema alguno. En pocas palabras, el tamaño de la partición primaria en la que está instalado el sistema operativo es lo que importa, no el tamaño del disco duro. De acuerdo a lo que hemos visto aquí, bajo Windows XP sólo es posible tener una convivencia con otro sistema operativo, y ello siempre y cuando el otro sistema operativo sea un MS-DOS, un Windows 95, un Windows 98 o un Windows Millenium. Obviamente, para poder construír una máquina que pueda trabajar con cuatro sistemas operativos, será necesario recurrir a algún programa especial que se encargue del arranque de la máquina, dando la opción en el inicio de poder escoger de entre un menú de opciones cuál es el sistema operativo con el que queramos arrancar. Este tipo de programas especiales son conocidos como programas multi-boot o también como administradores de boot o boot managers. Y para que la máquina arranque con un menú de opciones en vez de arrancar directamente desde algún sistema operativo, será necesario que el MBR en el sector 0 del disco duro sea el MBR de ese programa especial, no el MBR de ningún sistema operativo. Pero este ya es otro asunto diferente que por su extensión quedará pendiente de publicación dentro de estas mismas bitácoras para el 10 de agosto de 2012.