Programa da escrita para suprimir a divisória, para suprimir a entrada da divisória da tabela da divisória de MBR

Files Recovery Software
Início Detalhes de Contato Apoio ao Cliente Download Demo Produtos  

 
 

Programa da escrita para suprimir a divisória

O programa para suprimir a divisória é usado para a finalidade de pesquisa de defeitos. Por exemplo, supor que você teve as divisórias do sistema de lima FAT32 em seu disco. Agora você decidiu-se instalar simultaneamente o sistema operando-se de LINUX em seu disco.

Se algum como, a instalação do sistema se operando é interrompida in-between, no estágio quando as modificações eram feitas à tabela da divisória do MBR. Nesses casos há uns muitos das possibilidades que a divisória, em que você estava indo instalar o outro sistema se operando, se torna inacessível.

Neste caso o espaço de disco da divisória perdida transforma-se inútil devido a ser inacessível. Entretanto se nós suprimirmos a informação da divisória dessa divisória da tabela da divisória como, nós podemos outra vez fazer a este espaço o comando se usando usable de FDISK do DOS.

O programa para suprimir a entrada da divisória da tabela da divisória de MBR tem sido dado em seguida:

/* Programa para suprimir a segunda entrada da divisória da tabela da divisória de MBR */

# include <bios.h>

/* estrutura para ler a entrada da divisória da tabela da divisória */

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

/* Starting Head */
unsigned char start_side ;

/* combinação de começar o número do setor e de cilindro */

unsigned int start_sec_cyl ;

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

/* Ending Head */
unsigned char end_side ;

/* combinação de começar o número do setor e de cilindro */

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: ");

/* Para suprimir a segunda informação da divisória do da divisória
a tabela de MBR remove os slashes para diante da função do biosdisk().
do Não usar descuidada, informação do da divisória da segunda
divisória do da vontade da tabela da divisória
seja apagado completamente. */

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

}

Comentários no programa:

Uncomment o biosdisk (3, 0x80, 0, 0, 1, 1, & função de p) para suprimir a segunda divisória da tabela da divisória de MBR.

Para suprimir a divisória, todos os parâmetros dela, são ajustados a 0 na entrada da tabela da divisória em MBR. Recordar sempre isso se você suprimir a divisória prolongada, todas as divisórias lógicas dessa divisória prolongada tornar-se-á também inacessível.

A exposição da função () é usada indicar a tabela da divisória de MBR. O coding da função é como segue:

/* Função para indicar a tabela da divisória de 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
 
 
Data Recovery livro
 
Capítulo-1 Uma vista geral da recuperação dos dados
Capítulo-2 Introdução de discos duros
Capítulo-3 Aproximação lógica aos discos e ao ósmio
Capítulo-4 Sistemas de número
Capítulo-5 Introdução da programação de C
Capítulo-6 Introdução aos princípios do computador
Capítulo-7 Comandos necessários do DOS
Capítulo-8 Funções e interrupções do Disco-BIOS que seguram com C
Capítulo-9 Segurando discos duros grandes
Capítulo-10 Recuperação dos dados do disco flexível Corrupted
Capítulo-11 Fazendo apoios
Capítulo-12 MBR de leitura e modificando com programação
Capítulo-13 DBR de leitura e modificando com programação
Capítulo-14 Programação para “a recuperação da lima crua”
Capítulo-15 Programação para limpadores dos dados
Capítulo-16 Desenvolvendo mais utilidades para discos
Apêndice Glossário de termos da recuperação dos dados
 
 
Pro Data Doctor

Início

Produtos

Detalhes de Contato

Apoio ao Cliente

Download Demo

Termos e Condições

 
Pro Data Doctor