Вы находитесь на странице: 1из 12

PARTICIÓN

Una partición de disco, en informática, es el nombre de cualquier división de un disco; siendo el disco duro el caso más común para esta técnica. La técnica consiste en dividir un disco en varias partes, las cuales actúan y son tratadas por el sistema como discos independientes; sin embargo, estas divisiones están presentes en un mismo disco físico. Cualquier unidad de almacenamiento completamente formateada es en realidad una partición primaria que ocupa todo el disco; en dicho caso, el término partición es poco usado, siendo en este caso sustituído por otro termino más familiar, como formato del disco. Esta técnica simple que puede considerarse como un precursor de la gestión de volúmenes lógicos, en inglés Logical Volume Management (LVM).

Tipos de Particiones

Partición primaria: Son las divisiones crudas o primarias del disco, solo puede haber 4 de éstas. Depende de una tabla de particiones. Un disco físico completamente formateado, consiste en realidad de una partición primaria que ocupa todo el espacio del disco, y posee un sistema de archivos. A este tipo de particiones, prácticamente cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y cuando el sistema operativo reconozca su formato (sistema de archivos).

Partición extendida: Es otro tipo de partición que actúa como una partición primaria; sirve para contener infinidad de unidades lógicas en su interior. Fue ideada para romper la limitación de 4 particiones primarias en un solo disco físico. Solo puede existir una partición de este tipo por disco, y solo sirve para contener particiones lógicas. Por lo tanto, es el único tipo de partición que no soporta un sistema de archivos directamente.

Partición lógica: Ocupa un trozo de partición extendida o la totalidad de la misma, la cual se ha formateado con un tipo específico de

sistema de archivos (FAT32, NTFS, ext2,

y se le ha asignado una

unidad, si el sistema operativo reconoce las particiones lógicas o su sistema de archivos.

)

SISTEMA DE ARCHIVOS

Para comenzar digamos que es un método de abstracción que permite al usuario (humano) entender y ordenar los bits que componen los bytes usados por el hardware.

Un sistema de archivo está diseñado para el almacenamiento de archivos en una unidad de disco. Dependen de un gestor de archivos para ser manipulados, ya que sin este no se pueden ejecutar órdenes

que interactuen con los archivos que contiene. Está conformado sectores de almacenamiento de aprox. 512 bytes de tamaño. Se encarga de determinar que sectores utilizar y de que forma hacerlo que el almacenado de información. Esta organización se visualiza como archivos y carpetas para hacerlo fácil de usar y entender para el usuario final.

Los sistemas de archivos poseen directorios (también conocido como subsistema), que relacionan los nombres de los archivos con los archivos propiamente dichos. Esto se llama tabla de asignación de archivos y las mas comunes son FAT en windows e INODOS en Linux.

La estructura de sistema de archivos puede ser plana o Jerárquica (en forma de árbol). En linux la forma del sistema utilizado es Jerárquica, tomando un directorio pricipal y reduciendo en sub-directorios.

La forma de expresar un archivo es la ruta del lugar exacto donde este se encuentra (como una sucesión de directorios) y el nombre de archivo.

SISTEMA DE ARCHIVOS LINUX

La mayoría de los sistema de archivos UNIX tienen una estructura general parecida, aunque los detalles exactos pueden variar un poco. Los conceptos centrales son superbloque, nodo-i, bloque de datos, bloque de directorio, y bloque de indirección. El superbloque tiene información del sistema de archivos en conjunto, como su tamaño (la información precisa aquí depende del sistema de archivos). Un nodo-i tiene toda la información de un archivo, salvo su nombre. El nombre se almacena en el directorio, junto con el número de nodo-i. Una entrada de directorio consiste en un nombre de archivo y el número de nodo-i que representa al archivo. El nodo-i contiene los números de varios bloques de datos, que se utilizan para almacenar los datos en el archivo. Sólo hay espacio para unos pocos números de bloques de datos en el nodo-i; en cualquier caso, si se necesitan más, más espacio para punteros a los bloques de datos son colocados de forma dinámica. Estos bloques colocados dinámicamente son bloques indirectos; el nombre indica que para encontrar el bloque de datos, primero hay que encontrar su número en un bloque indirecto.

