Title of the Book | Data Recovery with & without Programming |
Author of the Book | Tarun Tyagi |
Publishers of the Book | BPB Publications, New Delhi, India |
Number of Pages | 540 |
Size | (9.5 x 7.5 x 1.0) Inches |
ISBN | 81-7656-922-4 |
Sample Chapters from book DATA RECOVERY WITH AND WITHOUT PROGRAMMING by Author Tarun Tyagi
Table of Contents
PREFACE
Chapter-1 An Overview of Data Recovery
- Introduction to Data Recovery
- Understanding Data loss
- System Crash
- Human Error
- Software Corruption
- Software Malfunction
- Hardware Error
- Virus Crash
- Sabotage
- Natural Disaster
- Other types of data loss
- Loss of one or more partitions
- Floppy Read Error
- Deletion of important data
- Password loss
- System Crash
- Types and areas of Data Recovery
- Analyzing a computer before Data Recovery
- Acceptable recovery period
- Understanding various costs
- Downtime Costs
- Data Recovery Costs
- User description
- Defining the requirements
- Making objectives
- Some Advices before beginning the Disk troubleshooting or Data Recovery procedure
- Some tips to Protect your Data
- Make the Backups
- Perform surface scanning monthly
- De-fragment of data weekly
- Use good antivirus program
- Get into the habit of keeping your floppy write-protected
- Do not use pirated games and software
Chapter-2 Introduction of Hard Disks
- Introduction
- Components of hard disk
- Disk Platters and Media
- Read/Write Heads
- Head Crash
- Head Parking
- Head Sliders, Arms and Actuator
- Head Sliders
- Head Arms
- Head Actuator
- Spindle Motor
- Connectors and Jumpers
- Logic Board
- Cache and Cache Circuitry
- Read/Write Heads
- Disk Platters and Media
- Low-level hard disk geometry
- Formatting
- Low-Level Formatting
- Partitioning
- High-Level Formatting
- Low-Level Formatting
- Formatted and Unformatted Storage Capacity
Chapter-3 Logical Approach to Disks and OS
- BIOS
- The INT 13H Interface and INT 13H Extensions
- Int13H Extensions
- The 2.1 GB limit
- The 33.8 GB limit
- ATA Specification for IDE Disks - The 137 GB limit
- Two and Four Disk BIOS IDE Support
- The INT 13H Interface and INT 13H Extensions
- Limitations in File Systems
- FAT12
- FAT16
- FAT32
- NTFS
- Cluster
- Cluster Size
- Logical Structure of a Hard Disk
- Master Boot Record (MBR) or Master Partition Table (MPT)
- Master Boot Record Format
- Partition Table Entry Format
- Boot Type Indicator Byte
- Starting Cylinder-Head-Sector Number of the Partition
- File System Indicator Byte
- Ending Cylinder-Head-Sector Number of the Partition
- Relative Sector number of Beginning of the Partition
- Number of Sectors of the Partition
- DOS Boot Record (DBR) / DOS Boot Sector
- Number of Root Directories
- Total number of Sectors
- Media Descriptor
- Number of Sectors of FAT
- Sectors Per Track (or Sectors Per Head)
- Hidden Sectors
- File Allocation Table (FAT)
- How Windows detects the Improper - Shutdown
- Root Directory
- Long File Name (LFN)
- Data Area (or Files Area)
- Fragmented and Defragmented Data
- Identifying the cause of data corruption
- Boot the system with bootable floppy
- Verify the MBR Information
- If MBR is okay, Verify DBR
- Boot the system with bootable floppy
- Partition Table Entry Format
- Introduction
- Decimal Number System
- Binary Number System
- Binary to Decimal number Conversion
- Decimal to Binary number Conversion
- Binary Number Formats
- The Bit
- The Nibble
- The Byte
- The Word
- The Double Word
- Octal Number System
- Binary to Octal Conversion
- Octal to Binary Conversion
- Octal to Decimal Conversion
- Decimal to Octal Conversion
- Hexadecimal Number System
- Binary to Hexadecimal Conversion
- Hexadecimal to Binary Conversion
- Hexadecimal to Decimal Conversion
- Decimal to Hexadecimal Conversion
- ASCII Code
- Some important number system terms, often used for Data and Data Storage representation
- Byte
- Kilobyte
- Megabyte
- Gigabyte
- Terabyte
- Petabyte
- Exabyte
- Zettabyte
- Yottabyte
- Common Data Storage Terms
Chapter-5 Introduction of C Programming
- Introduction
- Why use C in Data Recovery Programming
- Let me assume that you know nothing in C
- Let us start
- Keywords
- Compiling the program
- Printing Numbers
- Using Variables
- Numeric Variable Types
- Initializing Numeric Variables
- Operators
- Assignment Operator
- Mathematical Operators
- Relational Operators
- Logical Operators
- The Comma Operator
- Something more about printf() and Scanf()
- Control Statements
- The if else Statement
- The switch Statement
- The break Statement
- The continue Statement
- Loops
- The while Loop
- The do while Loop
- The for Loop
- The goto Statement
- Pointers
- Array
- Character Arrays
- Accessing the Elements
- Initializing Array Elements
- Looping through an Array
- Multidimensional Arrays
- Strings
- Some Common String Functions
- The strlen Function
- The strcpy Function
- The strcmp Function
- The strcat Function
- The strtok Function
- Functions
- Pass By Value Functions
- Call-by-reference
- Dereferencing
- Memory Allocation in C
- Reallocating Memory
- Releasing Memory
- Structures
- Structures with Pointer Members in C
- Structure Initialisers in C
- Passing Structures to Functions in C
- Union
- The union Keyword
- A practical use of a union in data recovery
- File Handling in C
- The File Modes of fopen Function
- Closing Files
- Reading Files
- Writing to Files
- Command Line Arguments with C
- Bitwise Manipulators
- Bitwise AND
- Bitwise OR
- Bitwise Exclusive OR
- Bitwise Compliment
- Bitwise Shift Left
- Bitwise Shift Right
- Functions to Binary–Decimal and Conversions
- Function for Decimal to Binary conversion
- Function for Binary to Decimal conversion
- Debugging and Testing
- Syntax Errors
- Logic Errors
- Testing
- Some testing principles
- White Box Testing
- Black Box Testing
- Equivalence Classes
- Boundary Value Analysis
- Devising a Test Plan
Chapter-6 Introduction to Computer Basics
- Introduction
- Basic concepts
- Central Processor
- Central Memory
- CPU Registers
- Assembler structure
- Advantages of the Assembler
- Let me keep my promise
- Storing and loading the programs
- Segments
- Data movement
- Interruptions
- Internal Hardware Interruptions
- External Hardware Interruptions
- Software Interruptions
- Central Processor
- Int 20H, Terminate process
- Int 21H, MS-DOS System functions
Chapter-7 Necessary DOS Commands
- Introduction
- Brief History
- Microsoft Disk Operating System
- (MS-DOS) Version 1.0
- MS-DOS Version 2.0
- MS-DOS Version 3.0 to 5.0
- MS-DOS Version 6.0
- MS-DOS Version 7.0 (Windows 95)
- Necessary commands
- ATTRIB
- CD (or CHDIR)
- CHKDSK
- CLS
- COMMAND
- COPY
- DEBUG
- COM Extension
- EXE Extension
- DEL (or ERASE)
- DELTREE
- DOSKEY
- DIR
- DISKCOPY
- EDIT
- EXIT
- FC
- FDISK
- FIND
- FORMAT
- LABEL
- MD (or MKDIR)
- MORE
- MOVE
- RD (or RMDIR)
- SCANDISK
- TYPE
- XCOPY
- Specification shortcuts, Wildcards and Redirection
- Shortcuts
- Wildcards
- Redirection
- >
- >>
- <
- |
Chapter-8 Disk-BIOS Functions and Interrupts Handling With C
- Introduction
- biosdisk and _bios_disk Functions
- diskinfo_t Structure
- absread and abswrite Functions
- Interrupt Handling with C
- SREGS Structure
- REGS Union
- BYTEREGS and WORDREGS Structures
- int86 and int86x Functions
- segread Function
- intdos and intdosx Functions
- SREGS Structure
- How to know the Physical Hard Drive Number
- Interrupt 13H (INT 13H), ROM BIOS Disk Driver Functions
Chapter-9 Handling Large Hard Disks
- First of all, let me tell you a Story
- INT 13H Extensions
- How to use INT 13H Extensions in C Programming
- Comments on Coding of the program
Chapter-10 Data Recovery From Corrupted Floppy
- Why the floppy is not readable
- How to recover
- Method – 1
- Store the boot image of any fresh floppy
- Making the image of DOS Boot Record of a good floppy
- Comments on Program coding
- Pasting the boot image to the first sector of Unreadable floppy
- Comments on Program coding
- Let us do it with single program
- Making the image of DOS Boot Record of a good floppy
- Comments on Program coding
- Storing the boot Image in HEXADECIMAL Characters to use in our previous Program
- Comments on coding of the program
- Method – 2
- What to do if Method-1 doesn't work
- Copy all the data of media surface to a single file
- Comments on Program coding
- Thinking for the solution of sector(s) reading error
- Comments on Program coding
- Paste the Data from the file to the physical surface of fresh floppy
- Comments on Program coding
- Thinking for Logical Recovery for Deleted or lost Data
- Comments on coding
- Comments on coding
- Comments on coding
- Why Backups
- When and what to Back up
- Backup of MBR (Master Boot Record) and its use
- Why Backup MBR
- What Can Be Recovered with the Backup of MBR
- Writing the Program to make Backup of MBR
- Comments on Program coding
- Program to Restore the MBR from Backup
- Comments on Program coding
- Backup of DBR (DOS Boot Record) and its use
- Why Backup DBR
- What can be recovered with the Backup of DBR?
- Programs for Making and Restoring Backups of DBR
- Complete Disk Imaging
- Writing the program for complete disk imaging
- Comments on Coding
- Comments on Coding
- Writing the program for complete disk imaging
Chapter-12 Reading and Modifying MBR with Programming
- Master Boot Record (MBR) or Master Partition Table (MPT)
- Master boot record format
- Partition Table Entry Format
- Writing program to read the partition table of MBR
- Comments on coding
- Program to find all logical partitions and their information
- Comments on coding
- Comments on coding
- Modify MBR by Programming
- Comments on coding
Chapter-13 Reading and Modifying DBR with Programming
- DOS Boot Record (DBR) / DOS Boot Sector
- Reading DBR of Floppy and Small Volumes
- Reading the DBR of Large Volumes
- How to Recover DBR with Programming
- Comments on coding
Chapter-14 Programming for "Raw File" Recovery
- Raw File Recovery
- Headers and footers of some important file types
- Writing a program for Raw File Recovery
- Comments on coding
- INT 10H, function 01H - Set Cursor Type
Chapter-15 Programming for Data Wipers
- Introduction
- When the data becomes completely unrecoverable
- Why data wiping is so important
- Writing program for Non - Destructive data wiper
- Comments on logic and the coding of the program
- Writing program for Destructive Data Wiper
- Comments on coding
- Wiping Data Area of specific file
- Comments on logic and coding of program
Chapter-16 Developing more Utilities for Disks
- Introduction
- Hiding Partitions
- How the partition becomes hidden
- Writing program to hide partition
- Comments on coding
- Writing program to Unhide the Partition
- Comments on Program
- Writing program to delete Partition
- Comments on program
- Formatting "Track 0 Bad" floppy
- Writing the Disk Editing Tool