--- work/grub-0.97/stage2/disk_io.c~ 2008-06-23 16:26:54.000000000 +0900 +++ stage2/disk_io.c 2008-06-23 16:31:30.000000000 +0900 @@ -404,7 +404,7 @@ || current_drive == cdrom_drive) && (current_partition & 0xFF) == 0xFF && ((current_partition & 0xFF00) == 0xFF00 - || (current_partition & 0xFF00) < 0x800) + || (current_partition & 0xFF00) < 0x1000) /* allow 16 partitions */ && ((current_partition >> 16) == 0xFF || (current_drive & 0x80))) return 1; @@ -1070,13 +1070,13 @@ if (*device == ',') device++; - if (*device >= 'a' && *device <= 'h') + if (*device >= 'a' && *device <= 'p') { current_partition = (((*(device++) - 'a') << 8) | (current_partition & 0xFF00FF)); } } - else if (*device >= 'a' && *device <= 'h') + else if (*device >= 'a' && *device <= 'p') { part_choice ++; current_partition = ((*(device++) - 'a') << 8) | 0xFF00FF;