Download Particiones MBR

Document related concepts

Tabla de particiones GUID wikipedia , lookup

Registro de arranque principal wikipedia , lookup

Partición de disco wikipedia , lookup

TestDisk wikipedia , lookup

Tabla de asignación de archivos wikipedia , lookup

Transcript
INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY
CAMPUS ESTADO DE MÉXICO
Disco Duro y Sistemas de Archivos.
(o... Cómo manipular el disco y no morir en el intento)
Ing. Jose Manuel Franco
Dr. Roberto Gómez Cárdenas
Recopilado por: María de la Luz Grande Vega 450250
26.02.01
Introducción

La mayor parte de los conceptos expresados
aquí estan ligados con la arquitectura PC y el
sistema operativo DOS.
 Es importante tomar en cuenta estos
conceptos ya que Linux reposa sobre una
arquitectura PC.
El Disco Duro




Un disco duro es una superficie plana circular cubierta por un material
ferromagnético sensible a los campos magnéticos, además existe un brazo
que cuenta con una dispositivo de lectura/escritura llamado cabeza.
El disco gira sobre su eje a velocidad constante, el brazo puede moverse
únicamente en una dirección, acercándose o alejándose del centro del disco.
Para grabar información se situa la cabeza en un sitio determinado y se le
envia un flujo impulsos eléctricos que representan a una información binaria
creando un campo electromagnético que afecta la orientación del material
ferromagnétco, conforme el el disco gira.
Para leer información se situa la cabeza en un sitio determinado y se sensa el
campo electromagnético bajo la cabeza induciendo un flujo de impulsos
electricos que son traducidos a datos binarios.
Evolución disco duro
Evolución disco duro
¿Cuantos bytes hay en 1 Megabyte?
1G=¿
Prefijos del S.I. :
Kilo
Mega
Giga
Tera
Peta
Exa
x 103
x 106
x 109
x 1012
x 1015
x 1018
1024 x 1024
ó
1 000 000
bytes?
Prefijos binarios:
IEC
210 = kibi
220 = mebi
230 = gibi
240 = tebi
250 = pebi
260 = exbi
KNUTH
KK = large kilobyte
MM = large megabyte
GG = large gigabyte
TT = large terabyte
PP = large petabyte
EE = large exabyte
Características


Los discos flexibles están protegidos en una caja con un revestimiento de
algodón, para así poder mantenerlos limpios y lo más alejado posible de
partículas de polvo, ya que estos son de 10 a 20 veces más grandes que la
pista de un disco, lo cual nos puede llevar a perdidas de información
Cuando hablamos de un disco tenemos que hablar de coordenadas.
Posicionar las cabezas.
Cilindros
Tracks


Los discos flexibles de 3 ½ tienen 80 TPI (tracks per inch) lo cual quiere decir
que tenemos 80 pistass en cada pulgadas.
Un disco duro es metálico y son varias pistas dispuestas geométricamente.
Track -> diskette
Cilindros-> disco duro
Tracks, cilindros y sectores
Cabezas
Cilindro
2
3
Cabeza 0
Cabeza 1
1/escritura
1
4




Sector
Un disco de 1440 tiene:
18 sectores físicos
80 tracks
2 heads (cabezas)
La numeración de las cabezas
empieza desde 0
La numeración de los cilindros
empieza desde 0
La numeración de los sectores
empieza desde 1
LBA

El sistema operativo realiza una representación lineal de la información
2879
0 1 2 3 4 5
Ultimo sector lógico

Hay una transformación fórmulas
Cabezas
Cilindros
Sectores

BIOS busca cabeza 0
cilindro 0
sector 1
0 1 2 3 4 5
Sector de arranque
512 bytes
2879
CHS vs LBA


CHS
LBA
Cylinder, Head, Sector
Linear Block Addressing
Bloques= 512 Bytes
Coordenadas de disco
Se utilizan los sectores lógicos
•La tabla de particiones nos dice que información se almacena
•El FLAG de la tabla de particiones es booteable o no booteable
•Se deben de tener 4 particiones primarias como máximo
Las ventajas del CHS y el LBA:
CHS
No necesita traducir el controlador de disco
De esta forma lo prefiere el BIOS
LBA
Simple de manejar
Más fácil para el sistema operativo
El concepto de Volumen