Los sistemas de archivos UNIX generalmente nos permiten crear un agujero en un archivo (esto se realiza con la llamada al sistema lseek(); compruebe su página de manual), lo que significa que el sistema de archivos simplemente intenta que en un lugar determinado en el archivo haya justamente cero bytes, pero no existan sectores del disco reservados para ese lugar en el archivo (esto significa que el archivo utilizará un poco menos de espacio en disco). Esto ocurre frecuentemente en especial para pequeños binarios, librerías compartidas de Linux, algunas bases de datos, y algunos pocos casos especiales. (los agujeros se implementan almacenando un valor

especial en la dirección del bloque de datos en el bloque indirecto o en el nodo-i. Esta dirección especial indica que ningún bloque de datos está localizado para esa parte del archivo, y por lo tanto, existe un agujero en el archivo).

Sistemas de archivos soportados por Linux

Linux soporta una gran cantidad de tipos diferentes de sistemas de archivos. Para nuestros propósitos los más importantes son:

minix

El más antiguo y supuestamente el más fiable, pero muy limitado en características (algunas marcas de tiempo se pierden, 30 caracteres de longitud máxima para los nombres de los archivos) y restringido en capacidad (como mucho 64 MB de tamaño por sistema de archivos).

xia

 

Una versión modificada del sistema de archivos minix que eleva los límites de nombres de archivos y tamaño del sistema de archivos, pero por otro lado no introduce características nuevas. No es muy popular, pero se ha verificado que funciona muy bien.

ext3

 

El sistema de archivos ext3 posee todas las propiedades del sistema de archivos ext2. La diferencia es que se ha añadido una bitácora (journaling). Esto mejora el rendimiento y el tiempo de recuperación en el caso de una caída del sistema. Se ha vuelto más popular que el ext2.

ext2

 

El más sistema de archivos nativo Linux que posee la mayor cantidad de características. Está diseñado para ser compatible con diseños futuros, así que las nuevas versiones del código del sistema de archivos no necesitará rehacer los sistemas de archivos existentes.

ext

Una versión antigua de ext2 que no es compatible en el futuro. Casi nunca se utiliza en instalaciones nuevas, y la mayoría de la gente que lo utilizaba han migrado sus sistemas de archivos al tipo ext2.

reiserfs

Un sistema de archivos más robusto. Se utiliza una bitácora que provoca que la pérdida de datos sea menos frecuente. La bitácora es un mecanismo que lleva un registro por cada transacción que se va a realizar, o que ha sido realizada. Esto permite al sistema de archivos reconstruirse por sí sólo fácilmente tras un daño ocasionado, por ejemplo, por cierres del sistema inadecuados.

¿Qué sistemas de archivos deben utilizarse?

Existe generalmente poca ventaja en utilizar muchos sistemas de archivos distintos. Actualmente, el más popular sistema de archivos es ext3, debido a que es un sistema de archivos con bitácora. Hoy en día es la opción más inteligente. Reiserfs es otra elección popular porque también posee bitácora. Dependiendo de la sobrecarga del listado de estructuras, velocidad, fiabilidad (percibible), compatibilidad, y otras varias razones, puede ser aconsejable utilizar otro sistema de archivos. Estas necesidades deben decidirse en base a cada caso.

Un sistema de archivos que utiliza bitácora se denomina sistema de archivos con bitácora. Un sistema de archivos con bitácora mantiene un diario, la bitácora, de lo que ha ocurrido en el sistema de archivos. Cuando sobreviene una caída del sistema, o su hijo de dos años pulsa el botón de apagado como el mío adora hacer, un sistema de archivos con bitácora se diseña para utilizar los diarios del sistema de archivos para recuperar datos perdidos o no guardados. Esto reduce la pérdida de datos y se convertirá en una característica estándar en los sistemas de archivos de Linux. De cualquier modo, no extraiga una falsa sensación de seguridad de esto. Como todo en esta vida, puede haber errores. Procure siempre guardar sus datos para prevenir emergencias.

