La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos.

Presentaciones similares


Presentación del tema: "Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos."— Transcripción de la presentación:

1 Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos

2 Secuencia de Arranque del PC BIOS Boot sector del dispositivo de arranque (HD) Arranque del S.O. instalado BIOS Sector de arranque H.D. (Id. 0080 h) S.O.

3 Modificación del arranque Modificar BIOS: Primer dispositivo de arranque CD Ejecutar el sector de arranque del CD Ceder el control al sector de arranque del HD BIOS Sector de Arranque CD Codigo de Arranque CD Sector de arranque H.D.

4 Código de arranque [Desplazamiento de código] … 07C00h 07C1Bh 61Bh

5 Código de arranque [Desplazamiento de código] Explicación Establecemos direcciones fuente y destino de la copia. Almacenamos AX=0 y DI (serán usadas por retf). Establecemos en CX el número de bytes de nuestro código. Movsb copia el contenido a donde apunta SI en DI y los incrementa. Rep repite la operación y decrementa CX hasta que es 0. Retf toma de la pila en primer lugar la dirección a donde retornará y después el segmento. En este caso: 0000:061Bh. Código 1.mov si,07C1Bh 2.mov di,061Bh 3.push ax 4.push di 5.mov cx,0EAh 6.rep movsb 7.retf

6 Código de arranque [Lectura del sector de arranque HD] Explicación 2. BP=4 se usara de contador del número de lecturas. Parámetros de INT 13h: BX=SP indica donde empieza el buffer donde se almacenarán los datos leídos. CL=01h indica que se copiará el primer sector. CH=00h indica la pista/cilindro. DL=80h es el número de dispositivo (80h disco primario). DH=00h indica la cabeza. AL=01h es el número de sectores a copiar. AH=02h indica la operación a realizar (lectura de un sector) a int 13h. Después se comprueba si se ha iterado las 4 veces y finalmente si se ha activado algún error. Código 1.copia_boot: 2.mov bp,4 3.boot: 4.mov bx,SP 5.mov cx,0001h 6.mov dx,0080h 7.mov ax,0201h 8.int 13h 9.dec bp 10.jnz boot 11.JC err_leyendo

7 Código de arranque [Comprobación de la firma 55AAh] Explicación Almacena en SI la dirección donde debería comenzar la firma recién copiada. (CLD hace que las instrucciones de cadenas vayan aumentando SI y no decrementandolo). Se carga el primer byte en AL mediante LODSB (que incrementa automáticamente SI) y se compara con 55h, si todo ha ido bien se compara el siguiente byte 0AAh. Código 1. mov si, 07DFEh 2. CLD 3. LODSB 4. CMP AL, 55h 5. JNZ err_firma 6. LODSB 7. CMP AL, 0AAh 8. JNZ err_firma

8 Código de arranque [Cesión de control al código leído] Explicación DI=SP (el puntero de la pila ahora apunta a 07C00h). Almacenamos AX=0 en la pila. Almacenamos DI en la pila. Retornamos, en este momento se hacen dos POP, el primero de ellos toma la dirección y el segundo el segmento y se salta la dirección, por tanto salta a: 0000:07C00h Código 1. mov di, sp 2. xor ax,ax 3. push ax 4. push di 5. retf

9 Estructura del CD Sectores 0-15 16 – (sig) Consecutivo a los descriptores Resto VACÍOSVACÍOS Descriptores de Volumen Boot Catalog DIRECTORIOSDIRECTORIOS Descriptor de Volumen Primario Descriptor de Volumen de Arranque … Descriptor de Volumen terminador

10 Estructura del CD Descriptor de volumen primario Estructura de datos almacenada en el sector 16 y siguientes de la primera pista de una sesión de grabación de CD. Debe haber, al menos uno, y normalmente sólo hay uno, aunque algunos CD-ROMs tienen dos o más descriptores idénticos. De hecho, es uno de los requisitos mínimos que describe el sistema de información ISO. Actúa muy parecido a como lo haría un superbloque del sistema de ficheros de UNIX, dando detalles de la parte del disco que cumple con el ISO. Análisis estructura de datos del CD.doc

11 Estructura del CD de arranque Descriptor de volumen de arranque Se almacena en el sector 17 del CD, consecutivamente al descriptor de volumen primario. Contiene, ademas del identificador de disco de arranque (El Torito Specification) y el identificador de la especificacion ISO-9660 (“CD001”) un puntero absoluto al primer sector del catálogo de arranque. Análisis estructura de datos del CD.doc

12 Estructura del CD de arranque Descriptor de volumen terminador Es el último descriptor de volumen. Contiene, al comienzo, un byte con valor fijo 255, y el identificador de la especificacion ISO-9660 (“CD001”) Análisis estructura de datos del CD.doc

13 Estructura del CD de arranque Catálogo de arranque Es una colección de 20 entradas de bytes, agrupadas en 40 entradas por sector. El catálogo permite al sistema elegir una imagen de arranque adecuada para permitir el arranque. Para ser un catalogo valido tiene que tener una entrada de validacion correcta. Notese que esta también acaba en 55 AA. Análisis estructura de datos del CD.doc

14 Estructura del CD de arranque


Descargar ppt "Arranque desde CD en modo de no emulación Instalación y Configuración de Computadores, Redes y Periféricos."

Presentaciones similares


Anuncios Google