Un volumen es el nombre que DOS le da a una partición.
A un volumen se le asigna una letra para que el Sistema de
Archivos pueda tener acceso a el como una entidad
independiente
Los volúmenes pueden crearse para optimizar organizar la
información o bien para acceder a zonas del disco duro que
rebasan la capacidad de acceso del sistema operativo
El cluster



La unidad más pequeña a la que se puede tener acceso es el
sector (512 bytes).
los sectores son agrupados en clusters o unidades de
asignación.
El tamaño del cluster es proporcional al tamaño del volumen del
disco:






mayor es el volumen, mayor es el tamaño del cluster
discos duros: clusters desde 4 sector a 64 sectores (en algunos
casos hasta 128 sectores)
discos flexibles: 2 sectores (en algunos casos puede ser sólo un
sector)
Los sectores que forman cluster están contiguos.
El tamaño del cluster es determinado cuando el volumen del
disco es formateado.
A un archivo se le asigna un número entero de clusters
Sector, track y cluster
Sistema de archivos(File system)


Es el conjunto de estructura lógicas y rutinas de
software usadas para controlar acceso a lo almacenado
en un disco duro.
Algunos sistemas archivos









File Allocation Table (FAT) 12/16/32 bits. DOS/Win 9x/Win Me
New Technology File System (NTFS). Windows NT/2000/XP
High Performance File System (HPFS). OS/2
BeOS File System (BFS). BeOS
minix, xiafs, extfs, ext2fs, ext3fs, reiserfs, enh-fs. Linux
Hierarchical File System (HFS). MacOS
Sistema de Arhivos en Red (NFS, AFS, Coda, nbd, GFS)
Especiales (tmpfs, swapfs, devfs, procfs, usbfs)
Otros : ISO9660, High Sierra, Rock Ridge, Romeo, Joliet, UDF
El sistema de archivos FAT
ATRIBUTO
Uso
Tamaño
entrada
FAT 12
discos flexibles y
volumenes disco
duro pequeños
FAT 16
chicos a
moderados
volumenes disco
duro
FAT 32
volumnes
medianos a
muy grandes
12 bits
16 bits
32 bits
Max. número
4,086
clusters
Tamaño cluster 0.5Kb a 4Kb
Máximo tamaño
volumen
16,736,256
65,526
2Kb a 32 Kb
4Kb a 32 Kb
2,147,123,200
aprox 2 41
Características FAT

Tabla donde se encuentran información acerca de los
clusters.




hay una entrada por cada cluster usado en el disco
se tiene un número por entrada que representa como se usa
el cluster
los clusters de un archivo estan encadenados
La tabla se encuentra en el área del disco que sigue
al disk boot sector

cada volumen tiene dos copias identicas (una es el respaldo
de la otra)
Estructura de un sistema de archivos FAT

El Sector de Arranque (Boot Sector)
 El FAT (2 o mas tablas idénticas)
 El directorio raíz
 El área de datos
El MBR (Master Boot Record)

Primer sector del disco o sector de arranque
principal
 En esta área podemos identificar:

El código de booteo:


La tabla de particiones del disco:


del byte 1 al 446 (es lo que ejecuta el BIOS)
lista de las particiones del disco
El número mágico AA55:



