Programa de la escritura para suprimir la partición, para suprimir la entrada de la partición de la tabla de la partición de MBR

Files Recovery Software
Inicio Datos de contacto Servicio de atención al cliente Descarga Demo Productos  

 
 

Programa de la escritura para suprimir la partición

El programa para suprimir la partición se utiliza para el propósito de localización de averías. Por ejemplo, asumir que tenías las particiones del sistema de ficheros FAT32 en tu disco. Ahora decidías instalar el sistema operativo de LINUX en tu disco simultáneamente.

Si cualquiera cómo, la instalación del sistema operativo se interrumpe mientras tanto, en la etapa cuando las modificaciones eran hechas a la tabla de la partición del MBR. En tales casos hay muchos de las posibilidades que la partición, en que entrabas instalar el otro sistema operativo, llega a ser inaccesible.

En este caso la espacio de disco de la partición perdida se convierte en inútil debido a ser inaccesible. Sin embargo si suprimimos la información de la partición de esa partición de la tabla de la partición cómo, podemos otra vez hacer este espacio el comando usable de FDISK que usa del DOS.

El programa para suprimir la entrada de la partición de la tabla de la partición de MBR se ha dado después:

/* Programa para suprimir la segunda entrada de la partición de la tabla de la partición de MBR */

# include <bios.h>

/* structure to read the partition entry from partition table */

struct partition
{
/* Active Partition Byte */
unsigned char bootable ;

/* Starting Head */
unsigned char start_side ;

/* combination of Starting sector and cylinder number */

unsigned int start_sec_cyl ;

/* File system Indicator Byte */
unsigned char parttype ;

/* Ending Head */
unsigned char end_side ;

/* combination of Starting sector and cylinder number */

unsigned int end_sec_cyl ;

/* Relative Sector Number */
unsigned long part_beg ;

/* Partition length in sectors */
unsigned long plen ;
} ;

/* Structure to read-write MBR */
struct part
{

/* IPL (Initial Program Loader) */
unsigned char master_boot[446] ;

/* Partition table */
struct partition pt[4] ;

/* Magic Number */
int lasttwo ;
} ;

struct part p ;

