MBRの仕切りのテーブルから仕切りの記入項目を削除するために仕切りを削除する執筆プログラム

Data Recovery PRO DATA DOCTOR

Home | Order Online | Downloads | Contact Us | Software Knowledgebase

it | es | pt | fr | de | jp | kr | cn | ru | nl | gr


仕切りを削除する執筆プログラム

仕切りを削除するプログラムはトラブルシューテ-ィングの為に使用される。 例えばあなたのディスクでFAT32ファイルシステムの仕切りがあったと、仮定しなさい。 今あなたのディスクにLINUXのオペレーティングシステムを同時に取付けることにした。

、オペレーティングシステムの取付けがいかに中間中断するかMBRの仕切りのテーブルへの修正がなされていた場合の、段階で。 そのような場合あなたが他のオペレーティングシステムを取付けようとしていた仕切りが得難くなるという多くの可能性がある。

この場合無くなった仕切りのディスク空間は得難いのために無用になる。 、私達が再度このスペースをdosのFDISK命令を使用して使用可能にいかにさせてもいいか但し私達が仕切りのテーブルからその仕切りの仕切り情報を削除すれば。

MBRの仕切りのテーブルから仕切りの記入項目を削除するプログラムは次に与えられてしまった:

/*MBRの仕切りのテーブルから第2仕切りの記入項目を削除するプログラム */

# include <bios.h>

/* 仕切りのテーブルからの仕切りの記入項目を読む構造 */

struct partition
{
/* 活動区画バイト */
unsigned char bootable ;

/* 頭部の開始 */
unsigned char start_side ;

/* セクターおよびシリンダー数の開始の組合せ */

unsigned int start_sec_cyl ;

/* ファイルシステムの表示器バイト */
unsigned char parttype ;

/* 終りの頭部 */
unsigned char end_side ;

/* セクターおよびシリンダー数の開始の組合せ */

unsigned int end_sec_cyl ;

/* 相対的なセクター数 */
unsigned long part_beg ;

/* セクターの仕切りの長さ */
unsigned long plen ;
} ;

/* 読み書きMBRへの構造 */
struct part
{

/* IPL (初期プログラム・ローダー) */
unsigned char master_boot[446] ;

/* 仕切りのテーブル */
struct partition pt[4] ;

/* マジックナンバー */
int lasttwo ;
} ;

struct part p ;

void main()
{
unsigned int t1,t2;
clrscr();
biosdisk ( 2, 0x80, 0, 0, 1, 1, &p ) ;
display(); /* 仕切りのテーブルの情報を表示しなさい */
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: ");

/*MBRの仕切りのテーブルから第2仕切り情報を削除するためにはから前方スラッシュを取除きなさい biosdisk ()機能。 、仕切りのテーブルの第2仕切りの仕切り情報完全に消される不注意に使用してはいけない。 */

////// biosdisk (3、0x80、0、0、1、1の&p); 表示(); /*の表示修正の後の仕切りのテーブルの情報 */
getch();

}

プログラムのコメント:

Uncomment MBRの仕切りのテーブルから第2仕切りを削除するbiosdisk (3、0x80、0、0、1、1の&p)機能。

仕切りを、それのすべての変数はMBRの仕切りのテーブルの記入項目の0に削除するためには、置かれる。 延長仕切りを削除したらそれを、その延長仕切りのすべての論理的な仕切りまたなる得難く常に覚えなさい。

機能表示が() MBRの仕切りのテーブルを表示するのに使用されている。 機能のコーディングは次の通りある:

/* 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;
}

Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Data Recovery with & without Programming


Publishers of the Book
Number of Pages
ISBN
Price of the Book


BPB Publications, New Delhi, India
540
81-7656-922-4
$69.00 (Including Shipping Charges, Cost of Book and Other expenses, Free Source Code CD included with the Book)





Buy Data recovery Book

Previous page

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

Next page

© Copyright 2002-2005 DataDoctor.Biz

Home | Contact us | Downloads | Services | Terms and conditions | Site map

Website Data Recovery | recuperación de Datos | Récupération de données | Datenrettung | Recupero dati | データ復旧 | 데이터 복구 | 数据恢复 | Восстановление данных | De terugwinning van gegevens | Ανάκτηση δεδομένων
Sitemap Site map1 2 3 4 | Spanish1 2 3 | French1 2 3 | German1 2 3 | Italian1 2 3 | Portuguese1 2 3 | Japanese1 2 3 | Korean1 2 3 | Chinese1 2 3 | Russian1 2 3 | Dutch1 2 3 | Greek1 2 3
Data Recovery Book English | Spanish | French | German | Italian | Portuguese | Japanese | Korean | Chinese | Russian | Dutch | Greek