byte 511: 55
byte 512: AA
identifica a este sector como un sector de arranque
Sector de arranque de un floppy
OFFSET
000000
000010
000020
000030
000040
000050
000060
000070
000080
000090
0000a0
0000b0
0000c0
0000d0
0000e0
0000f0
000100
0 1 2 3
eb3c904d
02e00040
00000000
4d452020
c08ed0bc
1653bf3e
0f8b0e18
cd137279
890e207c
161e7c03
7ca3497c
1e0b7c03
00bb0005
b001e8ac
a6750a8d
e85f0033
585858eb
4 5 6 7
53444f53
0bf00900
0000295a
20204641
007c1607
7cb90b00
7c884df9
33c03906
a0107cf7
060e7c83
89164b7c
c348f7f3
8b16527c
0072168b
7f20b90b
c0cd165e
e88b471a
8 9 A B
352e3000
12000200
5418264e
54313220
bb780036
fcf3a406
894702c7
137c7408
26167c03
d200a350
b82000f7
0106497c
a1507ce8
fbb90b00
00f3a674
1f8f048f
48488a1e
C D E F
02010100
00000000
4f204e41
2020fa33
c5371e56
1fc645fe
073e7cfb
8b0e137c
061c7c13
7c891652
26117c8b
83164b7c
9200721d
bee67df3
18be9e7d
4402cd19
0d7c32ff
*0123456789ABCDEF*
*...MSDOS5.0.....*
*...@............*
*......)ZT..NO NA*
*ME
FAT12
.3*
*.....|...x.6.7.V*
*.S..|.........E.*
*....|.M..G....|.*
*..ry3.9..|t....|*
*.. |..|...|...|.*
*..|...|....P|..R*
*|.I|..K|. ....|.*
*..|..H....I|..K|*
*......R|.P|...r.*
*.....r........}.*
*.u... .....t...}*
*._.3...^....D...*
*XXX...G.HH...|2.*
Sector de arranque de un floppy (...cont)
000110
000120
000130
000140
000150
000160
000170
000180
000190
0001a0
0001b0
0001c0
0001d0
0001e0
0001f0
f7e30306
505251e8
72bb0501
157c8a16
7000ac0a
3b16187c
33d2f736
c3b4028b
ca86e98a
4e6f6e2d
6f722064
65706c61
20616e79
6164790d
534d5344
497c1316
3a0072d8
0083d200
247c8b1e
c07429b4
7319f736
1a7c8816
164d7cb1
16247c8a
53797374
69736b20
63652061
206b6579
0a00494f
4f532020
4b7cbb00
b001e854
031e0b7c
497ca14b
0ebb0700
187cfec2
257ca34d
06d2e60a
36257ccd
656d2064
6572726f
6e642070
20776865
20202020
20535953
07b90300
00595a58
e2e28a2e
7cea0000
cd10ebf2
88164f7c
7cf8c3f9
364f7c8b
13c30d0a
69736b20
720d0a52
72657373
6e207265
20205359
000055aa
*....I|..K|......*
*PRQ.:.r....T.YZX*
*r..........|....*
*.|..$|..I|.K|...*
*p....t).........*
*;..|s..6.|....O|*
*3..6.|..%|.M|...*
*.....M|.....6O|.*
*.....$|.6%|.....*
*Non-System disk *
*or disk error..R*
*eplace and press*
* any key when re*
*ady...IO
SY*
*SMSDOS
SYS..U.*
El sector de arranque de un disco duro.
OFFSET
000000
000010
000020
000030
000040
000050
000060
000070
000080
000090
0000a0
0000b0
0000c0
0000d0
0000e0
xxxxxx
0001b0
0001c0
0001d0
0001e0
0001f0
0 1 2 3
fa33c08e
bf0006b9
b304803c
cb75efcd
cb741a80
56bb0700
bb007cb8
4f75edbe
55aa75c7
69642070
6c650045
206f7065
6d004d69
696e6720
00000000
XXXXXXXX
XXXXXXXX
0100060d
00000000
00000000
00000000
4 5 6 7
d0bc007c
0001f2a5
80740e80
188b148b
3c0074f4
b40ecd10
010257cd
a306ebd3
8bf5ea00
61727469
72726f72
72617469
7373696e
73797374
00000000
XXXXXXXX
XXXXXXXX
fef83e00
00000000
00000000
00000000
8 9 A B
8bf45007
ea1d0600
3c00751c
4c028bee
be8b06ac
5eebf0eb
135f730c
bec206bf
7c000049
74696f6e
206c6f61
6e672073
67206f70
656d0000
00000000
XXXXXXXX
XXXXXXXX
00000678
00000000
00000000
00000000
C D E F
501ffbfc
00bebe07
83c610fe
83c610fe
3c00740b
febf0500
33c0cd13
fe7d813d
6e76616c
20746162
64696e67
79737465
65726174
00000000
00000000
XXXXXXXX
XXXX8001
0d000000
00000000
00000000
000055aa
*0123456789ABCDEF*
*.3.....|..P.P...*
*................*
*...<.t..<.u.....*
*.u......L.......*
*.t..<.t.....<.t.*
*V.......^.......*
*..|...W.._s.3...*
*Ou...........}.=*
*U.u.....|..Inval*
*id partition tab*
*le.Error loading*
* operating syste*
*m.Missing operat*
*ing system......*
*................*
*................*
*......>....x....*
*................*
*................*
*..............U.*
Estructura del Sector de Arranque (floppy)
Espacio reservado para
etiqueta disco (volumen)
JMP XXX
# de sectores
Número de serie
Información del disco y
de su Sistema Operativo
Instrucciones a ejecutar
55AA
Aquí hay un programa e
información del disco
Ensamblador
•Programas .com
•Código no relocalizable
•Programa válido en
sector de arranque
Sector ya inicializado con un programa que puede
cargarse. si el BIOS no lo encuentra despliega un
mensaje de error:
Disco no usable
(Esto no es un disco de arranque)
Estructura del sector de arranque (disco duro)
JMP XXX
•Existen otros tipos de particiones que
no son parte del sistema operativo pero
que tienen información del mismo,
como son el IBM Hybernate (el cual
guarda el estado o imagen cuando se
apaga, laptops), o el COMPAQ
Diagnostics.
xxx
Tabla de
particiones
55AA
Podemos encontrar otro tipo de particiones con un número entre 0 ... 255, algunos son:
•FAT12
•Linux EXT2
•Linux SWAP
•FAT16 > 32 M
•Minix
•FAT 16 discos menores a 32 M
•AIX
•FAT 32
•Free BSD
•Partición extendida
La tabla de particiones
16 bytes
Bandera
Activación
Inicio Particion Tipo
Fin Particion
CHS
Partición CHS
bit 7 es la bandera
bits 6-0 son cero
El tamaño de la bandera
es de 1 byte:
0 No arranca
80h Puede arrancar
Número entre 0 ... 255:
0b
83
82
07
FAT 32
EXT2 LINUX
SWAP LINUX
HPFS / NTFS
Inicio
LBA
Tamaño
en sectores
Si CHS tiene 1023 / 255 / 63
entonces el SO utiliza el LBA
Detalles:
• Si el sector de arranque,FAT o Directorio principal se daña el disco será inservible
• Si otro sector está dañado, la información de los otros sectores esta disponible
• A nivel de BIOS se pueden manejar hasta 8 G con CHS, para discos mayores se utiliza el LBA
Ejemplo tabla particiones
0.
DL
80
00
00


