Windows 95 + Windows 3.x + Linux Howto Robert Goodwin August 1996 Traducción: Manuel de Vega Barreiro v0.2-Diciembre 1996 0. Introducción. La primera versión de este documento se escribió en enero de 1996. He incorporado varios comentarios, informaciones y cuestiones recibidas desde entonces. Este documento esta disponible también en japonés; encontraras una colección de documentos en japonés en la pagina http://epsenewsc.gee.kyoto-u.ac.jp/JF/JF.html *** nota del traductor *** Como resulta obvio, este documento esta también disponible en Castellano *** 1. Arrancando varios sistemas operativos. Si deseas arrancar varios sistemas operativos (y no quieres arrancarlos usando disquetes), necesitas usar algún tipo de administrador de arranque. Win95 no incluye realmente un administrador de arranque, tiene solo opciones de arranque, sin embargo un administrador de arranque, desde mi punto de vista, debería poder configurarse para arrancar cualquier cosa. Lilo puede configurarse para arrancar prácticamente cualquier cosa, al igual que pueden hacerlo los administradores de arranque de OS/2 y Windows NT. La elección de uno de estos administradores es una decisión personal; depende de lo que desee en su sistema. Si, por ejemplo se opta por el administrador de OS/2, las otras particiones DOS quedaran ocultas. 2. Otros documentos de interés. Si desea compaginar Win95 y Linux, debería consultar la guía Win95+Linux. La ultima versión se puede conseguir en la siguiente dirección: http://www.in.net/~jkatz/win95/Linux-HOWTO.html *** nota del traductor *** Esta guía esta también traducida al castellano. *** Win95 y Linux pueden instalarse en un único disco; los problemas discutidos en el resto de este documento, giran entorno a la imposibilidad de tener mas de una partición primaria DOS pro dispositivo. Si deseas usar el administrador de arranque de NT, echa un vistazo a la siguiente pagina: http://www.bcpl.lib.md.us/~dbryan/directboot.html Para añadir Linux (u otros sistemas, incluyendo OS/2), existe un pequeño programa para generar los ficheros del sector de arranque necesarios para el cargador de NT. Encontraras mas información sobre este programa en la pagina: http://ourworld.compuserve.com/homepages/gvollant/othertl.htm También podrías investigar el programa LOADLIN.EXE que permite arrancar Linux una vez arrancado DOS. 3. El porque de esta guía? Esta guía persigue los siguientes fines: * Como mantener Win 3.x y Win95 en la misma maquina sin problemas.(y cuales pueden ser esos problemas). * Como evitar problemas en una maquina con Win95 que puede a su vez arrancar dos en modo remoto. * Como instalar Win95 con Linux sin tener que instalar de nuevo Lilo (con la tediosa tarea de arrancar Linux usando un disquete). Aunque el sistema de ficheros de Win95 se instala sobre la tabla FAT estándar de DOS, lo hace utilizando técnicas no muy católicas. Como prueba arranque una maquina Win95 desde un disquete de arranque DOS, y utilice Norton para chequear el disco duro.( Pero NO intente ninguna reparación, o perderá algunos nombres largos de ficheros). Actualmente me dedico a mantener aplicaciones en el entorno Win95 a si como en Win3.x ( ambos ejecutando en modo local y en red local). He desarrollado la configuración descrita en este documento para poder hacer todo esto con un solo PC. No preguntes como una persona del mundo Unix ha terminado en esta situación :-) 4. Requerimientos. Si te sientes preparado para enredar con el código fuente de lilo (creo que lilo 1.7 o posterior), es posible hacer todo esto con un solo disco duro. La cosa funcionaria cambiando la tabla de particiones durante la fase de arranque; si no te sientes cómodo con la idea, no lo intentes. En caso contrario, necesitaremos dos discos duros. Esto es debido a ciertas limitaciones de DOS/Windows en el proceso de arranque y la reserva de letras para las unidades. Créeme he intentado utilizar solo un disco (pero no quería problemas con el código de lilo). 5. Que tendremos al final. Unas palabras sobre los nombres de los dispositivos. He visto sistemas que usan /dev/hdc para el tercer disco IDE (primer disco IDE del segundo controlador) y /dev/hdd para le cuarto. He visto también sistemas que usan /dev/hd1a y /dev/hd1b ( nombrando las particiones /dev/hd1a3 etc). Mi sistema usa este segundo nomenclator, pero he cambiado los nombres por /dev/hdc y /dev/hdd para evitar confusiones. Aquí esta una breve descripción del lo que tengo ahora - vigila las letras de unidades porque cambian. Si usas un controlador IDE secundario, puedes necesitar crear manualmente los ficheros de /dev ( /dev/hdc* y /dev/hdd*). Este puede ser el caso si añades un segundo disco duro a una maquina con un disco IDE y un CDROM IDE ya instalados; tu segundo disco duro seria /dev/hdc. He probado esta ordenación sin problemas. yo tengo: /dev/hda - primer disco duro /dev/hdb - lector cd-rom /dev/hdc - segundo disco duro Opción 1: Al arrancar la maquina, dejo que el sistema use la ROM de arranque de la tarjeta ethernet y cargue de forma remota el DOS.. El dispositivo "C" es la primera partición DOS en el primer disco IDE ( en mi caso /dev/hda1). El dispositivo "D" es la primera partición DOS en el segundo disco IDE ( en mi caso /dev/hdc1), y el dispositivo "E" es la segunda partición DOS en el segundo disco IDE (/dev/hdc2). el CD-ROM se convierte en F: Opción 2: Permitir que lilo arranque el sistema por defecto (Linux, por supuesto) Opción 3: Interrumpir lilo y elegir una opción que he llamado DOS. Esto arranca DOS desde /dev/hda1,y como en la opción 1, el dispositivo "C" es /dev/hda1, "D" es /dev/hdc1 y "E" es /dev/hdc2. El CD-ROM se convierte en F: Opción 4: Interrumpir lilo y elegir la opción que he llamado Win95. Esto arranca Win95 desde la primera partición DOS del segundo disco IDE (/dev/hdc1 en mi caso). Lee esto atentamente: el dispositivo "C" es ahora la primera partición DOS en le segundo disco IDE (/dev/hdc1), el dispositivo "D" es ahora la primera partición DOS del primer disco IDE (/dev/hda1) y el dispositivo "E" sigue siendo la segunda partición DOS del segundo disco IDE(/dev/hdc2). El CD-ROM se convierte en F: Observa que el dispositivo "C" cambia dependiendo de la forma de arranque. esto significa que cuando instalamos Win95, lo hacemos en C:\WINDOWS, y cuando instalamos Win3.x, los hacemos en C:\WINDOWS, pero no en el mismo sitio :-) Observa también que la tercera partición DOS ( que usamos como un dispositivo de tipo general para datos) es "E" cualquiera que sea la forma de arranque, y el CD-ROM también permanece constante. 6. Como hacerlo En primer lugar, instala Linux; No es importante en que dispositivo lo instalamos; pero como disponemos de dos discos, parece lógico crear una partición de intercambio en cada uno. Crea una partición primaria DOS en el segundo disco. Desafortunadamente, el FDISK de DOS no nos permite hacer esto, así debemos usar el fdisk de Linux para crear la partición, fijar el tipo ( 6 para la FAT 16 BIT DOS >32Mb), fijar la partición como de arranque, y muy CUIDADOSAMENTE seguir los consejos de la pagina de manual de fdisk. Allí se describe como persuadir a DOS para que reconozca una partición creada de esta manera, usando el comando dd para poner a cero los 512 bytes de la partición. (básicamente debes usar "dd if=/dev/zero of=/dev/XXXX bs=512 count=1" donde XXXX es el dispositivo, pero se ten MUCHO CUIDADO porque esta es una buena forma de destrozar un disco (por ejemplo poniendo /dev/hda en vez de /dev/hda1). Crea una partición primaria DOS en el primer disco duro usando el programa FDISK de DOS. Cualquier otra partición de DOS que necesites puedes créala de esta forma. Las dos particiones primarias debes darles formato DOS de arranque; usa FORMAT c: /S y FORMAT d: /S habiendo arrancado desde un disquete. Para evitar confusiones, nombra las particiones con etiquetas de volumen significativas. Edita /etc/lilo.conf para darnos opción de arranque desde las dos particiones primarias DOS. He añadido un ejemplo al final del documento. Observa el uso la línea "loader" en el fichero de ejemplo. Cual eliges para instalar Win95 y cual para DOS/Win3.x es una decisión personal; Yo he usado el segundo disco para Win95 de manera que le arranque de la maquina a través de la red deja el dispositivo normal de DOS como "C". Además (y practico) instalando win95 en le segundo disco duro evita el arranque de Linux desde un disquete de rescate y reinstalar lilo (se explicara mas abajo como se puede hacer esto).Recuerda ejecutar lilo para instalar estas opciones. Si tienes planeado (con buen juicio) instalar Win95 desde un CDROM, necesitaras incluir los controladores oportunos en la partición Win95, de forma que al arrancar de dicha partición, el dispositivo CDROM sea accesible. Arranca ahora, usando lilo, desde el dispositivo en el que quieras usar DOS/Win3.x e instala el resto del DOS y Win3.x- La instalación de Windows debería hacerse en el directorio por defecto C:\WINDOWS Una vez echo esto, arranca la maquina y, usando lilo, hazlo de la partición Win95. Realiza la instalación de Win95. El proceso de instalación puede sugerir D:/WINDOWS para instalar Win95, porque busca versiones existentes de WINDOWS en la máquina- NO lo aceptes - instala win95 en C:\WINDOWS. Ahora la parte ingeniosa ! Win95 es un sistema mas bien arrogante - Cuando lo instalas, asume que es el único sistema operativo en la maquina y procede a escribir su propio MBR (archivo maestro de arranque) (1) en el disco duro. Este es el motivo por el que generalmente deberás instalar lilo de nuevo. Si has instalado Win95 en el segundo disco duro, has hecho algo que los programadores de Microsoft(tm) no habían previsto. En una maquina donde hice esta operación, Win95 escribió el MBR sustituto en el segundo disco duro. En otra, no encontré nunca rastro de el. El resultado practico es que no se molesta el MBR importante, que esta en el primer disco. Así cuando se arranca de nuevo la maquina, nos dará la bienvenida nuestro familiar y amistoso indicador de LILO. *** Nota del traductor *** (1)Master Boot Record *** Ejemplo de listado de particiones : /dev/hda1 * Partición DOS (C: o D: dependiendo del arranque) /dev/hda2 Partición extendida /dev/hda5 / /dev/hda6 swap /dev/hda7 /home /dev/hdc1 * Partición Win95 (C: o D: dependiendo del arranque) /dev/hdc2 Partición DOS (E: siempre ) /dev/hdc3 swap (las particiones con un * se establecen como arrancables ( o activas) por fdisk) Ejemplo lilo.conf: # /etc/lilo.conf install = /boot/boot.b compact delay = 20 # optional, for systems that boot very quickly #prompt # use instead of delay to force response to boot prompt #vga = normal # force sane state #ramdisk = 0 # paranoia setting #root = current # use "current" root boot = /dev/hda image = /boot/vmlinuz read-only label = linux other = /dev/hdc1 label = win95 loader= /boot/any_d.b other = /dev/hda1 table = /dev/hda label = dos image = /boot/vmlinuz.old label = linux.old optional read-only 7. Algunas Preguntas y Respuestas. Q: Funciona este método con discos SCSI? A: He oído decir que si, pero no he tenido oportunidad de probarlo. *** Nota del traductor *** El método funciona perfectamente con discos SCSI, mas concretamente con el siguiente hardware y software: Adaptec 2940w + dos discos scsi + Caldera 1.0 + DOS 6.22 + Win95 Adaptec 1240 + tres discos scsi (solo 1 y 2 de arranque) + RedHat 4.0 + DOS 6.0 + Win95 *** Q: Funciona este método si Linux ocupa el primer disco completo, y DOS y Win 95 son particiones del otro ? A: No. Las particiones de DOS Y Win 95 deben ser la partición primaria "DOS" del disco duro. Seria posible solucionar el problema recompilando el programa LILO. Q: He copiado la FAQ de Win95 y habla de la posibilidad de arrancar DOS o Win95. Si instalamos Win3.11 en un directorio diferente de "windows", podremos ejecutar Win95 y Win3.11 en harmonía. Todo esto en una única partición. A: Si, esto se puede hacer. De todas formas nos dará problemas. Win95 realiza algunas extrañas operaciones con la FAT de la unidad y alguna de las operaciones que se realizan desde el antiguo DOS y Windows (3,x) pueden destruir la información de los nombres largos de ficheros. Por ejemplo, desfragmentar la unidad usando utilidades de DOS/win3.x puede provocar dicha perdida. Además esto es ponerse trabas a uno mismo cuando las cosas no funcionen; tendrás preocuparte de los ficheros INI de cada sistema y del registro de win95. Q: que pasa con LBA? A: Bueno. Buf ! Las Bios desde aproximadamente 1994 soportan LBA para dar solución a el limite localizado en algún sitio dentro de DOS, y que impide a este hacer frente a los cilindros superiores a 1024. (Esto esta recogido con mayor detalle en las FAQ de hardware de los PC). LBA truca la geometría del disco, multiplicando el numero de cabezas por 2 o 4 (etc) para poder dividir el aparente numero de cilindros por 2 o 4(etc) hasta un numero menor que 1024. Esto soluciona esta limitación. Linux puede manejar cilindros mayores que 1024 (siempre que la partición de arranque este completamente por debajo de los 1024 cilindros), así puede manejar disco grandes (>504 Mb) incluso en maquinas antiguas (BIOS anteriores a 1994). Puede también manejar discos grandes con BIOS que soporten LBA, este esta activa o no. Es vital que todos los S.O. vean los discos con la misma geometría; Esto se debe a que los valores de la tabla de particiones son los "percibidos", no los valores actuales. De esta manera, si cambiamos la configuración de las BIOS activando LBA, invalidaría el contenido de los discos. Si tu sistema Linux no ve la correcta geometría (esto es, la misma que DOS ve), necesitaras añadir una línea a lilo.conf append="hd=x,y,z" donde x,y,z representa la geometría del disco (véase las paginas de manual oportunas). Q: Mis BIOS solo tiene información de dos discos duros, no cuatro. Es esto un problema. A: Quizás! Para usar 4 discos duros con unas BIOS antiguas usando DOS, necesitas un manejador software. Las Bios modernas guardan informacion de 4 discos duros. Linux puede manejar tranquilamente 4 discos duros incluso con las BIOS antiguas, pero si colocamos DOS en una partición del disco 3 solo podremos acceder a ella a través de Linux. Esto es importante porque muchas maquinas tienen un disco IDE, un CD-ROM IDE y , si quieres hacer efectivo este documento, otro disco IDE mas. Por favor si este documento te a resultado útil, házmelo saber. *** Nota de traductor *** Si tienes comentarios sobre la traducción, no dudes en hacérmelos llegar. Manuel de Vega Barreiro. mbarreiro@red.madritel.es En un lugar de la red Madrid. España. de cuyo nombre no quiero http://www.arrakis.es/~barreiro acordarme..........