Mantenimiento de Equipos Informáticos Programa de Prácticas Curso 2001/02 Práctica 1: Instalación y configuración de placas base y tarjetas. Práctica 2: Configuración de la BIOS (CMOS setup). Práctica 3: Proceso de arranque del PC. Práctica 4: Discos: organización lógica, mantenimiento y reparación. ------------------ Práctica 1: Instalación y configuración de placas base y tarjetas. Para la práctica se dispone de placas base de 486 con microprocesador 486DX-33, ranuras de expansión para bus local VESA e ISA, 256KB de RAM caché, y zócalos para la instalación de módulos de memoria SIMM (1 banco de módulos de 30 contactos y 2 de 72 contactos). Así mismo, se dispone de módulos SIMM de 30 contactos, tarjetas de vídeo VLB, tarjetas multifunción ISA (que incluyen controladora de disquete, adaptador IDE de disco duro, 2 puertos serie, un puerto paralelo y un puerto de juegos). Hay también fuentes de alimentación, monitores, teclados, ratones, disqueteras y discos duros. El equipo disponible permite analizar los principales elementos que podemos encontrar en un PC, ensamblarlos y hacerlos funcionar. 1.- Características de la placa base. • Tipos de CPU que puede alojar. • Rango de frecuencias que se pueden configurar. • Organización de la memoria: bancos y módulos SIMM. • Memoria caché. • BIOS. Fabricante y fecha. • Ranuras de expansión. 2.- Identificación de los distintos elementos de la placa base. • CPU. • Bancos de memoria (ranuras para módulos SIMM). • Banco de memoria caché. • BIOS. • Ranuras de expansión (ISA-8, ISA-16, VESA LB). • Conector de teclado. • Batería CMOS. • Jumpers. • Conectores. 3.- Configuración de los jumpers. • Tamaño de la caché. • Tipo de CPU. • Selección de la frecuencia de reloj de la CPU. • PQFP. • Weitek processor. • Power Good. 4.- Conectores y función. • Reset. • Turbo switch / turbo LED. • Speaker. • Key lock. • External battery. • Teclado. • Alimentación. 5.- Instalación de la memoria RAM. • Organización de los bancos de memoria. • Tamaño de memoria: configuraciones soportadas. • Colocación de los módulos de memoria SIMM. • Cuidados en la manipulación de módulos SIMM. 6.- Instalación de tarjetas. • Colocación de tarjetas en las ranuras de expansión. • Cuidados en la manipulación de tarjetas. • La tarjeta de vídeo. Configuración e instalación. • La tarjeta multifunción. Configuración e instalación. • Instalación de los cables planos. 7.- Encendido del PC. • La fuente de alimentación. Cables y conectores. Precauciones. • Conexiones del interruptor de la fuente de alimentación. • Alimentación de la placa base con conectores P8-P9. • Alimentación de otros dispositivos. Disqueteras y discos duros. • Instalación de la placa base y periféricos. Cableado. • Arranque. Interpretación de los mensajes en la pantalla. • Configuración básica de la BIOS. • Comprobación de la velocidad de la CPU y tamaño de la caché. ------------------ Práctica 2: Configuración de la BIOS (CMOS setup). El funcionamiento del PC requiere que la BIOS conozca parámetros básicos del sistema, como el número de unidades de disco duros y disquete, tipo de discos (geometría, capacidad, etc.), tipo de display, tipo de chips en el sistema características de los chips de memoria DRAM y caché, controladoras, etc.). Usualmente, además de fijar estos parámetros se pueden seleccionar diversas opciones tales como unidad de disco que se explora primero en la secuencia de arranque, el tipo de test que se realizan durante el arranque, etc. Estos parámetros se modifican mediante un programa que hay en la ROM (en la BIOS) conocido como "setup del sistema". Los parámetros de configuración del sistema, una vez establecidos, se graban en el chip de configuración conocido como "chip CMOS". Este chip de memoria es usualmente alimentado por una batería, de modo que la memoria no se borra y la configuración del sistema se mantiene cuando el ordenador es apagado. 1.- Acceso al programa de set-up. Información general sobre el programa. Menú de opciones, selección de opciones, ayuda, etc. 2.- Configuración estándar. • Fecha y hora. • Configuración de la memoria. • Configuración de discos duros y disqueteras. • Configuración de display y teclado. 3.- Opciones avanzadas de configuración. • Typematic rate. • Memory test. • etc.... 4.- Advanced chipset setup. • Finalidad de este menú. • Caché wait state. • DRAM type. • DRAM wait state. • etc.... 5.- Autoconfiguración. • BIOS defaults. • Power-on defaults. 6.- Password. 7.- Configuración y utilidades del disco duro. • Autodetección del disco duro. • Formateo a bajo nivel. • Interleaving. Auto-interleaving. • Media analysis. Comprobación de las distintas opciones, modificando valores y rearrancando. ------------------ Práctica 3: Proceso de arranque del PC. 1.- Análisis del proceso de arranque del PC en configuración mínima, añadiendo progresivamente elementos al PC. • Se arranca en configuración mínima: fuente de alimentación, placa base y altavoz. Analizar ventilador, temperatura de chips, sonidos. • Añadimos memoria y rearrancamos. • Añadimos tarjeta de video y rearrancamos. • Añadimos teclado y rearrancamos. • Configuramos la BIOS (sin HDs ni FDDs) y rearrancamos. • Configuramos la BIOS con HD y FDD y rearrancamos. • Añadimos la tarjeta multifunción y rearrancamos. • Añadimos discos y rearrancamos. 2.- Instalación de un disco duro. • Configuración de la geometría en el setup: C/H/S, tipo, Lbit, Wprecom. • Configuración de dos discos duros IDE: maestro y esclavo. • Formateo a bajo nivel. • Creación de la tabla de particiones (FDISK). • Preparar el S.O. en una partición: • Formatear la partición (FORMAT C:). • Preparar el sistema operativo (SYS C:). • Configurar el sistema operativo (copiar comandos, editar config.sys y autoexec.bat). • Rearrancar desde el disco duro. 3.- Análisis del proceso de arranque. 3.a.- Proceso de arranque del PC. • Alimentación de los chips y la CPU. • La CPU lee la instrucción en FFFF0; la BIOS toma el control y ejecuta el POST. • Chequeo de memoria baja (para que la BIOS pueda trabajar). • Localización de subrutinas (55 AA) en el área reservada, correspondientes a ROM de tarjetas: • Se pasa el control a la ROM de las tarjetas. Estas realizan inicializaciones, ponen mensajes en pantalla, etc. y devuelven el control a la BIOS del sistema cuando han finalizado. • La tarjeta de vídeo toma el control: inicializa la pantalla y pone un mensaje; devuelve el control a la BIOS del sistema. • Chequeo del hardware: detección y comprobación de controladora de teclado, controladoras de discos, puertos, etc. • Configuración del sistema con la información del chip CMOS. • Arranque software: la BIOS carga el MBR en la RAM (copia el sector 0/0/1 del disco de arranque en la RAM) y le pasa el control (empieza a ejecutar como instrucciones el contenido de esas direcciones de memoria). 3.b.- Proceso de arranque del sistema operativo (MS-DOS). • El MBR toma el control. Analiza la tabla de particiones. Localiza el DBR de la partición de arranque. Carga el DBR en la RAM y lo ejecuta. • El DBR toma el control. Haciendo uso de la FAT y el directorio raíz, localiza el IO.SYS y MSDOS.SYS. Los carga en la RAM y ejecuta el IO.SYS. • El IO.SYS se chequea. Localiza el CONFIG.SYS. Lo carga en memoria y lo ejecuta (lo interpreta línea a línea). • El IO.SYS carga en memoria el shell o intérprete de comandos (usualmente el COMMAND.COM) y le pasa el control. • El COMMAND.COM localiza el AUTOEXEC.BAT. Lo carga en memoria y lo ejecuta (lo interpreta línea a línea). • Cuando finaliza la ejecución del AUTOEXEC.BAT, el COMMAND.COM está preparado para recibir comandos del usuario y muestra en pantalla el prompt. 3.c.- Utilización del comando DEBUG. Comandos básicos de DEBUG: • ? Ayuda: muestra la lista de comandos. • d Dump: volcado del contenido de memoria en pantalla. d [direccion [l rango]] • f Fill: llena direcciones de memoria con un valor. f direccion l rango <valor> • g= Go: ejecuta la instrucción en una dirección. g= direccion • s Search: busca datos en un rango de direcciones. s direccion l rango <valor> • u Unassemble: interpreta el contenido en memoria en un rango de direcciones como intrucciones máquina para la CPU. u direccion [l rango] Direcciones, rangos y valores (siempre en hexadecimal): Debug permite explorar el primer MB de direcciones. Éste se direcciona con 20 bits, o, lo que es equivalente, con 5 dígitos hexadecimales. El primer MB de memoria cubre las direcciones comprendidas entre 00000 y FFFFF. Debug organiza las direcciones en segmentos de 16 bytes. Cada segmento está caracterizado por los 4 primeros dígitos hexadecimales de las direcciones que incluye. Para identificar cada dirección, se utiliza el segmento y el desplazamiento: Dirección: A0857 Segmento: A085 Desplazamiento 7 Notaciones de debug que se refieren a esa dirección (equivalentes): A085:0007 A080:0057 A000:0857 Un rango es un conjunto de direcciones de memoria sobre los que se ejecuta una acción. Se indica con un número de hasta 4 dígitos hexadecimales (entre 1 byte, 0001 y 64KB, FFFF). Un valor puede ser una secuencia de bytes (en hexadecimal: 55 AA B3) o una cadena de caracteres ("REM En esta linea se cargan los drivers"). 3.d.- Análisis del proceso de arranque con DEBUG. 1. Identificar las distintas áreas de memoria. Ø d 0000:0 (muestra los primeros bytes de memoria base). Ø d 1000:0 (64 KB: suele tener datos). Ø d 5000:0 (320 KB: esta zona suele estar vacía). Ø d B800:0 (RAM de la tarjeta de vídeo en modo texto-VGA). Ø d C000:0 (ROM de la tarjeta de vídeo; empieza con 55 AA). Ø d E000:0 (probablemente zona del área reservada vacía -FF-). Ø d F000:0 (960 KB: aquí comienza la BIOS del sistema). 2. Escribir y leer en distintas zonas de memoria. Ø f 5000:0 l 00FF "aaaeeeiiiooo" Ø d 5000:0 Ø f E000:0 l 00FF "aaaeeeiiiooo" Ø d E000:0 Ø Probar con las direcciones: • B800:0 (RAM de vídeo). • C000:0 (ROM de vídeo). • FFFF:0010 (Memoria extendida). 3. Desensamblar y ejecutar instrucciones en la memoria. Ø d FFFF:0 muestra el contenido en hexadecimal. Ø u FFFF:0 muestra el código que ejecuta la CPU. Ø g= FFFF:0 ejecuta la instrucción en esta dirección. Ø (La dirección FFFF:0 es la dirección que ejecuta la CPU cuando se resetea o cuando arranca. Esta dirección es de la BIOS y cuando se ejecuta la BIOS toma el control y realiza el POST). Ø Repetir el proceso con C000:0 (ROM de vídeo). 4. Buscar cadenas en la memoria. Ø s 0000:0 l FFFF "REM fichero config.sys" busca en las FFFF (64K) direcciones posteriores a 00000 la cadena "REM fichero config.sys". Ø s 0000:0 l FFFF 55 AA busca en el rango de direcciones correspondiente los bytes 55 AA. Ø Verificar que se han copiado en memoria los siguientes ficheros o sectores: • MBR del disco duro y DBR de la partición de arranque del HD. • IO.SYS, MSDOS.SYS. • CONFIG.SYS y AUTOEXEC.BAT. • COMMAND.COM. Ø Para buscar los ficheros binarios o los sectores, se puede utilizar el programa de Norton DISKEDIT que nos permite ver los valores hexadecimales de sus primeros bytes. Ø Con el comando de debug "g=" podemos pasarle el control a las direcciones en las que comienzan las copias de estos sectores y ficheros. ------------------ Práctica 4: Discos: organización lógica, mantenimiento y reparación. Herramientas necesarias: • Disquete de arranque con MSDOS y utilidades diversas (FDISK, FORMAT, SYS, EDIT, DEBUG, CHKDSK, SCANDISK...). • Disquete con DISKEDIT de Norton para editar sectores, áreas lógicas de los discos, etc. • Disquete para realizar pruebas. Advertencias: • Dependiendo de la versión del sistema operativo y del Norton, así como el tamaño del disco duro, podemos encontrarnos con diversos problemas. Las versiones antiguas de Norton (las anteriores a Win95) tienen problemas al escribir en discos duros cuando se arranca bajo Win95. Si la versión de Norton no soporta discos FAT 32, no va a poder interpretar las áreas lógicas de las particiones del disco duro. Las actividades propuestas en esta práctica son válidas para sistemas FAT-12 y FAT-16. • La mayor parte de lo que se propone en esta práctica puede realizarse sobre un disquete. Si se realiza sobre un disco duro se corre riesgo de perder datos o de producirle un daño que puede ser difícil de reparar. Por ello se recomienda, en caso de hacer a l s pruebas sobre disco duro, asegurarse de que se ha realizado una copia de seguridad de todos los datos de interés antes de comenzar. Esto es especialmente importante cuando se manipule el MBR, DBR 1.- Organización lógica bajo MSDOS de disquetes y discos duros. • Identificar los elementos que intervienen en la organización lógica del FD: • DOS Boor Record (DBR) y BIOS Parameter Block (BPB). • FAT (File Allocation Table): 2 copias. • Directorio raíz. • Ficheros y subdirectorios. • Identificar los elementos que intervienen en la organización lógica del HD: • Master Boot Record (MBR) y tabla de particiones (PT). • DBR y BPB. • FAT. • Directorio raíz. • Ficheros y subdirectorios. • Clusters y sectores. • Sectores físicos o absolutos y sectores lógicos o DOS. • Comprender las diferentes formas de presentar la información contenida en los sectores el programa DISKEDIT. • Comprender cómo organiza MSDOS los directorios y ficheros, como guarda los datos en los clusters y el proceso que realiza para leer un fichero. 2.- Mantenimiento de discos duros. • Análisis hardware del disco duro. Mantenimiento. • Copia de seguridad del MBR (DBR, FAT, directorios) con DISKEDIT. Restauración. 3.- Reparación de discos. • Restauración del MBR y DBR. • Proceso de borrado de ficheros. Formateo de unidades de disco. • Recuperación de ficheros borrados: • Fichero no fragmentado. • Utilización de una copia de la FAT para recuperar un fichero borrado. • Recuperación de datos en ficheros parcialmente dañados. • Recuperación de datos en discos con sectores defectuosos. 4.- Errores del CHKDSK y SCANDISK. • Mensajes de error: • Clusters perdidos: hay clusters marcados como "en uso" (no libres, ni defectuosos) pero que no están asociados a ningún fichero. • Subdirectorio inválido: subdirectorios que carecen de las entradas "." y "..". • Errores de localización de clusters: la cadena de clusters asociada a un fichero tiene menos bytes que los especificados en el tamaño del fichero. • Cluster inválido: la cadena de clusters de un fichero contiene clusters marcados como "libre" o como "defectuoso" (y se corta). • Cadenas de clusters cruzadas: hay clusters pertenecientes a varios ficheros. • Generar estos errores manipulando la FAT y los directorios. • Identificar los errores con SCANDISK. • Antes de dejar a SCANDISK que los "repare" analizar la reacción del S.O. ante las inconsistencias detectadas. • "Reparar" con SCANDISK y analizar en qué ha consistido la solución. 5.- Backup del MBR (o de otro sector físico) con DEBUG. 5.1.- Salvar el MBR en un fichero. debug a:\mbr.datSe ejecuta desde el prompt de DOS este comando; a:\mbr.dat es el fichero donde vamos a escribir la copia del MBR. Como no existe, aparecerá un mensaje de "FILE NOT FOUND". - a Comando de debug para ensamblar. mov dx,9000 Copia "9000 H" en el registro DX. mov es,dx Copia el contenido de DX al registro "Extra Segment" o ES. xor bx,bx Pone a 0 el registro BX. mov cx,0001 Escribe 0001 en CX (00: cilindro; 01: sector). mov dx,0080 Escribe 0080 en DX (00: cabeza; 80: disco C:) (00 para A: 01 para B: 80 para C: 81 para D:). mov ax,0201 Escribe 0201 en AZ (02 para leer; 01 para un sector). int 13 Llamada a BIOS DISK: lee un sector de C: a partir de 0/0/1. Lo guarda en 9000:0000. int 20 Cuando termine devuelve el control. <enter> Se pone una línea sin nada para terminar de ensamblar. - g Se escribe g para ejecutar el programa ensamblado. - r cx Mira el contenido de CX y permite poner un valor. 200 Ponemos 200 (H), es decir 512: para guardar 512 bytes. - w 9000:0 Escribimos en a:\mbr.dat 512 bytes a partir de 9000:0. - q Salimos del debug. 5.2.- Recuperar el MBR desde un fichero. debug a:\mbr.datSe ejecuta desde el prompt de DOS este comando; a:\mbr.dat es el fichero desde donde vamos a restaurar el MBR. Caso de que aparezca "FILE NOT FOUND", interrumpir el proceso: q. - l 9000:0 Copia a:\mbr.dat a partir de 9000:0. - a Comando de debug para ensamblar. mov dx,9000 Copia "9000 H" en el registro DX. mov es,dx Copia el contenido de DX al registro "Extra Segment" o ES. xor bx,bx Pone a 0 el registro BX. mov cx,0001 Escribe 0001 en CX (00: cilindro; 01: sector). mov dx,0080 Escribe 0080 en DX (00: cabeza; 80: disco C:) (00 para A: 01 para B: 80 para C: 81 para D:). mov ax,0301 Escribe 0201 en AZ (03 para escribir; 01 para un sector). int 13 Llamada a BIOS DISK: escribe 1 sector de C: a partir de 0/0/1. int 20 Cuando termine devuelve el control. <enter> Se pone una línea sin nada para terminar de ensamblar. - g Se escribe g para ejecutar el programa ensamblado. - q Salimos del debug. ------------------