1.
DH
01
00
00
2.
CL
01
81
00
3.
CH
00
95
00
4.
TB
06
05
00
5.
DH
0e
0e
00
6.
CL
be
fe
00
7.
CH
94
7d
00
8.9.A.B.
LBA.....
3e000000
4a610900
00000000
C.D.E.F.
SIZE....
0c610900
724e0300
00000000
1st entry
2nd entry
3rd entry
00 00 00 00 00 00 00 00 00000000 00000000
4th entry
La primera partición, una partición DOS FAT empieza en CHS
0H,1H,1H (LBA 3EH) y termina en CHS 294h, Eh, 3Eh con un
tamaño de 9610Ch sectores
La segunda partición, una partición extendida, empieza en CHS
295h, 0h, 1h (LBA 9614Ah) y termina en CHS 37Dh, Eh, 3Eh
con un tamaño de 34E72h sectores
La tabla de asignación de archivos
(File Aallocation Table)



Despues del MBR sigue la tabla de asignación de
archivos (FAT)
Generalmente hay dos tablas, una es de respaldo
Consiste de una tabla de números


tiene 65,536 entradas
cada entrada contiene información acerca de un cluster en
forma de un número.
Boot sector
boot
tabla de
code particiones
FAT 1
zona de datos
FATDirectorio
2
Directorio
Los posibles valores de los clusters
Valor en la entrada de la
Table
Significado
FFFFh
El cluster es parte de un archivo
y el último
xxxx (p.e. 18FAh)
El cluster es parte de un
archivo, el siguiente cluster es
el xxxx (18FA)
El cluster esta vacío y por lo
tanto disponible.
0000h
FFFEh
(NOT 0001h ó –1d)
El cluster contiene sectores
defectuosos, es marcado como
malo.
Ejemplo
000
001
002
003
004
005
006
007
008
009
00a
00b
00c
00d
00e
00f
001
El tamaño de FAT

