|
Page 4 of 4
Preparing VMDK for Windows Installation
If you are installing Windows Server 2000, 2003 or Windows XP on a physical server or desktop, you cannot fix disk alignment at the time of installation. You can fix data partitions and other volumes that are added later (see our KB on Windows disk Alignment), but not the boot volume. Worse yet, once Windows has been installed on the drive, there is no way to fix the alignment, it must be done when the partition is created –now there’s a catch-22. This is rather frustrating knowing you’re taking a performance hit on the boot volume because it cannot be aligned.
Fortunately, in VMware, we can fix the drive alignment before the OS is ever installed! We can use fdisk from the service console and set the partition alignment before Windows is installed. Lets hear it for VMware!
- Create a new virtual machine using the virtual infrastructure client (do not power on the machine).
- From your service console, change directory to the location of the newly created virtual machine
# cd /vmfs/volumes/487bba15-14da54c8-f2a0-001e4ffbda71/WIN /vmfs/volumes/487bba15-14da54c8-f2a0-001e4ffbda71/WIN # ls -l -rw------- 1 root root 8589934592 Apr 9 17:49 WIN-flat.vmdk -rw------- 1 root root 370 Apr 9 17:49 WIN.vmdk -rw------- 1 root root 0 Apr 9 17:49 WIN.vmsd -rwxr-xr-x 1 root root 1189 Apr 9 17:49 WIN.vmx -rw------- 1 root root 258 Apr 9 17:49 WIN.vmxf
|
- Get the number of cylinders from the VMDK. The line begins with 'ddb.geometry.cylinders'
/vmfs/volumes/487bba15-14da54c8-f2a0-001e4ffbda71/WIN # cat WIN.vmdk
# Disk DescriptorFile version=1 CID=41e9d328 parentCID=ffffffff createType="vmfs"
# Extent description RW 16777216 VMFS "WIN-flat.vmdk"
# The Disk Data Base #DDB
ddb.virtualHWVersion = "4" ddb.uuid = "60 00 C2 90 24 ba cd bd-f2 35 ca ab 3e 73 37 a2" ddb.geometry.cylinders = "1044" ddb.geometry.heads = "255" ddb.geometry.sectors = "63" ddb.adapterType = "lsilogic"
|
- Run fdisk on the WIN-flat.vmdk file
/vmfs/volumes/487bba15-14da54c8-f2a0-001e4ffbda71/WIN # fdisk ./WIN-flat.vmdk
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel Building a new DOS disklabel. Changes will remain in memory only, until you decide to write them. After that, of course, the previous content won't be recoverable.
You must set cylinders. You can do this from the extra functions menu. Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
Command (m for help):
|
- Set the number of cylinders from step #3 above. Ignore fdisk’s warning about the cylinder size being larger than 1024, this only applies to older systems and is not applicable to us.
Command (m for help): x
Expert command (m for help): c Number of cylinders (1-1048576): 1044
The number of cylinders for this disk is set to 1044. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK)
Expert command (m for help):
|
- Confirm your cylinder is set correctly and no partitions exist on the new disk
Expert command (m for help): p
Disk ./WIN-flat.vmdk: 255 heads, 63 sectors, 1044 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID 1 00 0 0 0 0 0 0 0 0 00 2 00 0 0 0 0 0 0 0 0 00 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
Expert command (m for help):
|
- Exit from expert mode and create a new primary partition using the defaults
Expert command (m for help): r
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-1044, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-1044, default 1044): Using default value 1044
Command (m for help):
|
- Return to expert mode and change the start offset to align the disk. The start block should be a value that not only aligns the NTFS partition within the VMFS, but also aligns the VMFS with the LUN. As such, use should use the same start block you used when originally creating the VMFS partition on the LUN. If your not absolutely positive, using a start block of 2048 (2048 = 1024KB) will cover most configurations. However, you should ask your storage administrator for the LUN's alignment size to be absolutely certain.
Command (m for help): x
Expert command (m for help): b Partition number (1-4): 1 New beginning of data (63-16771859, default 63): 2048
Expert command (m for help):
|
- Print the partition table to verify the starting offset is set correctly
Expert command (m for help): p
Disk ./WIN-flat.vmdk: 255 heads, 63 sectors, 1044 cylinders
Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID 1 00 1 1 0 254 63 1023 128 16771732 83 2 00 0 0 0 0 0 0 0 0 00 3 00 0 0 0 0 0 0 0 0 00 4 00 0 0 0 0 0 0 0 0 00
Expert command (m for help):
|
- Return from exit mode and set the filesystem type to ‘HPFS/NTF’
Expert command (m for help): r
Command (m for help): t Selected partition 1 Hex code (type L to list codes): 7 Changed system type of partition 1 to 7 (HPFS/NTFS)
Command (m for help):
|
- Exit fdisk and write the changes to the VMDK. You can safely ignore the warning about error 25
Command (m for help): w The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 25: Inappropriate ioctl for device. The kernel still uses the old table. The new table will be used at the next reboot. Syncing disks. /vmfs/volumes/487bba15-14da54c8-f2a0-001e4ffbda71/WIN #
|
- Power on the virtual machine and begin the normal Windows installation process.
- When the installer gets to the partition screen, install on the existing partition (hit enter). Do not destroy or recreate the partition or you will lose the sector alignment.

If all went well, after the install has completed, you can download the Disk Alignment Check Tool from our downloads area and verify your drives alignment. For additional details on Microsoft Windows platforms and disk alignment, see our Windows Disk Alignment KB.
Note: Any new partitions created within the VM should use the procedures outline in the Windows Disk Alignment KB but with the same start offset used in step #8.
Enjoy you new optimized VM!
Add this page to your favorite website
|