Index: /trunk/src/VBox/Devices/PC/BIOS/rombios.c
===================================================================
--- /trunk/src/VBox/Devices/PC/BIOS/rombios.c	(revision 27455)
+++ /trunk/src/VBox/Devices/PC/BIOS/rombios.c	(revision 27456)
@@ -5404,6 +5404,6 @@
 
   void
-int13_harddisk(EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
-  Bit16u EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
+int13_harddisk(EHBX, EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
+  Bit16u EHBX, EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
 {
   Bit32u lba;
@@ -6648,6 +6648,6 @@
 
   void
-int13_harddisk(EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
-  Bit16u EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
+int13_harddisk(EHBX, EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS)
+  Bit16u EHBX, EHAX, DS, ES, DI, SI, BP, ELDX, BX, DX, CX, AX, IP, CS, FLAGS;
 {
   Bit8u    drive, num_sectors, sector, head, status, mod;
@@ -9091,8 +9091,12 @@
 
 int13_disk:
-  ;; int13_harddisk modifies high word of EAX
+  ;; int13_harddisk modifies high word of EAX and EBX
   shr   eax, #16
   push  ax
+  shr   ebx, #16
+  push  bx
   call  _int13_harddisk
+  pop   bx
+  shl   ebx, #16
   pop   ax
   shl   eax, #16