SISTEMA DE FICHEROS MS-DOS

El sistema de ficheros de MS-DOS, que se comercializó con los primeros PCs de IBM, que carecían de disco duro (solo podían almacenar 160 KB de datos en su disco flexible), era en realidad una derivación del sistema de ficheros de CP/M ("Control program for microcomputers"). El sistema operativo de Gary Kildall, que había servido de inspiración al QDOS ("Quick and Dirty Operating System") de Tim Patterson, el "Padre" del DOS de Microsoft. El sistema era bastante ineficiente, ya que no estaba pensado para unidades grandes. Por esta razón, cuando IBM comenzó a dotar a sus equipos con unidades de disco de 10MB, Microsoft desarrollo un nuevo sistema de ficheros para su DOS 1.x, inspirado en el de UNIX (Microsoft había adquirido una licencia UNIX y había empezado a ofrecer una versión denominada XENIX). La capacidad crear particiones haciendo que aparezcan como una unidad de disco, fue añadida en el MS-DOS 3.2.

Los sistemas MS-DOS ("MicroSoft Disc Opertating System"), PC-DOS y derivados, hasta el MS-DOS v.6.22, utilizan un sistema de ficheros conocido como FAT. El nombre se debe a una de sus estructuras principales, la tabla de situación de ficheros FAT ("File Allocation Table").

Como señala su propio nombre, el sistema utiliza una tabla donde se encuentran las direcciones de los ficheros en el disco. Las tablas FAT están contenidas en el disco junto con el resto de datos, aunque durante el funcionamiento normal se cargan en memoria. Dependiendo del espacio asignado para escribir en ellas reciben diversos "apellidos": FAT12, FAT16 y FAT32, que utilizan respectivamente 12, 16 y 32 bits para apuntar el número de cluster de un trozo de fichero (todas las versiones de MS-DOS previas a la 7.x utilizaban FAT12/16).

Es un sistema de ficheros muy simple, aunque perfectamente adecuado a las pretensiones iniciales. La más evidente para el usuario es la limitación de 8 caracteres para los nombres de ficheros y de 3 para las extensiones. Fórmula conocida como 8+3.

Sistemas de archivos soportados por Windows

FAT

