Grub Error 17 on XP/Ubuntu 8.04 dual boot on a single hard drive

Asked by Alvin

omega303
Ubuntu Grub: Error 17 or 18: Selected Cylinder exceeds maximum 1024 cylinders supported by BIOS.

For Ubuntu 8.4, Ubuntu 8.10, Ubuntu 9.4. One single hard drive dual boot - Ubuntu /xp only

Please back up everything; I don’t want to be responsible for lost of precious moments, porno or school work!! (Use partition magic) to make a partition of unallocated disk space we are going to work with unallocated, because is the simplest way to do this (Be my guest to and to this test).

(Before than anything this error 18: sucks)
1) First boot with Ubuntu live CD.
2) Now star installing Ubuntu normally
3) Do everything as normal language, keyboard etc…..
4) When you get to the part of partitioning use manual partition (I will try to explain in the simplest way).
5) Let say you have a 20, 40, 60, 80, and so on gigs hard drive of unallocated disk space, When partition editor open you would see that space you created.
-------------------------------------------------------Part 1 ext2-------------------------------------------------------------------
6) Now lets make the first partition highlight the partition (press create new) this is the one that is going to be in the first (1024 cylinders) the most important one, you will use from 300mb to 1000gig (I use 1gig my self because I have lot’s of space).

When the window opens up do this:

Mark primary/ them put the number you want 300mb to 1000 gig/mark beginning/ext2 journaling/ mount point  pull down (/Boot) --- click ok----

NOTE: When you click ok you would have your first partition (ext2) plus what ever is left of that unallocated disk space.
-------------------------------------------------------Part 2 swap-------------------------------------------------------------------
7) Now lets make the second partition or what they call SWAP highlight the remain of the unallocated disk space partition (press create new) the swap partition have to be twice the size of your memory so (512mb equals 1024mb, 1gig equals 2gig) etc…

When the window opens up do this:

(Mark primary/put the numbers of twice your memory/mark beginning/pull down choose- (swap) - (click OK).

NOTE: When you click OK you would have your second partition (swap) plus what ever is left of that unallocated disk space.

-------------------------------------------------------Part 3 ext3-------------------------------------------------------------------
8) Now let’s make the third and final partition highlight the remain of the unallocated disk space and create an ext3 partition like this

Mark primary/live the numbers the way they are inside the box don't touch them/mark beginning/ext3 journalist/pull down and use only slash (/) as your mount point - (click ok).

NOTE: When you click OK you would have your third partition (ext3) and nothing left!!!

The window should look something like this
Windows XP
/dev/sda1 ext2 /boot ----300mb to 1000gig
/dev/sda2 swap 512mb equals 1024mb, 1gig equals 2gig
/dev/sda3 ext3 / (what ever is left numbers) as and EXT3

Click forward wait for the Ubuntu to install reboot and you should have you grub!!! palm your self in the back go to your girlfriend apartment and get laid you deserved!!!

Personal note: it took me 2 years to figured this crap out and I wasn’t able to up grade to newest Distros because DELL don’t have newest BIOS for my computer or because people didn’t answer my questions like a regular human being, if we cant explain people to install Ubuntu and by pass this types of errors we would lose them. Sorry for my English lol. Hope this help

Alvin
------------------------------------------------------------
ubuntu@ubuntu:~$ sudo fdisk -lu

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Disk identifier: 0x03271930

   Device Boot Start End Blocks Id System
/dev/sda1 63 268414019 134206978+ 7 HPFS/NTFS
/dev/sda2 * 268414020 624157379 177871680 83 Linux
/dev/sda3 624157380 625137344 489982+ 5 Extended
/dev/sda5 624157443 625137344 489951 82 Linux swap / Solaris
------------------------------------------------------------
grub (geometry)
drive 0x80: C/H/S = 38913/255/63, The number of sectors = 625142448, /dev/sda
   Partition num: 0, Filesystem type unknown, partition type 0x7
   Partition num: 1, Filesystem type is ext2fs, partition type 0x83
   Partition num: 4, Filesystem type unknown, partition type 0x82
------------------------------------------------------------
device.map
(hd0) /dev/sda
------------------------------------------------------------
menu.lst

# menu.lst - See: grub(8), info grub, update-grub(8)
# grub-install(8), grub-floppy(8),
# grub-md5-crypt, /usr/share/doc/grub
# and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not use 'savedefault' or your
# array will desync and will not let you boot your system.
default 0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout 10

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
#hiddenmenu

# Pretty colours
#color cyan/blue white/blue

## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title Windows 95/98/NT/2000
# root (hd0,0)
# makeactive
# chainloader +1
#
# title Linux
# root (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=UUID=4e951f55-053b-41fa-aa62-7e0a8a72cae7 ro

## Setup crashdump menu entries
## e.g. crashdump=1
# crashdump=0

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,1)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
## alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
## lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=quiet splash

## should update-grub lock old automagic boot options
## e.g. lockold=false
## lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
## altoptions=(recovery) single
# altoptions=(recovery mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
## howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
## memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## should update-grub add savedefault to the default options
## can be true or false
# savedefault=false