void main()
{
unsigned int t1,t2;
clrscr();
biosdisk ( 2, 0x80, 0, 0, 1, 1, &p ) ;
display(); /* display the information of
Partition table */
getch();

p.pt[1].bootable = 0;
p.pt[1].start_side = 0 ;
p.pt[1].start_sec_cyl = 0 ;
p.pt[1].parttype = 0;
p.pt[1].end_side = 0;
p.pt[1].end_sec_cyl = 0;
p.pt[1].part_beg = 0;
p.pt[1].plen = 0;

printf("\n\n\n After Deleting the Second Partition
Entry From MBR Partition Table,");
printf("\n The Partition Table will Be Changed as
Follows: ");

/* To Delete Second Partition Information from partition
table of MBR Remove the forward slashes from the
biosdisk( ) function. Do not use Carelessly, Partition
information of Second Partition of Partition Table will
be Erased Completely. */

////// biosdisk ( 3, 0x80, 0, 0, 1, 1, &p ) ;
display(); /* Display the information of partition
table after modification */
getch();

}

Comentarios sobre programa:

Uncomment la función del biosdisk (3, 0x80, 0, 0, 1, 1, &p) para suprimir la segunda partición de la tabla de la partición de MBR.

Para suprimir la partición, todos los parámetros de ella, se fijan a 0 en entrada de la tabla de la partición en MBR. Recordar siempre eso si suprimes la partición extendida, todas las particiones lógicas de esa partición extendida también llegará a ser inaccesible.

La exhibición de la función () se utiliza para exhibir la tabla de la partición de MBR. La codificación de la función es como sigue:

/* Function to display partition table of MBR */

display()
{
unsigned int s_sec, s_trk, e_sec, e_trk, i, t1, t2 ;
char type[20], boot[5] ;

printf("\n\nPart. Boot Starting location Ending Location Relative Number of");

printf("\nType Side Cylinder Sector Side Cylinder Sector Sectors Sectors\n");

for ( i = 0 ; i <= 3 ; i++ )
{
if ( p.pt[i].bootable == 0x80 )
strcpy ( boot, "Yes" ) ;
else
strcpy ( boot, "No" ) ;

switch ( p.pt[i].parttype )
{
case 0x00 :
strcpy ( type, "Unused" ) ; break ;
case 0x1 :
strcpy ( type, "FAT12" ) ; break ;
case 0x2 :
strcpy ( type, "Xenix" ) ; break ;
case 0x3 :
strcpy ( type, "Xenix:usr" ) ; break ;
case 0x4 :
strcpy ( type, "FAT16<32M" ) ; break ;
case 0x5 :
strcpy ( type, "DOS-Ext." ) ; break ;
case 0x6 :
strcpy ( type, "FAT16>32M" ) ; break ;
case 0x7 :
strcpy ( type, "NTFS" ) ; break ;
case 0x0b :
strcpy ( type, "FAT32" ) ; break ;
case 0x0c :
strcpy ( type, "FAT32-LBA" ) ; break ;
case 0x0d :
strcpy ( type, "VFAT16" ) ; break ;
case 0x0e :
strcpy ( type, "VFAT16-LBA" ) ; break ;
case 0x0f :
strcpy ( type, "FAT EXT" ) ; break ;
case 0x17 :
strcpy ( type, "HPFS" ) ; break ;
case 0x81 :
strcpy ( type, "Old LINUX" ) ; break ;
case 0x82 :
strcpy ( type, "LinuxSwap" ) ; break ;
case 0x83 :
strcpy ( type, "LinuxNative" ) ; break ;
case 0x85 :
strcpy ( type, "Linux Ext." ) ; break ;
default :
strcpy ( type, "Unknown" ) ; break ;
}

s_sec = ( p.pt[i].start_sec_cyl & 0x3f ) ;
t1 = ( p.pt[i].start_sec_cyl & 0xff00 ) >> 8 ;
t2 = ( p.pt[i].start_sec_cyl & 0x00c0 ) << 2 ;
s_trk = t1 | t2 ;

e_sec = ( p.pt[i].end_sec_cyl & 0x3f ) ;
t1 = ( p.pt[i].end_sec_cyl & 0xff00 ) >> 8 ;
t2 = ( p.pt[i].end_sec_cyl & 0x00c0 ) << 2 ;
e_trk = t1 | t2 ;

printf ( "\n%6s %3s", type, boot ) ;
printf ( "%4d %6d %8d", p.pt[i].start_side,
s_trk,s_sec ) ;
printf ( "%7d %6u %8u", p.pt[i].end_side, e_trk,
e_sec ) ;
printf ( " %10lu %10lu", p.pt[i].part_beg,
p.pt[i].plen ) ;

}

return 0;
}

Previous page

page 1 | 2 | 3 | 4 | 5 | 6

Next page
 
 
Recuperación de Datos de libro
 
Capítulo 1 Una descripción de la recuperación de los datos
Capítulo 2 Introducción de discos duros
Capítulo 3 Acercamiento lógico a los discos y al OS
Capítulo 4 Sistemas de numeración
Capítulo 5 Introducción de la programación de C
Capítulo 6 Introducción a los fundamentos de la computadora
Capítulo 7 Comandos necesarios del DOS
Capítulo 8 Funciones e interrupciones del Disco-BIOS que dirigen con C
Capítulo 9 Manipulación de los discos duros grandes
Capítulo 10 Recuperación de los datos del disco blando corrompido
Capítulo 11 Fabricación de reservas
Capítulo 12 MBR de lectura y de modificación con la programación
Capítulo 13 DBR de lectura y de modificación con la programación
Capítulo 14 Programación para la recuperación del “archivo crudo”
Chapter 15 Programación para los limpiadores de los datos
Capítulo 16 Desarrollar más utilidades para los discos
Apéndice Glosario de los términos de la recuperación de los datos
 
 
Pro Data Doctor

Inicio

Productos

Datos de contacto

Servicio de atención al cliente

Descarga Demo

Términos y Condiciones

 
Pro Data Doctor