Index: /trunk/src/VBox/Devices/PC/BIOS/rombios.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/rombios.c	(revision 35106)
+++ /trunk/src/VBox/Devices/PC/BIOS/rombios.c	(revision 35107)
@@ -2865,6 +2865,11 @@
   mode    = read_byte(ebda_seg, &EbdaData->ata.devices[device].mode);
   blksize = read_word(ebda_seg, &EbdaData->ata.devices[device].blksize);
-  if (mode == ATA_MODE_PIO32) blksize>>=2;
-  else blksize>>=1;
+  if (blksize == 0) {   /* If transfer size is exactly 64K */
+      if (mode == ATA_MODE_PIO32) blksize=0x4000;
+      else blksize=0x8000;
+  } else {
+    if (mode == ATA_MODE_PIO32) blksize>>=2;
+    else blksize>>=1;
+  }
 
 #ifdef VBOX