Cada cluster tiene una entrada en la FAT, el tamaño
del área de FAT depende del tamaño del disco.



Considermos un disco de 160 MB
El tamaño máximo del FAT es de 128KB,



cada entrada en el FAT ocupa 16 bits
16 archivos, 2 bytes c/u: 65,536x2 = 131,072 bytes (128 KB)
Hay 40,400 clusters, ya que la partición es de 160 MB
Se tienen dos FATs:


40,400 x 2 bytes
esto nos da un total de 161,600 y eso ocupará 316 sectors
El Directorio


Es la última área administrativa en el disco.
Siempre hay 512 entradas de archivos en el
directorio


es del mismo tamaño para todos los discos duros.
La estructurra del directorio consiste de un número
de entradas de directorio.



cada entrada ocupa 32 bytes
las entradas son identicas ya sea que esten en el directorio
raíz o en algun subdirectorio
contienen información como:



el nombre del archivo (en el formato 8.3)
tamaño del archivo en bytes
fecha y hora de la última revisión
Estructura del directorio

Los 32 bytes estan agrupados en secciones


Se cuenta con el número del primer cluster



válido para todas las secciones, ya sea que se trate de
archivos o directorios (directorio raíz y subdirectorios)
importante ya que a partir de eso empieza a buscar al
archivo
el primer cluster es leido de la entrada del directorio, los
siguientes números de clusters son leídos del FAT
En discos duros formateados como FAT16 el
directorio raíz ocipa 512 entradas, las cuales son
de 32 bytes cada una.

entonces ocupa 16 KB
El área de datos





El resto del disco alberga la parte más importante, el
área de datos, donde todos los archivos y sub
directorios son almacenados.
El área de datos es la parte más grande del disco
Los sectores del área de datos estan conjuntados en
clusters.
Como se dijo antes, el máximo número de clusters
para datos es 216 =65,535
Si el disco duro es de 160 Mb:

se tienen 40,400 clusters de 8 sectores cada uno
Completando el cuadro: 160Mb
Area
Cantidad de
Sectores
Número de
Sector
Boot Sector
1
0
FAT 1
158
1-158
FAT 2
158
159-316
Directorio
32
317-348
Area Datos con
40,000 clusters
de 4 Kb c/u
323,200
349 - 323,548
Un ejemplo de relación tabla particiones y FAT
Particiones primarias, extendidas y lógicas


Las reglas que determinan como pueden ser usadas las
particiones datan del origen de la PC y continuan igual
hoy en día.
Un disco duro puede contar con un máximo de cuatro
particiones



Solo una partición puede designarse como activa.


algunas veces son llamadas particiones primarias
limitación debido a la forma en que el MBR esta especificado
esta partición será la que será usada para el arranque del el
sistema.
Una de las particiones puede ser designada como una
partición extendida (extended DOS partition)

esta partición puede ser subdividido en varias particiones lógicas
La partición extendida de DOS


Funciona como un contenedor para las particiones DOS, a
excepción del primer (primaria) volumen.
La estructura que fue usada en el diseño original (que impone el
límite de cuatro particiones) era muy estricta.


A: 1er. disco flexible B: 2do. disco flexible C: disco duro
unidad lógica
El sistema de extensión de DOS permite tener hasta 24
particiones de disco en un solo sistema
D:
La tabla de partición extendida



