LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Newbie (https://www.linuxquestions.org/questions/linux-newbie-8/)
-   -   grub fail to load... error 17 (https://www.linuxquestions.org/questions/linux-newbie-8/grub-fail-to-load-error-17-a-573033/)

Geminias 07-28-2007 04:16 PM

grub fail to load... error 17
 
Hi, I deleted a partition with Vista... it was just some NTFS backup partition that came with the computer and now grub can't find itself... I'm wondering if maybe I deleted stage2 because the backup partition was the first partition on the drive?

My error is:

grub loading 1.5 please wait... Error 17

I'm using grub to chainload vista and default is ubuntu. (Should it really be using stage1_5? I thought it would be stage2)

Anyways here's fdisk -l (Current)

Code:

Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1      12548  100784372    7  HPFS/NTFS
/dev/sda2          12549      23149    85152532+  83  Linux
/dev/sda3          23150      23271      979965    5  Extended
/dev/sda5          23150      23271      979933+  82  Linux swap / Solaris

Here's /boot/grub/menu.lst:

Code:

# 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 change this entry to 'saved' 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=b2e49a99-8664-4af8-b741-ca2208dde761 ro

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

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

## 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

## ## End Default Options ##

title                Ubuntu, kernel 2.6.20-16-generic
root                (hd0,2)
kernel                /boot/vmlinuz-2.6.20-16-generic root=UUID=b2e49a99-8664-4af8-b741-ca2208dde761 ro ####quiet splash
initrd                /boot/initrd.img-2.6.20-16-generic
#quiet ##put this back if u want it to shut up during boot!!
savedefault

title                Ubuntu, kernel 2.6.20-16-generic (recovery mode)
root                (hd0,2)
kernel                /boot/vmlinuz-2.6.20-16-generic root=UUID=b2e49a99-8664-4af8-b741-ca2208dde761 ro single
initrd                /boot/initrd.img-2.6.20-16-generic

title                Ubuntu, kernel 2.6.20-15-generic
root                (hd0,2)
kernel                /boot/vmlinuz-2.6.20-15-generic root=UUID=b2e49a99-8664-4af8-b741-ca2208dde761 ro quiet splash
initrd                /boot/initrd.img-2.6.20-15-generic
#quiet
savedefault

title                Ubuntu, kernel 2.6.20-15-generic (recovery mode)
root                (hd0,2)
kernel                /boot/vmlinuz-2.6.20-15-generic root=UUID=b2e49a99-8664-4af8-b741-ca2208dde761 ro single
initrd                /boot/initrd.img-2.6.20-15-generic

title                Ubuntu, memtest86+
root                (hd0,2)
kernel                /boot/memtest86+.bin
#quiet  ##take this out if you want it to shut up during boot!

### 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                Windows Vista/Longhorn (loader)
root                (hd0,0)
savedefault
makeactive
chainloader        +1


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
title                Windows Vista/Longhorn (loader)
root                (hd0,1)
savedefault
makeactive
chainloader        +1

I could probably fix this myself by running grub natively and telling it to install on the MBR but I had a bad experience last time doing something like that so I'd like to make sure I fully understand the problem before I go messing around. I'm not sure what deleting the partition in Vista did to Grub as of yet...

bigrigdriver 07-28-2007 04:45 PM

When you deleted the partition, all partition numbers AFTER the one deleted changed: reduced by one.

Boot from a liveCD, and edit /boot/grub/menu.lst and /etc/fstab. Subtract one from the partition numbers following the one deleted.

Booting the liveCd should verify my claim. Just look at the /etc/fstab of the running liveCD to see the partition numbers assigned to existing partitions, or run fdisk -l in a console.

Geminias 07-28-2007 04:55 PM

Thanks, but are you sure I gotta manually do that? There isn't a command to make it resync or something?

syg00 07-28-2007 05:02 PM

Yes you have to do it manually.
*AND* you have to rerun setup to rebuild the MBR code to get it to point to the correct partition.
As of yet,it hasn't even found the menu.lst - it's complaining about your attempt to boot the extended partition.

Geminias 07-28-2007 08:33 PM

Alright mates... I feel kinda stupid but nevertheless I gotta ask...

What do I change in my fstab and menu.lst? I am unsure of how to determine which partition comes AFTER the one deleted...

I already submitted my menu.lst, but here is my fstab (its very confusing...)
Code:

# /etc/fstab: static file system information.
#
# <file system> <mount point>  <type>  <options>      <dump>  <pass>
proc            /proc          proc    defaults        0      0
# /dev/sda3
UUID=b2e49a99-8664-4af8-b741-ca2208dde761 /              ext3    defaults,errors=remount-ro 0      1
# /dev/sda1
UUID=7C5085E968AC80CE /media/sda1    ntfs    defaults,nls=utf8,umask=007,gid=46 0      1
# /dev/sda2
UUID=2C88743C8874071C /media/sda2    ntfs    defaults,nls=utf8,umask=007,gid=46 0      1
# /dev/sda5
UUID=b370ec8b-1e5c-455e-a923-22030c5adb7a none            swap    sw              0      0
/dev/scd0      /media/cdrom0  udf,iso9660 user,noauto    0      0

Oh, and I gotta have this fixed in 2 hours or I'm a goner. thanks!

bigrigdriver 07-28-2007 08:54 PM

Based on the output of 'fdisk -l (Current)', the edits should be:

menu.lst

All Ubuntu entries, change (hd0,2) to (hd0,1) to agree with '/dev/sda2 12549 23149 85152532+ 83 Linux' from the fdisk output.

At the bottom of menu.lst, delete or comment out this Windows entry; it no longer exists per fdisk:

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda2
title Windows Vista/Longhorn (loader)
root (hd0,1)
savedefault
makeactive
chainloader +1

/etc/fstab

change this:
# /dev/sda3
UUID=b2e49a99-8664-4af8-b741-ca2208dde761 / ext3 defaults,errors=remount-ro 0 1
# /dev/sda1
UUID=7C5085E968AC80CE /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sda2
UUID=2C88743C8874071C /media/sda2 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sda5
UUID=b370ec8b-1e5c-455e-a923-22030c5adb7a none swap sw 0 0

to this:
# /dev/sda2
UUID=b2e49a99-8664-4af8-b741-ca2208dde761 / ext3 defaults,errors=remount-ro 0 1
# /dev/sda1
UUID=7C5085E968AC80CE /media/sda1 ntfs defaults,nls=utf8,umask=007,gid=46 0 1
# /dev/sda5
UUID=b370ec8b-1e5c-455e-a923-22030c5adb7a none swap sw 0 0

to match device designations in fdisk output.

It should not be necessary to run grub-install again. Getting the device numbers straight in menu.lst and fstab tells grub where to find the rest of itself to boot Linux, or hand off the boot process to Windows.

syg00 07-28-2007 09:08 PM

bigrigdriver has the right idea, but some updates:
- For Vista, change "root (hd0,1)" to "root (hd0,0)" - should work o.k.
- don't worry about fstab for now; UUID is really useful in situations like this. Update the comments later if you want.

All this won't fix the error 17 - for that you'll need to update the loader code. Should be do-able from the grub prompt you get.

Geminias 07-28-2007 09:19 PM

I followed those directions, but still getting same error. If I should try grub-install, how do I do it?

Edit: didn't see syg00's reply. In response to him, I'm not getting a grub prompt :(

I'm booting a ubuntu live cd then i go to terminal and mount the linux partition, then i chroot to it and run grub, then i do: setup (hd0) and it says error. Or if i do find /boot/grub/stage1. it gives error.

What should i do?

Code:

  Device Boot      Start        End      Blocks  Id  System
/dev/sda1  *          1      12548  100784372    7  HPFS/NTFS
/dev/sda2          12549      23149    85152532+  83  Linux
/dev/sda3          23150      23271      979965    5  Extended
/dev/sda5          23150      23271      979933+  82  Linux swap / Solaris
root@ubuntu:/home/ubuntu# mkdir /mnt/linux
root@ubuntu:/home/ubuntu# mount /dev/sda2 /mnt/linux
root@ubuntu:/home/ubuntu# chroot /mnt/linux
root@ubuntu:/# grub
grub> setup (hd0)

Error 12: Invalid device requested
grub> find /boot/grub/stage1

Error 15: File not found
grub> quit
root@ubuntu:/# grub-install --force-lba /dev/sda
/dev/sda: Not found or not a block device.


syg00 07-28-2007 10:17 PM

Try "find /grub/stage1" - should give you (hd0,1). As per bigrigdriver's post above, this is what you need for (grub) root. Then (from your grub prompt) enter
Code:

root (hd0,1)
setup (hd0)
boot



All times are GMT -5. The time now is 01:25 AM.