En el capítulo anterior adelantamos que los sistemas FAT son los sistemas de fichero utilizados en DOS y primeras versiones Windows de Microsoft. La característica principal (a la que deben su nombre), es que el estado de cada unidad de información del dispositivo, está reflejado en un catálogo denominado tabla de situación de ficheros FAT ("File Allocation Table"). Esta tabla es muy importante porque es el índice del contenido del disco. Cualquier error aquí puede convertir la unidad en inutilizable, razón por la que está duplicada. Ambas copias ocupan lugares consecutivos en los primeros sectores del disco. Justamente a continuación del primero, el VBS ("Volume Boot Sector" que tiene un mapa con la geometría del volumen (en ocasiones hay un espacio entre el VBS y las FAT).

No hace falta decir que en unidades de gran capacidad, la tabla es necesariamente muy grande. Generalmente se carga en memoria para agilizar los procesos, ya que es de uso constante y cualquier operación de lectura/escritura tiene que utilizarla. En consecuencia, se han ingeniado métodos para que estos índices ocupen el menor espacio posible.

TABLAS FAT

Los sistemas FAT y muchos otros, utilizan un método de grabación que agrupa varios sectores en una misma unidad ("Allocation unit") también llamada cluster, traducida al español como unidad de asignación, a la que ya hemos hecho referencia. Esta es la menor unidad de grabación lógica que utiliza el Sistema en la

unidad, de forma que un fichero se grabará siempre utilizando un número entero de clusters.

NTFS

Como se adelantó al tratar de los sistemas de ficheros , Windows NT fue diseñado desde el principio para ser un sistema operativo de red y multitarea que rompiese definitivamente cualquier nexo con sus ancestros MS-DOS, para lo que se diseñó un nuevo sistema de ficheros partiendo de un diseño radicalmente nuevo (no se trata por tanto de un nuevo carrozado de las FAT anteriores).

El sistema resultante, denominado NTFS ("New Technology File System") es un sistema muy robusto que permite compresión de ficheros uno a uno; un protocolo de autorización de uso y de atributos de fichero muy desarrollado; sistema de operación basado en transacciones; soporte RAID; posibilidad de juntar las capacidades de dos unidades en un volumen único ("Disk striping") y muchas otras mejoras, como es la capacidad de anotar clusters malos ("Hot fixing") en run-time.

Su última versión, la denominada NTFS 5, incorporada en Windows 2000, dispone de algunas otras características avanzadas, como soporte de encriptación de ficheros incorporado en el propio SO; propiedades de ficheros basados en identificadores persistentes de usuario (ya no es necesario identificar a los ficheros mediante sus terminaciones), e identificación única de todos los objetos del sistema de archivos que permite, entre otras cosas, que un archivo pueda ocupar distintos volúmenes (ficheros multivolumen). Aunque naturalmente estas prestaciones cobran su tributo. NTFS utiliza meta-estructura muy grandes por lo que no es aconsejado para volúmenes de menos de 400 GB.

La estructura central de este sistema es la MFT ("Master File

Table"), de la que se guardan varias copias de su parte más critica

a

fin de protegerla contra posibles corrupciones. Al igual que FAT16

y

FAT32, NTFS también utiliza agrupaciones de sectores (clusters)

como unidad de almacenamiento, aunque estos no dependen del volumen de la partición. Es posible definir un cluster de 512 bytes (1 sector) en una partición de 5 MB o de 500.000 MB. Esta capacidad le hace disminuir tanto la fragmentación interna como la externa.

MBR (Master Boot Record)

Un master boot record (MBR) es el primer sector ("sector cero") de un dispositivo de almacenamiento de datos, como un disco duro. A veces, se emplea para el arranque del sistema operativo con bootstrap, otras veces es usado para almacenar una tabla de particiones y, en ocasiones, se usa sólo para identificar un dispositivo de disco individual, aunque en algunas máquinas esto último no se usa y es ignorado.

En la práctica, el MBR casi siempre se refiere al sector de arranque de 512 bytes, o el partition sector de una partición para ordenadores compatibles con IBM. Debido a la amplia implantación de ordenadores PC clónicos, este tipo de MBR se usa mucho, hasta el punto de ser incorporado en otros tipos de ordenador y en nuevos estándares multi- plataforma para el particionado y el arranque.

GESTOR DE ARRANQUE

Un gestor de arranque es un programa que toma el control de la máquina nada más conectarse y una vez que ha terminado las verificaciones por el propio hardware de memoria y dispositivos conectados. Cuando el gestor de arranque toma el control puede solicitar al usuario alguna información necesaria sobre qué sistema cargar o como cargarlo.

Este programa contiene funcionalidades rudimentarias para buscar unidades que se puedan seleccionar para participar en el arranque, y cargar un pequeño programa desde una sección especial de la unidad más prometedora. El pequeño programa no es, en sí mismo, un sistema operativo sino, simplemente, un cargador de arranque de segundo nivel, como Lilo o Grub, que es capaz de cargar el sistema operativo propiamente dicho y, finalmente, transferirle el control. El sistema se auto-iniciará y puede cargar los controladores de dispositivos y otros programas que son necesarios para el normal funcionamiento del sistema operativo.

El proceso de arranque se considera completo cuando el ordenador está preparado para contestar a los requerimientos del exterior. El típico ordenador moderno arranca en, aproximadamente, un minuto (del cual, 15 segundos son empleados por los cargadores de arranque preliminares y, el resto, por el cargador del sistema operativo), mientras que los grandes servidores pueden necesitar varios minutos para arrancar y comenzar todos los servicios; para asegurar una alta disponibilidad, ofrecen unos servicios antes que otros.

BRUB

En computación, el GRand Unified Bootloader (GRUB) es un gestor de arranque múltiple que se usa comúnmente para iniciar dos o más sistemas operativos instalados en un mismo ordenador.

Técnicamente, un gestor multiarranque es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera multiarranque en los primeros 8 KB del archivo. Tal cabecera consiste en 32 bits de un número “mágico”, 32 de indicadores (flags), otros 32 de un número “mágico”, seguidos de información sobre la imagen ejecutable.

Una de las características más interesantes es que no es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar todos los parámetros en el arranque mediante la Consola de GRUB.

Mientras los gestores de arranque convencionales tienen una tabla de bloques en el disco duro, GRUB es capaz de examinar el sistema de archivos. Actualmente, soporta los siguientes sistemas de archivos:

variante

usado

ext2/ext3

GNU/Linux

por

los

sistemas UNIX

y

su

ReiserFS.

XFS de SGI.

UFS.

VFAT, como FAT16 y FAT32 usados por Windows 9.x

NTFS usado por los sistemas Windows NT/2000/XP/VISTA

JFS de IBM.

HFS de Apple Inc.

LILO

ader") es un gestor de arranque de Linux que permite iniciar este sistema operativo junto con otras plataformas en el mismo ordenador. Fue desarrollado inicialmente por Werner Almesberger, actualmente está a cargo de John Coffman.

LILO funciona en una variedad de sistemas de archivos y puede arrancar un sistema operativo desde el disco duro o desde un disco flexible externo . LILO permite seleccionar entre 16 imágenes en el arranque. LILO puede instalarse también en el master boot record (MBR).

Al iniciar el sistema LILO solamente puede acceder a los drivers de la BIOS para acceder al disco duro. Por esta razón en BIOS antiguas el área de acceso está limitado a los cilindros numerados de 0 a 1023 de los dos primeros discos duros. En BIOS posteriores LILO puede utilizar sistemas de acceso de 32 bits permitiéndole acceder a toda el área del disco duro.

En las primeras distribuciones de Linux LILO era el gestor de facto utilizado para arrancar el sistema.

Cómo configurar el GRUB (menu.lst)

en Ubuntu

Cambiar el sistema operativo por defecto

Si tenemos Windows instalado y después hemos instalado Ubuntu, la configuración de GRUB por defecto hará que arranque Ubuntu. Si por algún motivo necesitamos que arranque Windows por defecto, veamos los pasos a seguir.

Editamos el archivo de configuración del menú de arranque de GRUB:

$ sudo gedit /boot/grub/menu.lst

Buscamos la siguiente línea:

default 0

Cambiamos el 0 por el número que ocupe el sistema operativo en

la lista que queremos que se inicie por defecto, empezando por

0.

Guardamos los cambios y cerramos el editor.

Cambiar el tiempo de espera

En Ubuntu, GRUB deja por defecto 10 segundos para permitir la selección del sistema operativo o versión del kernel. Este tiempo puede parecer excesivo o demasiado breve. Para modificarlo basta con seguir los siguientes pasos:

Editamos el archivo de configuración del menú de arranque de GRUB:

$ sudo gedit /boot/grub/menu.lst

Buscamos la siguiente línea:

timeout

10

Modificamos el valor 10 por el deseado, teniendo en cuenta que se trata de segundos.

Guardamos los cambios y cerramos el editor.

Ocultar el menú

Si utilizamos normalmente sólo un sistema operativo o una versión del kernel, es molesto que nos aparezca el menú en cada arranque del sistema. GRUB permite configurar el menú de modo que no se muestre al arranque salvo que presionemos la tecla Escape (Esc) durante el mismo. Para hacer esto, seguimos los siguientes pasos:

Editamos el archivo de configuración del menú de arranque de GRUB:

$ sudo gedit /boot/grub/menu.lst

Buscamos la siguiente línea:

#hiddenmenu

Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:

hiddenmenu

Guardamos los cambios y cerramos el editor.

Proteger con contraseña

Para que ningún usuario no autorizado pueda modificar los valores de GRUB en tiempo de ejecución, podemos establecer una contraseña, de esta forma sólo pulsando la tecla 'p' e introduciendo la contraseña se podrán cambiar los parámetros del programa.

Editamos el archivo de configuración del menú de arranque de GRUB:

$ sudo gedit /boot/grub/menu.lst

Buscamos la siguiente línea:

#password topsecret

Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:

password topsecret

Guardamos el archivo y cerramos el editor.

Ahora la contraseña es topsecret, se puede cambiar e introducir la que se desee.

Codificar contraseña

Si queremos que nadie pueda leer la contraseña en el archivo de configuración de GRUB, el programa también ofrece la posibilidad de codificarla en formato md5:

$ sudo grub update

Aparece la consola de GRUB, entonces escribimos:

grub> md5crypt

Introducimos la palabra a codificar, en este caso topsecret, el programa devolvería el valor:

$1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/'

Lo copiamos y volvemos a la consola de Ubuntu:

grub> quit

En el archivo de configuración del menú de GRUB, borramos la siguiente línea:

# password topsecret'

En su lugar, escribimos:

password --md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/

Y ya tenemos nuestro GRUB protegido por contraseña cifrada.

Guardamos los cambios y cerramos el editor.

Si queremos restringir el acceso a algún elemento del menú de GRUB, basta con añadir después del título del menú una línea con la contraseña, por ejemplo:

title

Ubuntu, kernel 2.6.15-26-386 (recovery mode)

password

--md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/

root

(hd1,0)

kernel

/boot/vmlinuz-2.6.15-26-386 root=/dev/hdb1 ro single

initrd

/boot/initrd.img-2.6.15-26-386

boot

Guardamos los cambios y cerramos el editor.

Cambiar colores

Por defecto, en Ubuntu el menú del GRUB tiene un fondo negro con letras blancas. Para cambiar los colores del menú de arranque por otros más atractivos, seguimos los siguientes pasos.

Editamos el archivo de configuración del menú de arranque de GRUB:

$ sudo gedit /boot/grub/menu.lst

Buscamos la siguiente línea:

# color cyan/blue white/blue

* Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:

color cyan/blue white/blue

Guardamos los cambios y cerramos el editor.

Ahora nos aparecerá un menú con fondo azul, al estilo de varias aplicaciones con interfaz de línea de comandos. Si queremos, podemos cambiar los colores reemplazando las palabras cyan, blue y white por otras, que representen los nombres de distintos colores en inglés.

Colocar una imagen de fondo

En vez de cambiar sólo los colores del menú, GRUB nos brinda la posibilidad de colocar una imagen de fondo para hacerlo aún más atractivo.

La imagen que se puede colocar en GRUB tiene que tener un máximo de 14 colores y un tamaño de 640 × 480 píxeles. Tiene que estar grabada en formato .xpm y conviene que esté comprimida con gzip (extensión .gz), aunque no es imprescindible.

Para saber desde GIMP cuántos colores tiene nuestra imagen ve a Colores -> Info -> Análisis del cubo de color

Si tiene más de 14 colores, podemos reducir el número con Imagen -> Modo -> Indexado.

Una vez tenemos la imagen, para ponerla de fondo editamos el archivo de configuración del menú de GRUB:

$ sudo gedit /boot/grub/menu.lst

Añadimos al principio la línea:

splashimage (hd0,2)/ruta imagen/imagen.xpm.gz

Donde (hd0,2) identifica el disco y partición donde se encuentra la imagen. Esto varía según el equipo. Si tienes un solo disco duro, antes de la coma irá hd0; si tienes Ubuntu en una sola partición, pero compartiendo el disco con otro sistema operativo, posiblemente irá después de la coma un 1. Puede ayudarte ejecutar:

$ sudo fdisk -l

teniendo en cuenta que GRUB numera las particiones desde 0 (por ejemplo, (hd0,1) se corresponde con sda2; (hd1,2) con sdb3).

Reiniciamos y listo, ya tendremos una imagen de fondo en el menú de arranque.