I’ve already written about creating a partition size larger than 2TB under Linux using GNU parted command with GPT. In this tutorial, I will provide instructions for booting to a flat 2TB or larger RAID array under Linux using the GRUB boot loader.
How to Boot a 2TB or Larger Array in Linux
Run fdisk -l to see disk drive geometry and note down heads, sectors and cylinders. If your device name is /dev/sda, enter:
# fdisk -l /dev/sda
Note down drive geometry from the output including heads, sectors, cylinders etc. Type the grub, enter:
At grub prompt type the following commands:
grub> geometry (hd0) <#cylinders><#heads><#sectors>
grub> root (hd0,0)
grub> setup (hd0)
Replace <#cylinders><#heads><#sectors> with actual values. /dev/sda is hd0 i.e. first scsi hard disk. command geometry can be used to print the information for the drive drive. In the grub shell, you can set the geometry of the drive arbitrarily. The number of cylinders, the number of heads, the number of sectors and the number of total sectors are set to CYLINDER, HEAD, SECTOR and TOTAL_SECTOR, respectively. If you omit TOTAL_SECTOR, then it will be calculated based on the C/H/S values automatically.
GRUB should update MBR and other information in order to boot your system. Before, you issue reboot command make sure grub.conf (menu.lst) has correct syntax.