Ocultar particiones FAT con Lilo

Paco Lopera Morlas

29 de septiembre de 2002

Introducción

Es posible que la gente se pregunte que sentido tiene ocultar particiones FAT, siendo como son sistemas de ficheros obsoletos y no demasiado eficientes. Es necesario verlo, pues, desde un punto de vista "romántico" y no extrictemente práctico. Pongamos por ejemplo que nos gusta probar todo tipo de sistemas DOS, tanto los propietarios como los de libre distribución -como FreeDOS-. Empleando programas de particionado como parted y gestores de arranque como lilo es perfectamente posible que sistemas operativos viejos convivan con los nuevos.

Sin embargo, las sistemas operativos que funcionan sobre particiones FAT tienen la fea costumbre de "leer" el resto de particiones FAT existentes, y es aquí donde pueden producirse problemas.

Tomemos como ejemplo mi propio problema -que me obligó a echar mano de lilo-. Disponía de una partición windows 95 sobre una partición FAT y otra partición de un viejo OS/2 abandonware que encontré en internet. Este OS/2 disponía de winos2, una especie de emulador de windows 3.11. Algunos programas de windows 3.11 tienden a realizar búsquedas de ficheros y a sustituirlos por sus propias versiones. En el caso de la librería winsock.dll -mi caso-, fué realmente catastrófico y costó bastante averiguar cual había sido el problema.

En definitiva, ocultar las particiones es un método limpio que nos ahorrará muchos problemas, pero no siempre vamos a necesitar que estén ocultas. Solo deben estarlo dependiendo de que sistema operativo va a ser arrancado. Si alguien intenta arrancar un sistema operativo con FAT oculta, se encontrará con una desagradable sorpresa.

Configuración de Lilo

Antes de nada, decir que estamos tocando las particiones. Tengamos la máxima precaución y guardemos nuestros datos importantes.

Una vez hecho, editamos el fichero /etc/lilo.conf. En la sección global definimos un tipo de partición que podrá tener dos estados, normal y oculto. Para ello empleamos la sentencia CHANGE-RULES.

Por ejemplo:

change-rules
type=FAT
  normal = 0x6
  hidden = 0x16

A este tipo de partición capaz de cambiar de un estado a otro la llamaremos FAT -que original-. Los códigos que definen su estado se extraen del comando fdisk, pulsando L en el menú.

Como se observa, hemos elegido los códigos que más se adaptan a nuestros propósitos: el 6 y el 16.

En nuestro ejemplo, tenemos el siguiente esquema de particiones:

Device Boot Start End Blocks Id System
/dev/sda1 1 336 1354720+ 16 FAT16
/dev/sda2 460 468 36288 82 Linux swap
/dev/sda3 * 469 784 1274112 83 Linux
/dev/sda4 337 459 495936 7 HPFS/NTFS

Nos interesa que al arrancar sda4 (OS/2) se oculte sda1 (Windows) y que al arrancar sda1 (Windows) su partición nunca esté oculta. A Linux le da igual que esté oculta o no.

Ahora editamos los campos reservados para el arranque de cada sistema operativo en /etc/lilo.conf.

other=/dev/sda1
label=win95
change
partition=/dev/sda1
set=FAT_normal

Las sentencias se explican por si solas. Al arrrancar win95, se indica que se haga un cambio en la partición sda1, cambiándola a FAT_normal. La nomenclatura responde a lo que hemos declarado en la parte global de la configuración de lilo.

other=/dev/sda4
label=IBM_OS2_2.1
alias=o
single-key
change
partition=/dev/sda1
set=FAT_hidden

Lo mismo, pero esta vez indicamos que la partición sda1 (win95) quede oculta.

Ejecutamos liloconfig y ya está. Podemos experimentar sin preocuparnos de dañar otros sistemas.

Mas información

/usr/share/doc/lilo/Manual.txt.gz




Página creada en: 2004-11-04 13:30:37 +0000
© Copyright 2001, 2002, 2003, 2004, La Espiral, debian-laespiral@lists.debian.org
Permitida la copia y distribución textual, integral, siempre y cuando se mantenga este aviso.