La información de la partición extendida esta
contenida en la tabla de particiones del MBR
La tabla del MBR contiene una liga a una tabla de
partición extendida.
La tabla contiene información acerca de la primera
partición y una liga a la siguiente tabla de partición
extendida que describe la siguiente partición en el
disco

las tablas de particiones extendidas están ligadas en una
cadena que empieza en el tabla de particiones del MBR
ejemplos sistemas

Partición simple con Windows PC




todo el espacio en disco en una sola partición usando
alguno de los sistemas FAT.
esta máquina solo tiene una partición primaria FAT y nada
mas
los otros tres slots para particiones estan vácios.
Particiones Multiples Windows PC



se tienen dos particiones
una es una partición primaria DOS ( drive C: )
la otra es una partición de extensión DOS


dentro de esta partición el resto de los drives lógicos son
creados
si tuviera tres volumenes lógicos estos estarían asignados por
las letras D, E y F y se encontarían dentro de la partición
extendida.
Mas ejemplos

Varios sistema operativos en una PC



Un ordenador con varios sistemas operativos puede usar
una partición primaria para hasta cuatro sistemas de
archivos
se pueden combinar diferentes particiones con diferentes
sistemas operativos
por ejemplo se puede tener una partición primaria DOS, una
partición extendida DOS y una partición Linux
Ejemplo: Particiones extendidas



El master boot record (MBR) tiene 4 particiones.
Si se necesitan más, lo que hacemos es marcar la última partición como una
partición extendida 0x05.
Para DOS puede haber como máximo 24 Unidades lógicas (letras A, B, C .. Z)
SWAP de Linux
Tabla de particiones del MBR
0x82
0x05
0x0b
0x07
0x0b
0x83
0x05
MBR
Apuntador a otra
tabla de particiones
Ext=Tipo 5
El cual apunta a todo el
espacio libre que queda
55AA
(Igual que la primera)
Sólo va a tener 2 entradas,
inicio, fin y tipo, un 0 en caso
de que no haya más y un 0x5
si hay otra partición
Ejemplo de
particiones:
0: Win
1: OS2
2: Linux Swap Linux
3: Ext
FAT32
Algunos comentarios sobre particiones

En linux no existe el concepto de Unidades lógicas

Las 4 primeras particiones del primer disco IDE se nombran:






/dev/hda1
/dev/hda2
/dev/hda3
/dev/hda4
si, por ejemplo,la partición extendida aloja tres particiones estas se
denotan en linux por /dev/hda5, /dev/hda6 y /dev/hda7
respectivamente
En terminos de como se usa el disco solo hay dos una
diferencias entre una partición primaria y una extendida:


Una partición primaria puede activiarse como booteable (activa)
mientras que una partición lógica no.
Por cada partición extra que se use, existe una tabla de particiones
en la que el primer registro contiene la información de la partición y
el segundo registro es un apuntador a la siguiente tabla de
particiones o está vació si se trata de la última partición.




Para que un sistema operativo se pueda inicializar, la partición
que contenga el archivo de inicio debe marcarse como activa.
En los computadores Intel x-86, la partición activa es una
partición primaria que contiene los archivos de arranque del
sistema.
La partición activa está ubicada en el disco duro al que el
computador accede cuando se inicializa.
Si se tiene instalado más de un sistema operativo, y este otro
sistema operativo se encuentra instalado en una partición
diferente a la que se encuentra marcada como activa, sólo hay
que marcar la partición correspondiente como activa.
Marcando la partición como activa

Solo particiones primarias pueden ser usadas para bootear el
sistema operativo.



Si se particiona un nuevo disco duro y se crea una partición
primaria DOS, usando la utilidad FDISK, pero se le olvida
activar la partición primaria:



solo una puede ser booteable, de otra forma el MBR no sabra a
que código de booteo (de los diferentes volumenes) le debe pasar
el control
DOS llama a la partición booteable como la partición activa
BIOS no podra bootear el sistema operativo
Esto puede provocar un error del estilo: No boot device
available
Algunos BIOS despliegan mensajes más cripticos:

AMI BIOSes son conocidas por el mensaje: “NO ROM BASICSYSTEM HALTED cuando no se puede encontrar un dispositivo de
arranque.