Your 64-Bit Check List: Potential Issues You Might See

Potential Storage Issues

We already talked about several issues, but there is another that will be increasingly important in the future: storage. There are actually two concerns, of which only the second is really related to 32 versus 64 bits. Still, I believe it’s important to mention both.

GPT instead of MBR allows partitions of > 2 TB. However, booting from them requires an EFI instead of a conventional BIOS.

Waiting for EFI

You might be familiar with the limits of the Master Boot Record (MBR), which is a part of hard drive volumes. It is the place where the BIOS picks up the boot string to actually launch an operating system. Unfortunately, the MBR is limited to a 2 TB capacity, and as we all know, hard drives have already reached this capacity point. You can solve the issue by installing the latest Service Packs on Windows XP and Windows Server 2003, or by using Windows Vista or Server 2008. In all cases, the MBR will be replaced by the so-called GPT, the GUID Partition Table, for partitions greater than 2 TB in size. In contrast to MBR, GUID supports partitions of up to 256 TB, which should be enough for the time being.

However, while GPT supports creating large partitions to read and write, it will only be bootable if your hardware is based on the Extensible Firmware Interface (EFI) or the Unified EFI (UEFI, also known as EFI 2.0), instead of a classic BIOS. This will eventually be the new interface between the operating system and all PC hardware. Unfortunately, EFI is not yet common in the PC world; only Apple was smart enough to implement EFI right from the start on its Intel-based Macs. So, prepare to upgrade your entire PC to get support for 2+ TB hard drives if you want to boot from them! This is even more important, as a MBR cannot yet be converted to GPT, making RAID setups the most difficult situation today: if you exceed 2 TB, you will not be able to boot from your array.

The list of features introduced by the EFI includes DRM, network support for maintenance applications, pre-boot graphics support, a shell for execution of EFI applications, and drivers that run as EFI modules. In the end, driver development could be done on a level that is closer to the hardware and totally independent from the operating system. Windows 7 would not have to launch drivers on EFI systems; they would be initiated at system bootup.

Storage Driver Internals

Finally, there can be issues with 2+ TB drives on 64-bit Vista systems, although all drivers seem to be available for 64-bit environments. Some drivers that are declared as 64-bit versions and signed as such may still be working with 32-bit sector numbers internally—the result will be incorrect capacities reported by Windows. When we tried LaCie’s 4big Quadra drive, we found on one of the test systems that it was logged in at ~800 GB capacity, although the total capacity should have been 2800 GB (2.8 GB, or 3 GB based on a RAID 5, with four 1 TB drives inside the LaCie device). Apparently, the first 32 bits were missing, causing the operating system to address only after that address space.

This can actually have really serious results: imagine a setup in which you create a RAID 0 array using the full capacity of 4 TB. You format the partition, and you start to use it. Once you have used 2 TB, Windows will not continue using the remaining capacity, but the faulty driver will direct Windows to start over with the first sectors, overwriting existing data. Not even data recovery companies would be able to restore such a disaster.

Be sure to look at the capacity carefully using Diskpart before you release a 2+ TB system into a production environment. I’d even do some tests and write 2+ TB to make sure everything is fine.