text:
Master boot record
From Wikipedia, the free encyclopedia
Jump to: navigation, search
This article is about a PC-specific type of boot sector on partitioned media. For the first sector on non-partitioned media, see volume boot record.
A master boot record (MBR) is a special type of boot sector at the very beginning of partitioned computer mass storage devices like fixed disks or removable drives intended for use with IBM PC-compatible systems and beyond. The concept of MBRs was publicly introduced in 1983 with PC DOS 2.0.
The MBR holds the information on how the logical partitions, containing file systems, are organized on that medium. The MBR also contains executable code to function as a loader for the installed operating system—usually by passing control over to the loader's second stage, or in conjunction with each partition's volume boot record (VBR). This MBR code is usually referred to as a boot loader.[1]
The organization of the partition table in the MBR limits the maximum addressable storage space of a disk to 2 TiB (232 × 512 bytes).[2] Approaches to slightly raise this limit assuming 33-bit arithmetics or 4096-byte sectors are not officially supported as they fatally break compatibility with existing boot loaders and most MBR-compliant operating systems and system tools, and can cause serious data corruption when used outside of narrowly controlled system environments. Therefore, the MBR-based partitioning scheme is in the process of being superseded by the GUID Partition Table (GPT) scheme in new computers. A GPT can coexist with an MBR in order to provide some limited form of backward compatibility for older systems.
MBRs are not present on non-partitioned media such as floppies, superfloppies or other storage devices configured to behave as such.
Contents
[hide]
1 Overview
2 Disk partitioning
2.1 Sector layout
2.2 Partition table entries
3 System bootstrapping
4 Disk identity
5 Programming considerations
5.1 BIOS to MBR interface
5.2 MBR to VBR interface
6 Editing and replacing contents
7 See also
8 Notes
9 References
10 Further reading
11 External links
Overview[edit]
Support for partitioned media, and thereby the master boot record (MBR), was introduced with IBM PC DOS 2.0 in March 1983 in order to support the 10 MB hard disk of the then-new IBM Personal Computer XT, still using the FAT12 file system. The original version of the MBR was written by David Litton of IBM in June 1982. The partition table supported up to four primary partitions, of which DOS could only use one. This did not change when FAT16 was introduced as a new file system with DOS 3.0. Support for an extended partition, a special primary partition type used as a container to hold other partitions, was added with DOS 3.2, and nested logical drives inside an extended partition came with DOS 3.30. Since MS-DOS, PC DOS, OS/2 and Windows were never enabled to boot off them, the MBR format and boot code remained almost unchanged in functionality, except for in some third-party implementations, throughout the eras of DOS and OS/2 up to 1996.
In 1996, support for logical block addressing (LBA) was introduced in Windows 95B and DOS 7.10 in order to support disks larger than 8 GB. Disk timestamps were also introduced.[3] This also reflected the idea that the MBR is meant to be operating system and file system independent. However, this design rule was partially compromised in more recent Microsoft implementations of the MBR, which enforce CHS access for FAT16B and FAT32 partition types 06hex/0Bhex, whereas LBA is used for 0Ehex/0Chex.
Despite sometimes poor documentation of certain intrinsic details of the MBR format (which occasionally caused compatibility problems), it has been widely adopted as a de facto industry standard, due to the broad popularity of PC-compatible computers and its semi-static nature over decades. This was even to the extent of being supported by computer operating systems for other platforms. Sometimes this was in addition to other pre-existing or cross-platform standards for bootstrapping and partitioning.[4]
MBR partition entries and the MBR boot code used in commercial operating systems, however, are limited to 32 bits.[2] Therefore, the maximum disk size supported on disks using 512-byte sectors (whether real or emulated) by the MBR partitioning scheme (without using non-standard methods) is limited to 2 TiB.[2] Consequently, a different partitioning scheme must be used for larger disks, as they have become widely available since 2010. The MBR partitioning scheme is therefore in the process of being superseded by the GUID Partition Table (GPT). The official approach does little more than ensuring data integrity by employing a protective MBR. Specifically, it does not provide backward compatibility with operating systems that do not support the GPT scheme as well. In the meanwhile, multiple forms of hybrid MBRs have been designed and implemented by third parties in order to maintain partitions located in the first physical 2 TiB of a disk in both partitioning schemes "in parallel" and/or to allow older operating systems to boot off GPT partitions as well. The present non-standard nature of these solutions causes various compatibility problems in certain scenarios.
The MBR consists of 512 or more bytes located in the first sector of the drive.
It may contain one or more of:
A partition table describing the partitions of a storage device. In this context the boot sector may also be called a partition sector.
Bootstrap code: Instructions to identify the configured bootable partition, then load and execute its volume boot record (VBR) as a chain loader.
Optional 32-bit disk timestamp.[3]
Optional 32-bit disk signature.[5][6][7][8]
Disk partitioning[edit]
IBM PC DOS 2.0 introduced the FDISK utility to set up and maintain MBR partitions. When a storage device has been partitioned according to this scheme, its MBR contains a partition table describing the locations, sizes, and other attributes of linear regions referred to as partitions.
The partitions themselves may also contain data to describe more complex partitioning schemes, such as extended boot records (EBRs), BSD disklabels, or Logical Disk Manager metadata partitions.[9]
The MBR is not located in a partition; it is located at a first sector of the device (physical offset 0), preceding the first partition. (The boot sector present on a non-partitioned device or within an individual partition is called a volume boot record instead.) In cases where the computer is running a DDO BIOS overlay or boot manager, the partition table may be moved to some other physical location on the device; e.g., Ontrack Disk Manager often placed a copy of the original MBR contents in the second sector, then hid itself from any subsequently booted OS or application, so the MBR copy was treated as if it were still residing in the first sector.
Sector layout[edit]
By convention, there are exactly four primary partition table entries in the MBR partition table scheme, although some operating systems and system tools extended this to five (Advanced Active Partitions (AAP) with PTS-DOS 6.60[10] and DR-DOS 7.07), eight (AST and NEC MS-DOS 3.x[11][12] as well as Storage Dimensions SpeedStor), or even sixteen entries (with Ontrack Disk Manager).
Structure of a classical generic MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 Bootstrap code area 446
+1BEhex +446 Partition entry №1 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №2 16
+1DEhex +478 Partition entry №3 16
+1EEhex +494 Partition entry №4 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 446 + 4×16 + 2
512
Structure of a modern standard MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 Bootstrap code area (part 1) 218
+0DAhex +218 0000hex Disk timestamp[3][b] (optional, MS-DOS 7.1–8.0 and Windows 95B/98/98SE/ME. Alternatively, can serve as OEM loader signature with NEWLDR) 2
+0DChex +220 Original physical drive (80hex–FFhex) 1
+0DDhex +221 Seconds (0–59) 1
+0DEhex +222 Minutes (0–59) 1
+0DFhex +223 Hours (0–23) 1
+0E0hex +224 Bootstrap code area (part 2, code entry at +000hex) 216
(or 222)
+1B8hex +440 32-bit disk signature Disk signature (optional, UEFI, Windows NT/2000/Vista/7 and other OSes) 4
+1BChex +444 0000hex
(5A5Ahex if copy-protected) 2
+1BEhex +446 Partition entry №1 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №2 16
+1DEhex +478 Partition entry №3 16
+1EEhex +494 Partition entry №4 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 218 + 6 + 216 + 6 + 4×16 + 2
512
Structure of AAP MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 Bootstrap code area 428
+1AChex +428 78hex AAP signature (optional) 2
+1ADhex +429 56hex
+1AEhex +430 AAP physical drive (80hex-FEhex; 00hex: not used; 01hex-7Fhex, FFhex: reserved) AAP record (optional) (AAP partition entry #0 with special semantics) 1
+1AFhex +431 CHS (start) address of AAP partition/image file or VBR/EBR 3
+1B2hex +434 Reserved for AAP partition type (00hex if not used) (optional) 1
+1B3hex +435 Reserved for CHS end address in AAP (optional; byte at offset +1B5hex is also used for MBR checksum (PTS DE, BootWizard); 000000hex if not used) 3
+1B6hex +438 Start LBA of AAP image file or VBR/EBR or relative sectors of AAP partition (copied to offset +01Chex in the loaded sector over the "hidden sectors" entry of a DOS 3.31 BPB (or emulation thereof) to also support EBR booting) 4
+1BAhex +442 Reserved for sectors in AAP (optional; 00000000hex if not used) 4
+1BEhex +446 Partition entry №1 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №2 16
+1DEhex +478 Partition entry №3 16
+1EEhex +494 Partition entry №4 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 428 + 2 + 16 + 4×16 + 2
512
Structure of NEWLDR MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 JMPS (EBhex) / NEWLDR record size (often 0Ahex/16hex/1Chex for code start at +00Chex/+018hex/+01Ehex) NEWLDR record (optional) 2
+002hex +2 "NEWLDR" signature 6
+008hex +8 LOADER physical drive and boot flag (80hex-FEhex, 00hex-7Ehex, FFhex, 7Fhex) (if not used, this and following 3 bytes must be all 0) 1
+009hex +9 CHS address of LOADER boot sector or image file (f.e. IBMBIO.LDR) (000000hex if not used) 3
+00Chex +12 Allowed DL minimum, else take from partition table (80hex: default; 00hex: always use DL; FFhex: always use table entry) 1
+00Dhex +13 Reserved (default: 000000hex) 3
+010hex +16 LBA of LOADER boot sector or image file (optional, 00000000hex if not used) 4
+014hex +20 Patch offset of VBR boot unit (default 0000hex if not used, else 0024hex or 01FDhex) 2
+016hex +22 Checksum (0000hex if not used) 2
+018hex +24 OEM loader signature ("MSWIN4" for REAL/32, see also offset +0DAhex, corresponds with OEM label at offset +003hex in VBRs (optional) 6
Varies Varies Bootstrap code area (code entry at +000hex) Varies
+1AChex +428 78hex AAP signature (optional) 2
+1ADhex +429 56hex
+1AEhex +430 AAP partition entry №0 with special semantics AAP record (optional) 16
+1BEhex +446 Partition entry №1 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №2 16
+01DEhex +478 Partition entry №3 16
+1EEhex +494 Partition entry №4 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 30 + 398 + 2 + 16 + 4×16 + 2
512
Structure of AST/NEC MS-DOS and SpeedStor MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 Bootstrap code area 380
+17Chex +380 5Ahex AST/NEC signature (optional, not for SpeedStor) 2
+17Dhex +381 A5hex
+17Ehex +382 Partition entry №8 AST/NEC expanded partition table
(optional, also for SpeedStor) 16
+18Ehex +398 Partition entry №7 16
+19Ehex +414 Partition entry №6 16
+1AEhex +430 Partition entry №5 16
+1BEhex +446 Partition entry №4 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №3 16
+1DEhex +478 Partition entry №2 16
+1EEhex +494 Partition entry №1 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 380 + 2 + 4×16 + 4×16 + 2
512
Structure of Disk Manager MBR
Address
Description
Size
(bytes)
Hex
Dec
+000hex +0 Bootstrap code area 252
+0FChex +252 AAhex DM signature (optional) 2
+0FDhex +253 55hex
+0FEhex +254 Partition entry DM expanded partition table
(optional) 16
+10Ehex +270 Partition entry 16
+11Ehex +286 Partition entry 16
+12Ehex +302 Partition entry 16
+13Ehex +318 Partition entry 16
+14Ehex +334 Partition entry 16
+15Ehex +350 Partition entry 16
+16Ehex +366 Partition entry 16
+17Ehex +382 Partition entry 16
+18Ehex +398 Partition entry 16
+19Ehex +414 Partition entry 16
+1AEhex +430 Partition entry 16
+1BEhex +446 Partition entry №1 Partition table
(for primary partitions) 16
+1CEhex +462 Partition entry №2 16
+1DEhex +478 Partition entry №3 16
+1EEhex +494 Partition entry №4 16
+1FEhex +510 55hex Boot signature[a] 2
+1FFhex +511 AAhex
Total size: 252 + 2 + 12×16 + 4×16 + 2
512
Partition table entries[edit]
Layout of one 16-byte partition entry[13] (all multi-byte fields are little-endian)
Offset
(bytes)
Field
length
Description
+0hex 1 byte Status or physical drive (bit 7 set is for active or bootable, old MBRs only accept 80hex, 00hex means inactive, and 01hex–7Fhex stand for invalid)[c]
+1hex 3 bytes CHS address of first absolute sector in partition.[d] The format is described by three bytes, see the next three rows.
+1hex 1 byte
h7–0 head[e]
x x x x x x x x
+2hex 1 byte
c9–8 s5–0 sector in bits 5–0; bits 7–6 are high bits of cylinder[e]
x x x x x x x x
+3hex 1 byte
c7–0 bits 7–0 of cylinder[e]
x x x x x x x x
+4hex 1 byte Partition type[15]
+5hex 3 bytes CHS address of last absolute sector in partition.[d] The format is described by 3 bytes, see the next 3 rows.
+5hex 1 byte
h7–0 head[e]
x x x x x x x x
+6hex 1 byte
c9–8 s5–0 sector in bits 5–0; bits 7–6 are high bits of cylinder[e]
x x x x x x x x
+7hex 1 byte
c7–0 bits 7–0 of cylinder
x x x x x x x x
+8hex 4 bytes LBA of first absolute sector in the partition[f]
+Chex 4 bytes Number of sectors in partition[f]
An artifact of hard disk technology from the era of the PC XT, the partition table subdivides a storage medium using units of cylinders, heads, and sectors (CHS addressing). These values no longer correspond to their namesakes in modern disk drives, as well as being irrelevant in other devices such as solid-state drives which do not physically have cylinders or heads.
In the CHS scheme, sector indices have (almost) always begun with sector 1 rather than sector 0 by convention, and due to an error in all versions of MS-DOS/PC DOS up to including 7.10, the number of heads is generally limited to 255[g][citation needed] instead of 256. When a CHS address is too large to fit into these fields, the tuple (1023, 254, 63) is typically used today, although on older systems, and with older disk tools, the cylinder value often wrapped around modulo the CHS barrier near 8 GB, causing ambiguity and risks of data corruption. (If the situation involves a "protective" MBR on a disk with a GPT, Intel's Extensible Firmware Interface specification requires that the tuple (1023, 255, 63) be used.) The 10-bit cylinder value is recorded within two bytes in order to facilitate making calls to the original/legacy INT 13h BIOS disk access routines, where 16 bits were divided into sector and cylinder parts, and not on byte boundaries.[14]
Due to the limits of CHS addressing,[17][18] a transition was made to using LBA or logical block addressing. Both the partition length and partition start address are sector values stored in the partition table entries as 32-bit quantities. The sector size used to be considered fixed at 512 (29) bytes, and a broad range of important components including chipsets, boot sectors, operating systems, database engines, partitioning tools, backup and file system utilities and other software had this value hard-coded. Since the end of 2009, disk drives employing 4,096-byte sectors (4Kn or Advanced Format) have been available, although the size of the sector for some of these drives was still reported as 512 bytes to the host system through conversion in the hard drive firmware and referred to as 512 emulation drives (512e).
Since block addresses and sizes are stored in the partition table of an MBR using 32 bits, the maximum size as well as the highest start address of a partition using drives that have 512-byte sectors (actual or emulated) cannot exceed 2 TiB−512 bytes (2,199,023,255,040 bytes or 4,294,967,295 (232−1) sectors × 512 (29) bytes per sector).[2] Alleviating this capacity limitation was one of the prime motivations for the development of the GPT.
Since partitioning information is stored in the MBR partition table using a beginning block address and a length, it may in theory be possible to define partitions in such a way that the allocated space for a disk with 512-byte sectors gives a total size approaching 4 TiB, if all but one partition are located below the 2 TiB limit and the last one is assigned as starting at or close to block 232−1 and specify the size as up to 232−1, thereby defining a partition which requires 33 rather than 32 bits for the sector address to be accessed. However, in practice, only certain LBA-48 enabled operating systems, including GNU/Linux, FreeBSD and Windows 7[19] that use 64-bit sector addresses internally actually support this. Due to code space constraints and the nature of the MBR partition table to only support 32 bits, boot sectors, even if enabled to support LBA-48 rather than LBA-28, often use 32-bit calculations, unless they are specifically designed to support the full address range of LBA-48 or are intended to run on 64-bit platforms only. Any boot code or operating system using 32-bit sector addresses internally would cause addresses to wrap around accessing this partition and thereby result in serious data corruption over all partitions.
For disks that present a sector size other than 512 bytes, such as USB external drives, there are limitations as well. A sector size of 4,096 results in an eight-fold increase in the size of a partition that can be defined using MBR, allowing partitions up to 16 TiB (232 × 4096 bytes) in size.[20] Versions of Windows more recent than Windows XP support the larger sector sizes as well as Mac OS X, and Linux has supported larger sector sizes since 2.6.31[21] or 2.6.32,[22] but issues with boot loaders, partitioning tools and computer BIOS implementations present certain limitations,[23] since they are often hard-wired to reserve only 512 bytes for sector buffers, causing memory to become overwritten for larger sector sizes. This may cause unpredictable behaviour as well, and therefore should be avoided when compatibility and standard conformity is an issue.
Where a data storage device has been partitioned with the GPT scheme, the master boot record will still contain a partition table, but its only purpose is to indicate the existence of the GPT and to prevent utility programs which understand only the MBR partition table scheme from creating any partitions in what they would otherwise see as free space on the disk, thereby accidentally erasing the GPT.
System bootstrapping[edit]
On IBM PC-compatible computers, the bootstrapping firmware (contained within the ROM BIOS) loads and executes the master boot record.[24] The PC/XT (type 5160) used an Intel 8088 microprocessor. In order to remain compatible, all x86 architecture systems start with the microprocessor in an operating mode referred to as real mode. The BIOS reads the MBR from the storage device into physical memory, and then it directs the microprocessor to the start of the boot code. Since the BIOS runs in real mode, the processor is in real mode when the MBR program begins to execute, and so the beginning of the MBR is expected to contain real mode machine language instructions.[24]
Due to the restricted size of the MBR's code section, it typically contains only a small program that copies additional code (such as a boot loader) from the storage device into memory. Control is then passed to this code, which is responsible for loading the actual operating system. This process is known as chain loading.
Popular MBR code programs were created for booting PC DOS and MS-DOS, and similar boot code remains in wide use. These boot sectors expect the fdisk partition table scheme to be in use, and scans the list of partitions in the MBR's embedded partition table to find the only one that is marked with the active flag.[25] It then loads and runs the volume boot record (VBR) of the active partition.
There are alternative boot code implementations, some of which are installed by boot managers, which operate in a variety of ways. Some MBR code loads additional code for a boot manager from the first track of the disk, which it assumes to be "free" space that is not allocated to any disk partition, and executes it. A MBR program may interact with the user to determine which partition on which drive should boot, and may transfer control to the MBR of a different drive. Other MBR code contains a list of disk locations (often corresponding to the contents of files in a filesystem) of the remainder of the boot manager code to load and to execute. (The first relies on behavior that is not universal across all disk partitioning utilities, most notably those which read and write GPTs. The last requires that the embedded list of disk locations be updated when changes are made that would relocate the remainder of the code.)
On machines that do not use x86 processors, or on x86 machines with non-BIOS firmware such as Open Firmware or Extensible Firmware Interface (EFI) firmware, this design is unsuitable, and the MBR is not used as part of the system bootstrap.[26] EFI firmware is instead capable of directly understanding the GPT partitioning scheme and the FAT filesystem format, and loads and runs programs held as files in the EFI System partition.[27] The MBR will be involved only insofar as it might contain a partition table for compatibility purposes if the GPT partition table scheme has been used.
There is some MBR replacement code that emulates EFI firmware's bootstrap, which makes non-EFI machines capable of booting from disks using the GPT partitioning scheme. It detects a GPT, places the processor in the correct operating mode, and loads the EFI compatible code from disk to complete this task.
Disk identity[edit]
Information contained in the Partition Table of an external hard drive as it appears in the utility program QtParted, running under GNU/Linux
In addition to the bootstrap code and a partition table, master boot records may contain a disk signature. This is a 32-bit value that is intended to identify uniquely the disk medium (as opposed to the disk unit—the two not necessarily being the same for removable hard disks).
The disk signature was introduced by Windows NT version 3.5, but it is now used by several operating systems, including the Linux kernel version 2.6 and later. GNU/Linux tools can use the NT disk signature to determine which disk the machine booted from.[28]
Windows NT (and later Microsoft operating systems) uses the disk signature as an index to all the partitions on any disk ever connected to the computer under that OS; these signatures are kept in Windows Registry keys, primarily for storing the persistent mappings between disk partitions and drive letters. It may also be used in Windows NT BOOT.INI files (though most do not), to describe the location of bootable Windows NT (or later) partitions.[29] One key (among many) where NT disk signatures appear in a Windows 2000/XP registry is:
HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices\

If a disk's signature stored in the MBR was A8 E1 B9 D2hex (in that order) and its first partition corresponded with logical drive C: under Windows, then the REG_BINARY data under the key value \DosDevices\C: would be:
A8 E1 B9 D2 00 7E 00 00 00 00 00 00hex

The first four bytes are said disk signature. (Note: In other keys, these bytes may appear in reverse order from that found in the MBR sector.) These are followed by eight more bytes, forming a 64-bit integer, in little endian notation, which are used to locate the byte offset of this partition. In this case, 00hex 7Ehex corresponds to the hexadecimal value 7E00hex (32,256). If we assume the drive in question reports a sector size of 512 bytes, then dividing this byte offset by 512 results in 63, which is the physical sector number (or LBA) containing the first sector of the partition (unlike the sector count used in the sectors value of CHS tuples, which counts from one, the absolute or LBA sector value starts counting from zero).
If this disk had another partition with the values 00 F8 93 71 02hex following the disk signature (under, e.g., the key value \DosDevices\D:), it would begin at byte offset 00027193F800hex (10,495,457,280), which is also the first byte of physical sector 20,498,940.
Starting with Windows Vista, the disk signature is also stored in the Boot Configuration Data (BCD) store and the boot process depends on it.[30] If the disk signature changes, cannot be found or has a conflict, Windows is unable to boot.[31] Unless Windows is forced to use the overlapping part of the LBA address of the Advanced Active Partition entry as pseudo-disk signature, Windows' usage is conflictive with the Advanced Active Partition feature of PTS-DOS 7 and DR-DOS 7.07, in particular if their boot code is located outside the first 8 GB of the disk, so that LBA addressing must be used.
Programming considerations[edit]
The MBR originated in the PC XT.[32] IBM PC-compatible computers are little-endian, which means the processor stores numeric values spanning two or more bytes in memory least significant byte first. The format of the MBR on media reflects this convention. Thus, the MBR signature will appear in a disk editor as the sequence 55hex AAhex.[a]
The bootstrap sequence in the BIOS will load the first valid MBR that it finds into the computer's physical memory at address 0000hex:7C00hex.[32] The last instruction executed in the BIOS code will be a "jump" to that address, to direct execution to the beginning of the MBR copy. The primary validation for most BIOSes is the signature at offset +1FEhex, although a BIOS implementer may choose to include other checks, such as verifying that the MBR contains a valid partition table without entries referring to sectors beyond the reported capacity of the disk.
While the MBR boot sector code expects to be loaded at physical address 0000hex:7C00hex,[h] all the memory from physical address 0000hex:0501hex (address 0000hex:0500hex is the last one used by a Phoenix BIOS)[14] to 0000hex:7FFFhex,[32] later relaxed to 0000hex:FFFFhex[33] (and sometimes[i] up to 9000hex:FFFFhex)—the end of the first 640 KB—is available in real mode.[j] The INT 12h BIOS interrupt call may help in determining how much memory can be allocated safely (by default, it simply reads the base memory size in KB from segment:offset location 0040hex:0013hex, but it may be hooked by other resident pre-boot software like BIOS overlays, RPL code or viruses to reduce the reported amount of available memory in order to keep other boot stage software like boot sectors from overwriting them).
The last 66 bytes of the 512-byte MBR are reserved for the partition table and other information, so the MBR boot sector program must be small enough to fit within 446 bytes of memory or less. The MBR code may communicate with the user, examine the partition table. Eventually, the MBR will need to perform its main task, and load the program that will perform the next stage of the boot process, usually by making use of INT 13h BIOS calls. While it may be convenient to think of the MBR and the program that it loads as separate and discrete, a clear distinction between the MBR and the loaded OS is not technically required—the MBR, or parts of it,[k] could stay resident in RAM and be used as part of the loaded program, after the MBR transfers control to that program. The same is true of a volume boot record, whether that volume is a floppy disk or a fixed disk partition. However, in practice, it is typical for the program loaded by a boot record program to discard and overwrite the RAM image of the latter, so that its only function is as the first link of the boot loader chain.
From a technical standpoint, it is important to note that the distinction between an MBR and a volume boot record exists only at the user software level, above the BIOS firmware. (Here, the term "user software" refers to both operating system software and application software.) To the BIOS, removable (e.g. floppy) and fixed disks are essentially the same. For either, the BIOS reads the first physical sector of the media into RAM at absolute address 7C00hex, checks the signature in the last two bytes of the loaded sector, and then, if the correct signature is found, transfers control to the first byte of the sector with a jump (JMP) instruction. The only real distinction that the BIOS makes is that (by default, or if the boot order is not configurable) it attempts to boot from the first removable disk before trying to boot from the first fixed disk. From the perspective of the BIOS, the action of the MBR loading a volume boot record into RAM is exactly the same as the action of a floppy disk volume boot record loading the object code of an operating system loader into RAM. In either case, the program that BIOS loaded is going about the work of chain loading an operating system. The distinction between an MBR and a volume boot record is an OS software-level abstraction, designed to help people to understand the operational organization and structure of the system. That distinction doesn't exist for the BIOS. Whatever the BIOS directly loads, be it an MBR or a volume boot record, is given total control of the system, and the BIOS from that point is solely at the service of that program. The loaded program owns the machine (until the next reboot, at least). With its total control, this program is not required to ever call the BIOS again and may even shut BIOS down completely, by removing the BIOS ISR vectors from the processor interrupt vector table, and then overwrite the BIOS data area. This is mentioned to emphasize that the boot program that the BIOS loads and runs from the first sector of a disk can truly do anything, so long as the program does not call for BIOS services or allow BIOS ISRs to be invoked after it has disrupted the BIOS state necessary for those services and ISRs to function properly.
As stated above, the conventional MBR bootstrap code loads and runs (boot loader- or operating system-dependent) volume boot record code that is located at the beginning of the "active" partition. A conventional volume boot record will fit within a 512-byte sector, but it is safe for MBR code to load additional sectors to accommodate boot loaders longer than one sector, provided they do not make any assumptions on what the sector size is. In fact, at least 1 KB of RAM is available at address 7C00hex in every IBM XT- and AT-class machine, so a 1 KB sector could be used with no problem. Like the MBR, a volume boot record normally expects to be loaded at address 0000hex:7C00hex. This derives from the fact that the volume boot record design originated on unpartitioned media, where a volume boot record would be directly loaded by the BIOS boot procedure; as mentioned above, the BIOS treats MBRs and volume boot records (VBRs)[l] exactly alike. Since this is the same location where the MBR is loaded, one of the first tasks of an MBR is to relocate itself somewhere else in memory. The relocation address is determined by the MBR, but it is most often 0000hex:0600hex (for MS-DOS/PC DOS, OS/2 and Windows MBR code) or 0060hex:0000hex (most DR-DOS MBRs). (Even though both of these segmented addresses resolve to the same physical memory address in real mode, for Apple Darwin to boot, the MBR must be relocated to 0000hex:0600hex instead of 0060hex:0000hex, since the code depends on the DS:SI pointer to the partition entry provided by the MBR, but it erroneously refers to it via 0000hex:SI only.[34]) While the MBR code relocates itself it is still important not to relocate to other addresses in memory because many VBRs will assume a certain standard memory layout when loading their boot file.
The Status field in a partition table record is used to indicate an active partition. Standard-conformant MBRs will allow only one partition marked active and use this as part of a sanity-check to determine the existence of a valid partition table. They will display an error message, if more than one partition has been marked active. Some non-standard MBRs will not treat this as an error condition and just use the first marked partition in the row.
Traditionally, values other than 00hex (not active) and 80hex (active) were invalid and the bootstrap program would display an error message upon encountering them. However, the Plug and Play BIOS Specification and BIOS Boot Specification (BBS) allowed other devices to become bootable as well since 1994.[33][35] Consequently, with the introduction of MS-DOS 7.10 (Windows 95B) and higher, the MBR started to treat a set bit 7 as active flag and showed an error message for values 01hex..7Fhex only. It continued to treat the entry as physical drive unit to be used when loading the corresponding partition's VBR later on, thereby now also accepting other boot drives than 80hex as valid, however, MS-DOS did not make use of this extension by itself. Storing the actual physical drive number in the partition table does not normally cause backward compatibility problems, since the value will differ from 80hex only on drives other than the first one (which have not been bootable before, anyway). However, even with systems enabled to boot off other drives, the extension may still not work universally, for example, after the BIOS assignment of physical drives has changed, for example when drives are removed, added or swapped. Therefore, per the BIOS Boot Specification (BBS),[33] it is best practice for a modern MBR accepting bit 7 as active flag to pass on the DL value originally provided by the BIOS instead of using the entry in the partition table.
BIOS to MBR interface[edit]
The MBR is loaded at memory location 0000hex:7C00hex and with the following CPU registers set up when the prior bootstrap loader (normally the IPL in the BIOS) passes execution to it by jumping to 0000hex:7C00hex in the CPU's real mode.
CS:IP = 0000hex:7C00hex (fixed)
Some Compaq BIOSes erroneously use 07C0hex:0000hex instead. While this resolves to the same location in real mode memory, it is non-standard and should be avoided, since MBR code assuming certain register values or not written to be relocatable may not work otherwise.
DL = boot drive unit (fixed disks / removable drives: 80hex = first, 81hex = second, ..., FEhex; floppies / superfloppies: 00hex = first, 01hex = second, ..., 7Ehex; values 7Fhex and FFhex are reserved for ROM / remote drives and must not be used on disk).
DL is supported by IBM BIOSes as well as most other BIOSes. The Toshiba T1000 BIOS is known to not support this properly, and some old Wyse 286 BIOSes use DL values greater or equal to 2 for fixed disks (thereby reflecting the logical drive numbers under DOS rather than the physical drive numbers of the BIOS). USB sticks configured as removable drives typically get an assignment of DL = 80hex, 81hex, etc. However, some rare BIOSes erroneously presented them under DL = 01hex, just as if they were configured as superfloppies.
A standard conformant BIOS assigns numbers greater or equal to 80hex exclusively to fixed disk / removable drives, and traditionally only values 80hex and 00hex were passed on as physical drive units during boot. By convention, only fixed disks / removable drives are partitioned, therefore, the only DL value a MBR could see traditionally was 80hex. Many MBRs were coded to ignore the DL value and work with a hard-wired value (normally 80hex), anyway.
The Plug and Play BIOS Specification and BIOS Boot Specification (BBS) allow other devices to become bootable as well since 1994.[33][35] The later recommends that MBR and VBR code should use DL rather than internally hardwired defaults.[33] This will also ensure compatibility with various non-standard assignments (see examples above), as far as the MBR code is concerned.
Bootable CD-ROMs following the El Torito specification may contain disk images mounted by the BIOS to occur as floppy or superfloppies on this interface. DL values of 00hex and 01hex may also be used by Protected Area Run Time Interface Extension Services (PARTIES) and Trusted Computing Group (TCG) BIOS extensions in Trusted mode to access otherwise invisible PARTIES partitions, disk image files located via the Boot Engineering Extension Record (BEER) in the last physical sector of a hard disk's Host Protected Area (HPA). While designed to emulate floppies or superfloppies, MBR code accepting these non-standard DL values allows to use images of partitioned media at least in the boot stage of operating systems.
DH bit 5 = 0: device supported through INT 13h; else: don't care (should be zero). DH is supported by some IBM BIOSes.
Some of the other registers may typically also hold certain register values (DS, ES, SS = 0000hex; SP = 0400hex) with original IBM ROM BIOSes, but this is nothing to rely on, as other BIOSes may use other values. For this reason, MBR code by IBM, Microsoft, Digital Research, etc. never did take any advantage of it. Relying on these register values in boot sectors may also cause problems in chain-boot scenarios.
Systems with Plug-and-Play BIOS or BBS support will provide a pointer to PnP data in addition to DL:[33][35]
DL = boot drive unit (see above)
ES:DI = points to "$PnP" installation check structure
This information allows the boot loader in the MBR (or VBR, if passed on) to actively interact with the BIOS or a resident PnP / BBS BIOS overlay in memory in order to configure the boot order, etc., however, this information is ignored by most standard MBRs and VBRs. Ideally, ES:DI is passed on to the VBR for later use by the loaded operating system, but PnP-enabled operating systems typically also have fallback methods to retrieve the PnP BIOS entry point later on so that most operating systems do not rely on this.
MBR to VBR interface[edit]
By convention, a standard conformant MBR passes execution to a successfully loaded VBR, loaded at memory location 0000hex:7C00hex, by jumping to 0000hex:7C00hex in the CPU's real mode with the following registers maintained or specifically set up:
CS:IP = 0000hex:7C00hex[m] (constant)
DL = boot drive unit (see above)
MS-DOS 2.0-7.0 / PC DOS 2.0-6.3 MBRs do not pass on the DL value received on entry, but they rather use the boot status entry in the partition table entry of the selected primary partition as physical boot drive unit. Since this is, by convention, 80hex in most MBR partition tables, it won't change things unless the BIOS attempted to boot off a physical device other than the first fixed disk / removable drive in the row. This is also the reason why these operating systems cannot boot off a second hard disk, etc. Some FDISK tools allow to mark partitions on secondary disks as "active" as well. In this situation, knowing that these operating systems cannot boot off other drives anyway, some of them continue to use the traditionally fixed value of 80hex as active marker, whereas others use values corresponding with the currently assigned physical drive unit (81hex, 82hex), thereby allowing to boot off other drives at least in theory. In fact, this will work with many MBR codes, which take a set bit 7 of the boot status entry as active flag rather than insisting on 80hex, however, MS-DOS/PC DOS MBRs are hard-wired to accept the fixed value of 80hex only. Storing the actual physical drive number in the partition table will also cause problems, when the BIOS assignment of physical drives changes, for example when drives are removed, added or swapped. Therefore, for a normal MBR accepting bit 7 as active flag and otherwise just using and passing on to the VBR the DL value originally provided by the BIOS allows for maximum flexibility. MS-DOS 7.1 - 8.0 MBRs have changed to treat bit 7 as active flag and any values 01hex..7Fhex as invalid, but they still take the physical drive unit from the partition table rather than using the DL value provided by the BIOS. DR-DOS 7.07 extended MBRs treat bit 7 as active flag and use and pass on the BIOS DL value by default (including non-standard values 00hex..01hex used by some BIOSes also for partitioned media), but they also provide a special NEWLDR configuration block in order to support alternative boot methods in conjunction with LOADER and REAL/32 as well as to change the detail behaviour of the MBR, so that it can also work with drive values retrieved from the partition table (important in conjunction with LOADER and AAPs, see NEWLDR offset +00Chex), translate Wyse non-standard drive units 02hex..7Fhex to 80hex..FDhex, and optionally fix up the drive value (stored at offset +19hex in the Extended BIOS Parameter Block (EBPB) or at sector offset +1FDhex ) in loaded VBRs before passing execution to them (see NEWLDR offset +014hex)—this also allows other boot loaders to use NEWLDR as a chain-loader, configure its in-memory image on the fly and "tunnel" the loading of VBRs, EBRs, or AAPs through NEWLDR.
The contents of DH and ES:DI should be preserved by the MBR for full Plug-and-Play support (see above), however, many MBRs, including those of MS-DOS 2.0 - 8.0 / PC DOS 2.0 - 6.3 and Windows NT/2000/XP, do not. (This is unsurprising, since those versions of DOS predate the Plug-and-Play BIOS standard, and previous standards and conventions indicated no requirements to preserve any register other than DL.) Some MBRs set DH to 0.
The MBR code passes additional information to the VBR in many implementations:
DS:SI = points to the 16-byte MBR partition table entry (in the relocated MBR) corresponding with the activated VBR. PC-MOS 5.1 depends on this to boot if no partition in the partition table is flagged as bootable. In conjunction with LOADER, Multiuser DOS and REAL/32 boot sectors use this to locate the boot sector of the active partition (or another bootstrap loader like IBMBIO.LDR at a fixed position on disk) if the boot file (LOADER.SYS) could not be found. PTS-DOS 6.6 and S/DOS 1.0 use this in conjunction with their Advanced Active Partition (AAP) feature. In addition to support for LOADER and AAPs, DR-DOS 7.07 can use this to determine the necessary INT 13h access method when using its dual CHS/LBA VBR code and it will update the boot drive / status flag field in the partition entry according to the effectively used DL value. Darwin bootloaders (Apple's boot1h, boot1u, and David Elliott's boot1fat32) depend on this pointer as well, but additionally they don't use DS, but assume it to be set to 0000hex instead.[34] This will cause problems if this assumption is incorrect. The MBR code of OS/2, MS-DOS 2.0 to 8.0, PC DOS 2.0 to 7.10 and Windows NT/2000/XP provides this same interface as well, although these systems do not use it. The Windows Vista/7 MBRs no longer provide this DS:SI pointer. While some extensions only depend on the 16-byte partition table entry itself, other extensions may require the whole 4 (or 5 entry) partition table to be present as well.
DS:BP = optionally points to the 16-byte MBR partition table entry (in the relocated MBR) corresponding with the activated VBR. This is identical to the pointer provided by DS:SI (see above) and is provided by MS-DOS 2.0-8.0, PC DOS 2.0-7.10, Windows NT/2000/XP/Vista/7 MBRs. It is, however, not supported by most third-party MBRs.
Under DR-DOS 7.07 an extended interface may be optionally provided by the extended MBR and in conjunction with LOADER:
AX = magic signature indicating the presence of this NEWLDR extension (0EDChex)
DL = boot drive unit (see above)
DS:SI = points to the 16-byte MBR partition table entry used (see above)
ES:BX = start of boot sector or NEWLDR sector image (typically 7C00hex)
CX = reserved
In conjunction with GPT, an Enhanced Disk Drive Specification (EDD) 4 Hybrid MBR proposal recommends another extension to the interface:[36]
EAX = 54504721hex ("!GPT")
DL = boot drive unit (see above)
DS:SI = points to a Hybrid MBR handover structure, consisting of a 16-byte dummy MBR partition table entry (with all bits set except for the boot flag at offset +0hex and the partition type at offset +4hex) followed by additional data. This is partially compatible with the older DS:SI extension discussed above, if only the 16-byte partition entry, not the whole partition table is required by these older extensions.
Since older operating systems (including their VBRs) do not support this extension nor are they able to address sectors beyond the 2 TiB barrier, a GPT-enabled hybrid boot loader should still emulate the 16-byte dummy MBR partition table entry if the boot partition is located within the first 2 TiB.[n]
ES:DI = points to "$PnP" installation check structure (see above)
Editing and replacing contents[edit]
Though it is possible to manipulate the bytes in the MBR sector directly using various disk editors, there are tools to write fixed sets of functioning code to the MBR. Since MS-DOS 5.0, the program FDISK has included the switch /MBR, which will rewrite the MBR code.[37] Under Windows 2000 and Windows XP, the Recovery Console can be used to write new MBR code to a storage device using its fixmbr command. Under Windows Vista and Windows 7, the Recovery Environment can be used to write new MBR code using the BOOTREC /FIXMBR command. Some third-party utilities may also be used for directly editing the contents of partition tables (without requiring any knowledge of hexadecimal or disk/sector editors), such as MBRWizard.[o]
dd is also a commonly used POSIX command to read or write to any location on a storage device, MBR included. In Linux, ms-sys may be used to install a Windows MBR. The GRUB and LILO projects have tools for writing code to the MBR sector, namely grub-install and lilo -mbr. The GRUB Legacy interactive console can write to the MBR, using the setup and embed commands, but GRUB2 currently requires grub-install to be run from within an operating system.
Various programs are able to create a "backup" of both the primary partition table and the logical partitions in the extended partition.
Linux sfdisk (on a SystemRescueCD) is able to save a backup of the primary and extended partition table. It creates a file that can be read in a text editor, or this file can be used by sfdisk to restore the primary/extended partition table. An example command to back up the partition table is sfdisk -d /dev/hda > hda.out and to restore is sfdisk /dev/hda < hda.out. It is possible to copy the partition table from one disk to another this way, useful for setting up mirroring, but it should be noted that sfdisk executes the command without prompting/warnings using sfdisk -d /dev/sda | sfdisk /dev/sdb.[38]
See also[edit]
Extended boot record (EBR)
Volume boot record (VBR)
GUID Partition Table (GPT)
BIOS Boot partition
EFI System partition
Boot engineering extension record (BEER)
Host protected area (HPA)
Device configuration overlay (DCO)
Apple partition map (APM)
Amiga rigid disk block (RDB)
Volume Table of Contents (VTOC)
BSD disklabel
Boot loader
Disk cloning
Recovery disc
GNU Parted
Partition alignment
Notes[edit]
^ Jump up to: a b c d e f g The signature at offset +1FEhex in boot sectors is 55hex AAhex, that is 55hex at offset +1FEhex and AAhex at offset +1FFhex. Since little-endian representation must be assumed in the context of IBM PC compatible machines, this can be written as 16-bit word AA55hex in programs for x86 processors (note the swapped order), whereas it would have to be written as 55AAhex in programs for other CPU architectures using a big-endian representation. Since this has been mixed up numerous times in books and even in original Microsoft reference documents, this article uses the offset-based byte-wise on-disk representation to avoid any possible misinterpretation.
Jump up ^ In order to ensure the integrity of the MBR boot loader code, it is important that the bytes at +0DAhex to +0DFhex are never changed, unless either all six bytes represent a value of 0 or the whole MBR bootstrap loader code (except for the (extended) partition table) is replaced at the same time as well. This includes resetting these values to 00 00 00 00 00 00hex unless the code stored in the MBR is known. Windows adheres to this rule.
Jump up ^ Originally, status values other than 00hex and 80hex were invalid, but modern MBRs treat the bit 7 as active flag and use this entry to store the physical boot unit.
^ Jump up to: a b The starting sector fields are limited to 1023+1 cylinders, 255+1 heads, and 63 sectors; ending sector fields have the same limitations.
^ Jump up to: a b c d e The range for sector is 1 through 63; the range for cylinder is 0 through 1023; the range for head is 0 through 255 inclusive.[14]
^ Jump up to: a b The number of sectors is an index field; thus, the zero value is invalid, reserved and must not be used in normal partition entries. The entry is used by operating systems in certain circumstances; in such cases the CHS addresses are ignored.[16]
Jump up ^ "Quote: [Most] versions of MS-DOS (including MS-DOS 7 [Windows 95]) have a bug which prevents booting on hard disks with 256 heads (FFh), so many modern BIOSes provide mappings with at most 255 (FEh) heads." RBIL[39][40]
Jump up ^ The address 0000hex:7C00hex is the first byte of the 32nd KB of RAM. As a historical note, the loading of the boot program at this address was the obvious reason why, while the minimum RAM size of an original IBM PC (type 5150) was 16 KB, 32 KB were required for the disk option in the IBM XT.
Jump up ^ If there is an EBDA, the available memory ends below it.
Jump up ^ Very old machines may have less than 640 KB (A0000hex or 655,360 bytes) of memory. In theory, only 32 KB (up to 0000hex:7FFFhex) or 64 KB (up to 0000hex:FFFFhex) are guaranteed to exist; this would be the case on an IBM XT-class machine equipped with only the required minimum amount of memory for a disk system.
Jump up ^ such as a routine to do a primitive block move, user I/O, or parse a file system directory
Jump up ^ This applies when BIOS handles a VBR, which is when it is in the first physical sector of unpartitioned media. Otherwise, BIOS has nothing to do with the VBR. The design of VBRs is such as it is because VBRs originated solely on unpartitioned floppy disk media—the type 5150 IBM PC originally had no hard disk option—and the partitioning system using an MBR was later developed as an adaptation to put more than one volume, each beginning with its own VBR as-already-defined, onto a single fixed disk. By this design, essentially the MBR emulates the BIOS boot routine, doing the same things the BIOS would do to process that VBR and set up the initial operating environment for it if the BIOS found that VBR on an unpartitioned medium.
Jump up ^ IP is set as a result of the jump. CS may be set to 0 either by making a far jump or by loading it explicitly before making a near jump. (It is impossible for jumped-to x86 code to detect whether a near or far jump was used to reach it [unless the code that made the jump separately passes this information in some way].)
Jump up ^ This is not part of the above mentioned proposal, but a natural consequence of pre-existing conditions.
Jump up ^ For example, PowerQuest's Partition Table Editor (PTEDIT32.EXE), which runs under Windows operating systems, is still available here: Symantec's FTP site.
References[edit]
Jump up ^ Howe, Denis (2009-05-19) [1985]. "master boot record". FOLDOC. Archived from the original on 2017-08-24. Retrieved 2015-05-02.
^ Jump up to: a b c d "Windows support for hard disks that are larger than 2 TB". 1. Microsoft. 2013-06-26. 2581408. Archived from the original on 2017-04-27. Retrieved 2013-08-28.
^ Jump up to: a b c Sedory, Daniel B. (2004). "The Mystery Bytes (or the Drive/Timestamp Bytes) of the MS-Windows 95B, 98, 98SE and Me Master Boot Record (MBR)". Master Boot Records. thestarman.pcministry.com. Archived from the original on 2017-08-24. Retrieved 2012-08-25.
Jump up ^ Lucas, Michael (2003). Absolute OpenBSD: Unix for the practical paranoid. p. 73. ISBN 9781886411999. Retrieved 2011-04-09. Every operating system includes tools to manage MBR partitions. Unfortunately, every operating system handles MBR partitions in a slightly different manner.
Jump up ^ Norton, Peter; Clark, Scott (2002). Peter Norton's New Inside the PC. Sams Publishing. pp. 360–361. ISBN 0-672-32289-7.
Jump up ^ Graves, Michael W. (2004). A+ Guide To PC Hardware Maintenance and Repair. Thomson Delmar. p. 276. ISBN 1-4018-5230-0.
Jump up ^ Andrews, Jean (2003). Upgrade and Repair with Jean Andrews. Thomson Course Technology. p. 646. ISBN 1-59200-112-2.
Jump up ^ Boswell, William (2003). Inside Windows Server 2003. Addison-Wesley Professional. p. 13. ISBN 0-7357-1158-5.
Jump up ^ Smith, Roderick W. (2000). The Multi-Boot Configuration Handbook. Que Publishing. pp. 260–261. ISBN 0-7897-2283-6.
Jump up ^ Brouwer, Andries Evert (2004-04-22) [2000]. "Properties of partition tables". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24. Matthias Paul: "PTS-DOS [uses] a special fifth partition entry in front of the other four entries in the MBR and corresponding AAP-aware MBR bootstrap code."
Jump up ^ Brouwer, Andries Evert (2004-04-22) [2000]. "Properties of partition tables". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24. Some OEM systems, such as AST DOS (type 14hex) and NEC DOS (type 24hex) had 8 instead of 4 partition entries in their MBR sectors. (Matthias Paul). (NB. NEC MS-DOS 3.30 and AST MS-DOS partition tables with eight entries are preceded with a signature A55Ahex at offset +17Chex.)
Jump up ^ Sedory, Daniel B. (2007-05-18) [2003]. "Notes on the Differences in one OEM version of the DOS 3.30 MBR". Master Boot Records. Archived from the original on 2017-08-24. Retrieved 2017-08-24. When we added partitions to this NEC table, the first one was placed at offsets +1EEhex through +1FDhex and the next entry was added just above it. So, the entries are inserted and listed backwards from that of a normal Table. Thus, looking at such a Table with a disk editor or partition listing utility, it would show the first entry in a NEC eight-entry table as being the last one (fourth entry) in a normal Partition Table. (NB. Shows an 8-entry partition table and where its boot code differs from MS-DOS 3.30.)
Jump up ^ "Partition Table". osdev.org. 2017-03-18 [2007-03-06]. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
^ Jump up to: a b c System BIOS for IBM PC/XT/AT Computers and Compatibles. Phoenix technical reference. Addison-Wesley. 1989. ISBN 0-201-51806-6.
Jump up ^ Brouwer, Andries Evert (2013) [1995]. "List of partition identifiers for PCs". Partition types. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
Jump up ^ Wood, Sybil (2002). Microsoft Windows 2000 Server Operations Guide. Microsoft Press. p. 18. ISBN 9780735617964.
Jump up ^ "An Introduction to Hard Disk Geometry". Tech Juice. 2012-12-06 [2011-08-08]. Archived from the original on 2013-02-04.
Jump up ^ Kozierok, Charles M. (2001-04-17). "BIOS and the Hard Disk". The PC Guide. Archived from the original on 2017-06-17. Retrieved 2013-04-19.
Jump up ^ Smith, Robert (2011-06-26). "Working Around MBR's Limitations". GPT fdisk Tutorial. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
Jump up ^ "More than 2 TiB on a MBR disk". superuser.com. 2013-03-07. Archived from the original on 2017-08-24. Retrieved 2013-10-22.
Jump up ^ "Transition to Advanced Format 4K Sector Hard Drives". Tech Insight. Seagate Technology. 2012. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
Jump up ^ Calvert, Kelvin (2011-03-16). "WD AV‐GP Large Capacity Hard Drives" (PDF). Western Digital. Retrieved 2013-04-20.
Jump up ^ Smith, Roderick W. (2010-04-27). "Linux on 4KB-sector disks: Practical advice". DeveloperWorks. IBM. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
^ Jump up to: a b "MBR (x86)". OSDev Wiki. OSDev.org. 2012-03-05. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
Jump up ^ Sedory, Daniel B. (2003-07-30). "IBM DOS 2.00 Master Boot Record". The Starman's Realm. Archived from the original on 2017-08-24. Retrieved 2011-07-22.
Jump up ^ Singh, Amit (2009-12-25) [December 2003]. "Booting Mac OS X". Mac OS X Internals: The Book. Retrieved 2011-07-22.
Jump up ^ de Boyne Pollard, Jonathan (2011-07-10). "The EFI boot process". Frequently Given Answers. Archived from the original on 2017-08-24. Retrieved 2011-07-22.
Jump up ^ Domsch, Matt (2005-03-22) [2003-12-19]. "Re: RFC 2.6.0 EDD enhancements". Linux Kernel Mailing List. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
Jump up ^ "Windows may use Signature() syntax in the BOOT.INI file". KnowledgeBase. Microsoft.
Jump up ^ McTavish (February 2014). "Vista's MBR Disk Signature". Multibooters: Dual and Multibooting with Vista. Archived from the original on 2017-08-24. Retrieved 2017-08-24.
Jump up ^ Russinovich, Mark (2011-11-08). "Fixing Disk Signature Collisions". Mark Russinovich's Blog. Microsoft. Archived from the original on 2017-08-24. Retrieved 2013-04-19.
^ Jump up to: a b c Sakamoto, Masahiko (2010-05-13). "Why BIOS loads MBR into 0x7C00 in x86?". Glamenv-Septzen.net. Archived from the original on 2017-08-24. Retrieved 2011-05-04.
^ Jump up to: a b c d e f Compaq; Phoenix Technologies; Intel (1996-01-11). "BIOS Boot Specification 1.01" (PDF). ACPICA. Archived (PDF) from the original on 2017-08-24. Retrieved 2013-04-20.
^ Jump up to: a b Elliott, David F. (2009-10-12). "Why does the "standard" MBR set SI?". tgwbd.org. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
^ Jump up to: a b c Compaq; Phoenix Technologies; Intel (1994-05-05). "Plug and Play BIOS Specification 1.0A" (PDF). Intel. Archived (PDF) from the original on 2017-08-24. Retrieved 2013-04-20.
Jump up ^ Elliott, Robert (2010-01-04). "e09127r3 EDD-4 Hybrid MBR boot code annex" (PDF). T13 Technical Committee. Archived (PDF) from the original on 2017-08-24. Retrieved 2013-04-20.
Jump up ^ "FDISK /MBR rewrites the Master Boot Record". Support. 1. Microsoft. 2011-09-23. 69013. Archived from the original on 2017-02-08. Retrieved 2013-04-19.
Jump up ^ "sfdisk(8) – Linux man page". die.net. 2013 [2007]. Archived from the original on 2017-08-24. Retrieved 2013-04-20.
Jump up ^ Brown, Ralf D. (2000-07-16). "Ralf Browns Interrupt List (v61 html)". Delorie Software. Retrieved 2016-11-03.
Jump up ^ Brown, Ralf D. (2000-07-16). "B-1302: INT 13 - DISK - READ SECTOR(S) INTO MEMORY". Ralf Brown's Interrupt List (RBIL) (61 ed.). Retrieved 2016-11-03. (NB. See file INTERRUP.B inside archive "INTER61A.ZIP.)
Further reading[edit]
Gilbert, Howard (1996-01-01) [1995]. "Partitions and Volumes". PC Lube & Tune. Archived from the original on 2016-03-03.
Knights, Ray (2004-12-22) [2000-12-16]. "Ray's Place". MBR and Windows Boot Sectors (includes code disassembly and explanations of boot process). Archived from the original on 2017-08-24. Retrieved 2017-08-24.
Landis, Hale (2002-05-06). "Master Boot Record". How It Works. Archived from the original on 2014-07-01.
Sedory, Daniel B. (2015-06-25) [2007]. "MBRs (Master Boot Records)". Boot Records Revealed. Archived from the original on 2017-08-24. Retrieved 2017-08-24. [1] [2]
External links[edit]
Article on master boot record
Retrieved from "https://en.wikipedia.org/w/index.php?title=Master_boot_record&oldid=801510369"
Categories:
BIOS
Booting
Disk partitions
Hidden categories:
All articles with unsourced statements
Articles with unsourced statements from November 2010
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
In other projects
Wikimedia Commons
Languages
العربية
Български
Català
Čeština
Dansk
Deutsch
Español
Euskara
فارسی
Français
한국어
Bahasa Indonesia
Italiano
עברית
Magyar
Nederlands
日本語
Norsk
Polski
Português
Русский
Simple English
Svenska
Українська
Tiếng Việt
中文
Edit links
This page was last edited on 20 September 2017, at 02:51.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view

values: mw-page-base noprint

values: mw-head-base noprint

attrs: id class style

values: firstHeading firstHeading en

values: siteSub noprint

values: jump-to-nav mw-jump

attrs: role class

values:
note
hatnote navigation-not-searchable

value: b

values:
/wiki/Mass_storage_device
mw-redirect
Mass storage device

values:
/wiki/Fixed_disk
mw-redirect
Fixed disk

values:
/wiki/Removable_drive
mw-redirect
Removable drive

values:
/wiki/IBM_PC-compatible
mw-redirect
IBM PC-compatible

values:
/wiki/PC_DOS_2.0
mw-redirect
PC DOS 2.0

value: p

values:
/wiki/Second-stage_boot_loader
mw-redirect
Second-stage boot loader

values:
/wiki/Boot_loader
mw-redirect
Boot loader

values:
/wiki/Extended_partition
mw-redirect
Extended partition

values:
/wiki/Bootstrapping_(computing)
mw-redirect
Bootstrapping (computing)

values:
/wiki/Chain_loader
mw-redirect
Chain loader

values:
/wiki/Dynamic_Drive_Overlay
mw-redirect
Dynamic Drive Overlay

values:
/wiki/Boot_manager
mw-redirect
Boot manager

values:
/wiki/Ontrack_Disk_Manager
mw-redirect
Ontrack Disk Manager

values: Storage Dimensions (page does not exist)

values:
wikitable
float:left; width:45%; margin:1em;

values:
wikitable
float:right; width:45%; margin:1em;

values:
/wiki/DL_register
mw-redirect
DL register

values:
wikitable
float: right; width: 33%; margin: 1em;

values:
/wiki/Cylinder_(disk_drive)
mw-redirect
Cylinder (disk drive)

values: This claim needs references to reliable sources. (November 2010)

values:
noprint Inline-Template Template-Fact
white-space:nowrap;

values:
/wiki/Extensible_Firmware_Interface
mw-redirect
Extensible Firmware Interface

values:
/wiki/External_drive
mw-redirect
External drive

values:
/wiki/Computer_processor
mw-redirect
Computer processor

values:
/wiki/Physical_memory
mw-redirect
Physical memory

values:
/wiki/EFI_System_partition
mw-redirect
EFI System partition

values:
/wiki/Boot_Configuration_Data
mw-redirect
Boot Configuration Data

values: Edit section: Programming considerations

values:
/wiki/Least_significant_byte
mw-redirect
Least significant byte

values:
/wiki/Remote_Program_Loader
mw-redirect
Remote Program Loader

values:
/wiki/Apple_Darwin
mw-redirect
Apple Darwin

values:
/wiki/Plug_and_Play_BIOS_Specification
mw-redirect
Plug and Play BIOS Specification

values:
/wiki/BIOS_Boot_Specification
mw-redirect
BIOS Boot Specification

values:
/wiki/Initial_Program_Loader
mw-redirect
Initial Program Loader

values:
/wiki/CS_register
mw-redirect
CS register

values:
/wiki/IP_register
mw-redirect
IP register

values: Protected Area Run Time Interface Extension Services

values:
/wiki/Boot_Engineering_Extension_Record
mw-redirect
Boot Engineering Extension Record

values:
/wiki/Host_Protected_Area
mw-redirect
Host Protected Area

values:
/wiki/DH_register
mw-redirect
DH register

values:
/wiki/ES_register
mw-redirect
ES register

values:
/wiki/DI_register
mw-redirect
DI register

values:
/wiki/Extended_BIOS_Parameter_Block
mw-redirect
Extended BIOS Parameter Block

values:
/wiki/MBR_partition_table
mw-redirect
MBR partition table

values:
/wiki/Advanced_Active_Partition
mw-redirect
Advanced Active Partition

values:
/wiki/BP_register
mw-redirect
BP register

values:
/wiki/AX_register
mw-redirect
AX register

values:
/wiki/BX_register
mw-redirect
BX register

values:
/wiki/CX_register
mw-redirect
CX register

values:
/wiki/Enhanced_Disk_Drive_Specification
mw-redirect
Enhanced Disk Drive Specification

values:
/wiki/EAX_register
mw-redirect
EAX register

values: Edit section: Editing and replacing contents

values:
/wiki/Recovery_Environment
mw-redirect
Recovery Environment

values:
/wiki/BIOS_Boot_partition
mw-redirect
BIOS Boot partition

values:
/wiki/Boot_engineering_extension_record
mw-redirect
Boot engineering extension record

values:
/wiki/Apple_partition_map
mw-redirect
Apple partition map

values: -moz-column-width: 22em; -webkit-column-width: 22em; column-width: 22em;

values: Extended BIOS Data Area (page does not exist)

values: div-col columns column-width reflist mw-references-wrap mw-references-columns

values: -moz-column-width: 35em; -webkit-column-width: 35em; column-width: 35em; list-style-type: lower-alpha;

values:
nofollow
external text
http://foldoc.org/master+boot+record

values:
nofollow
external text
http://support.microsoft.com/kb/2581408

values:
/wiki/Addison-Wesley_Professional
mw-redirect
Addison-Wesley Professional

values:
/wiki/Que_Publishing
mw-redirect
Que Publishing

values:
/wiki/Andries_Evert_Brouwer
mw-redirect
Andries Evert Brouwer

values:
nofollow
external text
http://wiki.osdev.org/Partition_Table

values:
nofollow
external text
https://lkml.org/lkml/2003/12/19/139

values:
nofollow
external text
http://support.microsoft.com/kb/227704

values:
nofollow
external text
http://www.multibooters.co.uk/mbr.html

values:
nofollow
external text
http://support.microsoft.com/kb/69013

values:
nofollow
external text
http://linux.die.net/man/8/sfdisk

values:
/wiki/Ralf_D._Brown
mw-redirect
Ralf D. Brown

values:
nofollow
external text
http://www.ata-atapi.com/hiwmbr.html

values:
nofollow
external text
http://wiki.osdev.org/MBR_(x86)

values: Category:All articles with unsourced statements

values: Category:Articles with unsourced statements from November 2010

values: Discussion about edits from this IP address [ctrl-alt-n]

values: A list of edits made from this IP address [ctrl-alt-y]

values: You are encouraged to create an account and log in; however, it is not mandatory

values: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

values:
/wiki/Master_boot_record
View the content page [ctrl-alt-c]
c

values: Discussion about the content page [ctrl-alt-t]

values: p-namespaces navigation vectorTabs p-namespaces-label

values:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

values: Past revisions of this page [ctrl-alt-h]

values: p-views navigation vectorTabs p-views-label

values:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

values:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

values:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

values: Featured content – the best of Wikipedia

values: Find background information on current events

values:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

values: portal navigation p-navigation p-navigation-label

values: Guidance on how to use and edit Wikipedia

values: About the project, what you can do, where to find things

values: A list of recent changes in the wiki [ctrl-alt-r]

values: portal navigation p-interaction p-interaction-label

values: List of all English Wikipedia pages containing links to this page [ctrl-alt-j]

values: Recent changes in pages linked from this page [ctrl-alt-k]

values:
/wiki/Wikipedia:File_Upload_Wizard
Upload files [ctrl-alt-u]
u

values: A list of all special pages [ctrl-alt-q]

values: Permanent link to this revision of the page

values: Link to connected data repository item [ctrl-alt-g]

values: Printable version of this page [ctrl-alt-p]

values: portal navigation p-wikibase-otherprojects p-wikibase-otherprojects-label

values:
uls-settings-trigger
Language settings
0
button
true

values: سجل الإقلاع الرئيسي – Arabic

values: Запис за начално зареждане – Bulgarian

values: Registro de arranque principal – Spanish

values:
https://eu.wikipedia.org/wiki/MBR
MBR – Basque
eu
eu
interlanguage-link-target

values: رکورد راه‌انداز اصلی – Persian

values: 마스터 부트 레코드 – Korean

values: マスターブートレコード – Japanese

values: Главная загрузочная запись – Russian

values: Головний завантажувальний запис – Ukrainian

values: /static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x

values: /static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x

values:
suggestions
display: none; font-size: 13px;

values: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Master_boot_record rootpage-Master_boot_record skin-vector action-view


text:
Prahlad Kakkar
From Wikipedia, the free encyclopedia
Jump to: navigation, search
Prahlad Kakkar
Prahlad Kakkar speaking during The Himalayan Times Brandfest in Nepal
Born
(1950-03-24) 24 March 1950 (age 68)
Nationality
Indian
Occupation
Advertising, Filmmaker
Spouse(s)
Mitali Dutt
Children
Arnav, Varun, Anhjin
Prahlad Kakkar (born 24 March 1950 in Mumbai) is an Indian ad film director, best known for his work on the famous Pepsi TV commercial with Amitabh Bachchan and Sachin Tendulkar. He is the founder and main director for Genesis Film Productions, established in 1977[1][2][3][4]
In 1995 he set up 'Lacadives', a scuba-diving school, along with his wife Mitali Kakar at Kadmat Island, in collaboration with the Govt. of Lakshadweep. He also runs a coffee shop, and Casa Amore, a wine bar and restaurant, set up in Mumbai in 2001.[1][2][5]
Contents
[hide]
1 Early life
2 Career
2.1 Genesis Film Production Pvt. Ltd.
2.2 Offspring and Offshoot
2.3 Lacadives
2.4 Restaurants
3 Personal life
4 References
5 External links
Early life[edit]
Prahlad Kakar grew up in Mumbai and his father was an army colonel based in Pakistan. His mother is half Burmese and half Marathi.
He also did his initial schooling from St. Joseph's Academy, Dehradun. In 1966, he passed out from Sainik School, Kunjpura, Karnal, Haryana in 1970, he graduated with Economics (Honors) from Fergusson College, Pune.[1][2]
Career[edit]
Prahlad Kakar joined advertising in 1971, as an Accounts Executive at ASP (Delhi) and after a year, he was transferred to the company's Bombay office. In 1972, he joined the renowned feature director, Shyam Benegal, as an Asst. Director for films such as Ankur, Manthan, and Bhumika.
After training under Shyam Benegal, Mandeep Kakkar and Ravi Uppor, Prahlad Kakar founded Genesis Film Productions in 1977. [6]
Genesis Film Productions is also known for the short film "Bali" made in affiliation with the channel Star One.[7] Prahlad Kakar is also known for his popular Kamasutra ads. After Genesis, Prahlad Kakkar started a restaurant at Prithvi Theatre with Jennifer Kendal.[8]
Prahlad Kakar is the co-founder of ReefWatch Marine Conservation,[9] set up in 1994, which aims at creating marine-life awareness. Prahlad Kakar supports and plays an important role as the Chief Advisor & Trustee of Natura Outdoor Education Trust.
In 1999,He was one of the few Indian Directors to direct international commercials for clients like Uni Levers and Pepsico in Burma, Vietnam, Pakistan, Bangladesh and the Asia Pacific Region.[10] He also started the speciality Tea House in Bombay,[11] the first of its kind in the country. In 2000 he received the prestigious Lifetime Achievement Award from IAAFA[12] for his contribution to Advertising and Film Art.
Genesis Film Production Pvt. Ltd.[edit]
Prahlad Kakar founded Genesis Film Production Pvt. Ltd. in 1977, after having assisted Shyam Benegal, one of India's most renowned filmmakers. Clients of the company include Nestlé, PepsiCo, Brittania, Levers. Prahlad has won several awards for technical excellence, Innovation and creativity in advertising over the years in India. Genesis won both gold and silver awards including campaign of the year for the Pepsi commercials at AAAI in 1996. The public films for Ceat won awards in the New York festival of Advertising. Commercials directed by Prahlad have also been nominated for Lions at Cannes. Twenty – five years down the line Prahlad Kakar has earned himself a Lifetime Achievement Award by the IAAFA in the year 1999 and has got Genesis the top Production House for two years in a row for years 2003 and 2004 by the Brand Equity. He has helped create campaigns for like “Yehi Hai Right Choice Baby! Aha!” Pepsi Ad, “The Zing Thing” Gold Spot Ad, “2 minutes!” Noodles Ad for Maggi, “Ting Ting Ti Ting” Britannia Biscuits Football Ad, “Zor ka Jhatka” for Limca and “It's different” for Maggi Ketchup. [13]
Offspring and Offshoot[edit]
Genesis has given birth to Offspring and Offshoot, production companies that are owned by Mitali Dutt Kakar. Prahlad Kakar remains Principal Director for her production houses as well.
Lacadives[edit]
Lacadives, India’s Premier Sports Diving Organization was set up in 1995, by Prahlad and Mitali Kakar in Kadmat Island with the active collaboration of the administration of Lakshadweep. Lacadives has set standards, which are on par, if not better than any other in the world, for safety and committed teaching of students, Indians and Foreigners. To date Lacadives has certified over 450 Indian Divers. It is the only CMAS certified Dive Centre in India and is also the only establishment to have Six CMAS Instructors working with it on a full-time basis. In March 2000 Lacadives was invited by the Casino Group to run the Dive Centre at the exotic Bangaram Island Resort at Lakshadweep. The Instructor to Diver Ratio in Lacadives' operations in Lakshadweep and Andaman & Nicobar Islands is better than any that can be found elsewhere in the world. This is what makes it India's Premier Diving Institution. In addition to this, Lacadives is part of the Underwater Federation of India and has established the Indian Scuba Diving Association to ensure the adherence of safety norms in this industry. To further complement its activities Lacadives has set up an NGO called REEF WATCH, whose mission is to create awareness amongst children through workshops and practical training about the fragile Marine Environment. Lacadives is also the first Dive Centre to have its own Live Aboard, SEA URCHIN, a 55-foot vessel, 150 HP Scania Engine, with sleeping facilities for 8 passengers and four crew. A compressor, de-salination plant, centrally air conditioned, with a 10-foot RIB and a diving platform.[13]
Restaurants[edit]
Prahlad Kakar has also been involved in restaurant design. He took on the initiative of reviving the culture of tea in India with a touch of sophistication, a venture which culminated in the Tea Centre, a restaurant designed by him at Churchgate, in association with the Tea Board of India.
In 1985, he ran a Gourmet Restaurant at the Prithvi Theater, Bombay with Jennifer Kendal Kapoor. In 2001, he started Casa Amore, an exclusive wine bar and restaurant. Prahlad has also created Papa Pancho for designer Mamta Sekhri. It is one of the few places in Mumbai that offers traditional, home-cooked Punjabi food. “Sarson da Saaga", Bombay's first " Slow food, Punjabi- home style cooking" opened at IMAX in March 2002.[13]
Personal life[edit]
Prahlad Kakar is married to Mitali Dutt Kakar, the owner of the film companies Offspring and Offshoot.[14] They have three sons Arnav, Varun and Anhjin. Prahlad Kakkar is Dyslexic and so is his son Arnav.[8]
Prahlad Kakar has a passion for scuba diving and in 2000 he became a CMAS 2 Star Scuba Diving Instructor. His other interests include Gourmet cooking, Reading, Swimming, Snorkeling, Scuba Diving, Squash and Horse Riding.
References[edit]
^ Jump up to: a b c Ad guru thrives on humour Indian Express, 11 June 2008.
^ Jump up to: a b c Profiles Archived 25 November 2005 at Archive.is Advertising Agencies Association of India, (AAAI).
Jump up ^ http://keralaonline.com/entertainment/kamasutra-girl_49125.html
Jump up ^ Pandit Jasraj Samman for Prahlad Kakar Indian Express, 10 June 2008.
Jump up ^ http://www.businesstravellerindia.com/200306/bt10highp.shtml
Jump up ^ http://www.ketan.net/art7_1.html
Jump up ^ http://living.oneindia.in/insync/prahalad-kakar.html
^ Jump up to: a b http://m.timesofindia.com/PDATOI/articleshow/msid-285889,curpg-3.cms
Jump up ^ http://www.reefwatchindia.org/aboutus.html
Jump up ^ "Archived copy". Archived from the original on 25 November 2005. Retrieved 12 July 2011.
Jump up ^ http://www.timeoutmumbai.net/food/eating_out_details.asp?code=124&source=5
Jump up ^ http://iaafa.org.au/
^ Jump up to: a b c http://www.aaaindia.org/speaker_profiles.htm#Prahlad Archived 25 November 2005 at Archive.is
Jump up ^ http://www.shaaditimes.com/celebrities/wedding-stories/mitali-prahlad-kakar-030922
Prahalad Kakar Interview AgencyFAQs
Juggler of passions The Hindu
External links[edit]
A blog on Prahlad Kakar
Prahlad Kakkar on IMDb
Interview with The Scholars' Avenue, IIT Kharagpur
Info on Prahlad Kakar
Retrieved from "https://en.wikipedia.org/w/index.php?title=Prahlad_Kakkar&oldid=842644723"
Categories:
1950 births
Film directors from Mumbai
Film producers from Mumbai
Indian advertising directors
Underwater divers
Living people
Savitribai Phule Pune University alumni
Indian restaurateurs
Sainik School alumni
Hidden categories:
Webarchive template archiveis links
EngvarB from September 2014
Use dmy dates from September 2014
Articles with hCards
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Namespaces
Article
Talk
Variants
Views
Read
Edit
View history
More
Search
Navigation
Main page
Contents
Featured content
Current events
Random article
Donate to Wikipedia
Wikipedia store
Interaction
Help
About Wikipedia
Community portal
Recent changes
Contact page
Tools
What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Wikidata item
Cite this page
Print/export
Create a book
Download as PDF
Printable version
Languages
ಕನ್ನಡ
Edit links
This page was last edited on 23 May 2018, at 18:58.
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.
Privacy policy
About Wikipedia
Disclaimers
Contact Wikipedia
Developers
Cookie statement
Mobile view
Enable previews

key: html

type: local

value: div

attrs: id class

values: mw-page-base noprint

values: mw-head-base noprint

value: a

attrs: id class lang

values: firstHeading firstHeading en

values: siteSub noprint

values: jump-to-nav mw-jump

value: span

value: th

attrs: colspan style

value: tr

value: img

attrs: alt src width height srcset data-file-width data-file-height

attrs: href class

value: td

values:
/wiki/St._Joseph%27s_Academy,_Dehradun
mw-redirect
St. Joseph's Academy, Dehradun

values: ReefWatch Marine Conservation (page does not exist)

values:
nofollow
external text
http://www.noetindia.org

values: Edit section: Genesis Film Production Pvt. Ltd.

values:
nofollow
http://www.aaaindia.org/
external text

values: Confédération Mondiale des Activités Subaquatiques

values:
/wiki/Casino_Group
mw-redirect
Casino Group

values:
/wiki/Andaman_%26_Nicobar_Islands
mw-redirect
Andaman & Nicobar Islands

values: Underwater Federation of India (page does not exist)

values:
nofollow
http://www.reefwatchindia.org/
external text

values:
nofollow
http://www.teaboard.gov.in/
external text

values:
nofollow
external text
http://www.papapancho.com/index.html

values:
/wiki/Indian_Express
mw-redirect
Indian Express

values:
nofollow
external free
http://www.ketan.net/art7_1.html

values:
nofollow
http://iaafa.org.au/
external free

values: -moz-column-width: 30em; -webkit-column-width: 30em; column-width: 30em; list-style-type: decimal;

values:
nofollow
https://www.imdb.com/name/nm1849065/
external text

values:
nofollow
external text
http://www.pksbe.com/pk.php

values: Category:Savitribai Phule Pune University alumni

values: Category:Webarchive template archiveis links

values: Category:Use dmy dates from September 2014

values: Discussion about edits from this IP address [ctrl-alt-n]

values: A list of edits made from this IP address [ctrl-alt-y]

values: You are encouraged to create an account and log in; however, it is not mandatory

values: You're encouraged to log in; however, it's not mandatory. [ctrl-alt-o]

values:
/wiki/Prahlad_Kakkar
View the content page [ctrl-alt-c]
c

values: Discussion about the content page [ctrl-alt-t]

values: p-namespaces navigation vectorTabs p-namespaces-label

values:
p-variants
navigation
vectorMenu emptyPortlet
p-variants-label

values: Past revisions of this page [ctrl-alt-h]

values: p-views navigation vectorTabs p-views-label

values:
p-cactions
navigation
vectorMenu emptyPortlet
p-cactions-label

values:
mw-wiki-logo
/wiki/Main_Page
Visit the main page

values:
/wiki/Main_Page
Visit the main page [ctrl-alt-z]
z

values: Featured content – the best of Wikipedia

values: Find background information on current events

values:
/wiki/Special:Random
Load a random article [ctrl-alt-x]
x

values: portal navigation p-navigation p-navigation-label

values: Guidance on how to use and edit Wikipedia

values: About the project, what you can do, where to find things

values: A list of recent changes in the wiki [ctrl-alt-r]

values: portal navigation p-interaction p-interaction-label

values: ಪ್ರಹ್ಲಾದ್ ಕಕ್ಕರ್ – Kannada

values: mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Prahlad_Kakkar rootpage-Prahlad_Kakkar skin-vector action-view