Ocultar particiones FAT con LILO


Paco Lopera Morlas.

29 de septiembre de 2002
Nivel: medio
Sistema: linux
Arquitectura: todas
Distribución: todas
Sección: administracion
Función: configuracion


I 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.

II 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.

III Mas información.

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

© 2001, La Espiral.