Bueno, generalmente depende del sistema de archivos que uses... si es FAT12 o 16 o 32 PERFECTO, si es NTFS.... pues realmente no se como se hace...
Bueno, si es FAT el sector de arranque (BOOTSECTOR) contiene cierta información:
Des. Longitud Descripción
0x00 3 bytes Instrucción de salto al programa de arranque
0x03 8 bytes Identificación del sistema (fabricante)
0x0B 1 palabra Número de bytes por sector
0x0D 1 byte Número de sectores por cluster
0x0E 1 palabra Número de sectores reservados (con BootSector)
0x10 1 byte Número de copias de la FAT
0x11 1 palabra Número máximo de entradas del directorio raíz
0x13 1 palabra Número total de sectores
0x15 1 byte Identificador del disco (F0 para 3 ½ y 1.44MB)
0x16 1 palabra Número de sectores para cada FAT
0x18 1 palabra Número de sectores por pista
0x1A 1 palabra Número de cabezas/caras
0x1C 1 palabra Número de sectores ocultos
0x20 4 byte Número total de sectores (si 0x13 es 0)
0x24 1 byte Número de unidad física (sólo discos duros)
0x25 1 byte Reservado
0x26 1 byte Byte de marca con el valor 0x29
0x27 4 bytes Número de serie del disco
0x2B 11 bytes Nombre del disco (NO NAME si no tiene)
0x36 5 bytes Tipo de FAT: FAT12 o FAT16
... ... .........
... ... Rutina de Arranque (Bootstrap-Loader)
Bueno, esto es necesario si quereis conservar el formato existente... (recomiendo leer documentación sobre la FAT)
Esto ha de estar presente siempre en el BootSector, sino os habreis cargado la FAT... bueno, después de esto va el programa que querais....
Que podeis usar en el?... pues todo, pero solo código de 16bits. Claro está que no se pueden usar interrupciones del DOS, mas que nada porque siempre se arranca el programa del BootSector antes que el SO, asi que
si modificais el BootSector de vuestro disco duro... y es el único que teneis, si no haceis una copia del que habia antes de modificarlo, ya no podreis cargar ni WINDOWS ni nada...Que tamaño puede tener?... generalmente 512bytes, pero si modificas el offset 0Eh(nº sectores reservados) podreis hacer que ocupe el número de sectores que querais... asi que se puede hacer un programa de 2Mb, 3Mb, 500Mb... ya dependerá de la capacidad de vuestro disco duro, y claro está... de la RAM...
PD IMPORTANTE- Si modificas el BootSector de tu disco duro principal(es el que arranca el SO que usas) y no sabes como recuperarlo luego... tendras que formatear el disco i reinstalar el SO. Así que recomiendo hacer una copia de este sector antes de tocar nada (Con el winhex por ejemplo) o practicar con disketes, que el método es el mismo.Bueno, si os interesa mas información podria hacer un MINImanual (y digo mini porque mis conocimientos de ASm...
, pero podria introducir datos acerca el sistema de archivos FAT que este si que me lo conozco)
SALUDOS