Windows 7 / Getting Started

Using the MBR and GPT Partition Styles

The term partition style refers to the method that Windows Server 2008 uses to organize partitions on a disk. Two partition styles are available: MBR and GPT. Originally, only x86-based computers used the MBR partition style, and only Itanium-based computers running 64-bit versions of Windows used the GPT partition style. With Windows Server 2008, both 32-bit and 64-bit editions support both MBR and GPT. The GPT partition style will be recognized also in Windows Server 2003 as long as it has been upgraded to Service Pack 1 or later. This is true for both x86 and x64 platforms.

With 64-bit versions of Windows, the GPT partition style is preferred and it is the only partition style from which you can boot Itanium-based computers. The key difference between the MBR partition style and the GPT partition style has to do with how partition data is stored.

Note:
Focus on the basic storage type and won't get into the details of the dynamic storage type. That's covered in the next section.

Working with MBR Disks

MBR uses a partition table that describes where the partitions are located on the disk. The first sector on a hard disk contains the MBR and a master boot code that's used to boot the system. The MBR resides outside of partitioned space.

Note:
It's easy to confuse master boot record with boot sector. These are two different structures on the hard drive. The master boot record contains the disk signature and partition table and is the first sector of the hard drive. A boot sector contains the BIOS parameter block and marks the first sector of the file system.

MBR disks support a maximum volume size of up to 4 TB unless they're dynamic disks and use RAID. MBR disks have two special types of partitions associated with them. The first partition type, called a primary partition, is used with drive sections that you want to access directly for file storage. You make a primary partition accessible to users by creating a file system on it and assigning it a drive letter or mount point. The second partition type, called an extended partition, is used when you want to divide a section of a disk into one or more logical units called logical drives. Here, you create the extended partition first, then create the logical drives within it. You then create a file system on each logical drive and assign a drive letter or mount point.

Each MBR drive can have up to four primary partitions or three primary partitions and one extended partition. It is the extended partition that allows you to divide a drive into more than four parts.

Note:
These rules apply to MBR disks that use the basic storage type. There's also a storage type called dynamic.

Working with GPT Disks

GPT disks don't have a single MBR. With GPT disks, critical partition data is stored in the individual partitions, and there are redundant primary and backup partition tables. Further, checksum fields are maintained to allow for error correction and to improve partition structure integrity.

GPT disks support partitions of up to 18 exabytes (EB) in size and up to 128 partitions per disk. Itanium-based computers using GPT disks have two required partitions and one or more optional original equipment manufacturer (OEM) or data partitions. The required partitions are the EFI system partition (ESP) and the Microsoft Reserved (MSR) partition. Although the optional partitions that you see depend on the system configuration, the optional partition type you see the most is the primary partition. Primary partitions are used to store user data on GPT disks.

If you install the Windows Server 2008 64-bit edition on a new system with clean disks or an existing system with a clean disk, Setup will initialize the disk as a GPT disk (only for computers with EFI). Setup will offer to create the ESP and then will automatically create the MSR partition. The ESP is formatted automatically using a file allocation table (FAT). The ESP is required only on the first GPT disk, however. Additional GPT disks do not require an ESP. Further, a basic GPT disk might not contain primary partitions. For example, when you install a new disk and configure it as a GPT disk, the Windows operating system automatically creates the ESP and MSR partitions, but does not create primary partitions.

Although GPT offers a significant improvement over MBR, it does have limitations. You cannot use GPT with removable disks, disks that are direct-attached using USB or IEEE 1394 (FireWire) interfaces, or disks attached to shared storage devices on server clusters.

CAUTION: It is recommended that you don't use disk editing tools such as DiskProbe to make changes to GPT disks. Any change that you make using these tools renders the CRC32 checksums in the GPT headers invalid, and this can cause the disk to become inaccessible. To make changes to GPT disks, you should use only Disk Management or DiskPart. If you are working in the EFI firmware environment, you'll find there's a version of DiskPart available as well-DiskPart.efi.
GPT headers and error checking

GPT disks use a primary and backup partition array. Each partition array has a header that defines the range of logical block addresses on the disk that can be used by partition entries. The GPT header also defines its location on the disk, its globally unique identifi er (GUID), and a 32-bit cyclic redundancy check (CRC32) checksum that is used to verify the integrity of the GPT header. The primary GPT header is created directly after the protected MBR on the disk. The backup GPT header is located in the last sector on the disk.

Firmware acts as the interface between a computer's hardware and its operating system. Although most x86-based computers use the basic input/ouput system (BIOS) as their firmware, Itanium-based computers and some newer computers use the Extensible Firmware Interface (EFI). Only systems that use EFI will be able to boot directly to a GPT disk. But all editions of Windows 2008 can use GPT disks for data.

A computer's firmware verifi es the integrity of the GPT headers by using the CRC32 checksum. The checksum is a calculated value used to determine whether there are errors in a GPT header. If the primary GPT header is damaged, firmware checks the backup header. If the backup header's checksum is valid, the backup GPT header is used to restore the primary GPT header. The process of restoring the GPT header works much the same way if it is determined that the backup header is damaged-only in reverse. If both the primary and backup GPT headers are damaged, the Windows operating system won't be able to access the disk.

[Previous] [Contents] [Next]