## ## End Default Options ##

title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=4e951f55-053b-41fa-aa6
2-7e0a8a72cae7 ro quiet splash
initrd /boot/initrd.img-2.6.24-19-generic
quiet

title Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=4e951f55-053b-41fa-aa6
2-7e0a8a72cae7 ro single
initrd /boot/initrd.img-2.6.24-19-generic

title Ubuntu 8.04.1, memtest86+
root (hd0,1)
kernel /boot/memtest86+.bin
quiet

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda1
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
chainloader +1

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu grub Edit question
Assignee:
No assignee Edit question
Solved by:
Alvin
Solved:
Last query:
Last reply:
Revision history for this message
AFarris01 (afarris01) said :
#1

As far as i can tell, it seems that you're partitions and grub menu are set up properly, so my chief suspicion is that GRUB got screwed up somehow during it's installation... therefore, i would recommend downloading the Super Grub Disk (SGD) from the website below, from a working computer:

http://www.supergrubdisk.org/index.php?pid=5

Then burn the image onto a CD and use it to re-install grub by the following steps (from within SGD itself):
from the main menu, go to Boot and Tools
go to either 'Linux/GNU' or 'Fix Boot of Linux'
select your linux partition (should be auto-detected, will be displayed with partition type, and OS name), then hit enter, and if you see the message 'SGD had Succeeded' or 'SGD had done it!' then the repair should have been successful, and you can remove SGD from the drive and reboot.

If the repair was truly successful, then you should see the GRUB menu pop up like it should normally. if it doesnt, then please post back and I'll continue to help you out how i can!

Hope this is helpful!

Andrew

Revision history for this message
Bhavani Shankar (bhavi) said :
#2

Hello

Its a HDD partition recognition problem of sorts in short

Refer this link for a detailed info:

http://justlinux.com/forum/showpost.php?p=869980&postcount=6

Regards

Revision history for this message
Alvin (valvin47) said :
#3

Hi,

Thanks for the replies! Using the super grub disk, I attempted the fix suggested by Andrew, but it failed. I then attempted a fresh install of grub (to both partition and MBR) to which I got "Error 18: Selected cylinder exceeds maximum supported by BIOS". My plan is to repartition my hard drive so that I can mount /boot to the first 512 MB of the hard drive in hopes of being able to get the kernel loaded and unbuntu to boot up correctly.

If anyone has any other ideas or suggestions that might work better, I would very much appreciate them. In the meantime I will proceed with the repartitioning and report back here as to whether or not this fix was successful.

Thanks again,

Alvin

Revision history for this message
Alvin (valvin47) said :
#4

Again, thanks for the responses. I successfully reinstalled and booted Ubuntu with grub. I used the solution I described above. I will describe the full procedure for getting my system to have dual booting ability in case it's helpful to anyone in the future. Ultimately the problem was the BIOS of my Tyan S1854 motherboard could not recognize the full size of my hard drive and therefore could not read sectors past a certain point. I'm not sure what that point actually is. Thus, when Grub attempted to load, it couldn't get into the partition where /boot was mounted because it was physically located too far into the hard drive. Thus the error 17 was returned. It was only upon attempting to reinstall Grub with the Super Grub Disk that I was able to get an error 18 that was the true reason I couldn't get the system to boot. My solution was to place /boot into the first 300 MB of the hard drive that the BIOS could recognize.

1. Created a partition for and installed and fully updated Windows XP. This step was done using my XP installation CD.
2. Booted into Ubuntu live CD session and repartitioned the hard drive with gpart as follows:
   a) Moved XP partition so that there was unused disk space in the first 300 MB of the disk. So now I had unused disk space before and after my XP partition.
   b) Rebooted the live CD session and began installation.
   c) The unused space before the XP partition I formatted as ext3 and mounted /boot to it. The unused space after the XP partition I formatted most of it as ext3 and mounted / to it. The remainder (~600 MB) I allocated for use as the swap area.
   d) Completed the installation with success!

Revision history for this message
OMEGA303 (atlas909) said :
#5

hi alvin,

          Can you explain how you did this step by step in a easy way? for 160gig hard drive, having problems with (steps 2 a ) or some examples thanks, I will like to translate this into Spanish for a couple of South American forums.

ps: having this issue for a 2 years now using windows xp and Ubuntu 7.10 every time i up grade to 8.4 or higher i get error 18< my Bios are to old and I can't update them!! DELL doesn't have a up grade version of the Bios for 3 years. I will like to upgrade to Ubuntu 9.4 if i can? I would like to give Ubuntu 50 gigs of the drive. I always install windows and Ubuntu in this way i install windows first them i shrink the partition with (partition magic) to 40 or 50 gigs and create a (unallocated disk space) them i boot using Ubuntu live CD and and I use GUIDED-free space and let Ubuntu do the rest to create grub. but if i try to this with ubuntu 8.4| 8.10| 9.4 --> i get that error 18.. i use Acronis to back up partitions :-))

Sorry for the spelling
thanks :-))))))