 +			slice = 0;
 +			sprintf(diskdev, "(hd%d)", biosdev - 0x80);
 +		} else {
-+			sprintf(diskdev, "(hd%d,%d)", biosdev - 0x80, slice);
++			sprintf(diskdev, "(hd%d,%d)", biosdev - 0x80, slice - 1);
 +		}
 +	}
 +

+
+		if (biosdev == MAX_BIOS_DRIVE) {
+			errnum = ERR_BOOT_FAILURE;
+			grub_printf("no biosdev found for testbed boot");
+		}
+	}
+

--- grub-0.97/stage2/builtins.c.orig	2005-02-15 16:58:23.000000000 -0500
+++ grub-0.97/stage2/builtins.c	2008-10-28 15:07:43.000000000 -0400
@@ -49,6 +49,15 @@
 # include <md5.h>
 #endif
