PDA

View Full Version : Trying to restore Grub boot loader using chroot



fossiili
01-06-2007, 11:12 AM
In the book by Kyle Rankin: Knoppix - Pocket Reference on page 38 there is described how I could get my system starting by using the grub-configuration of Suse 10.2 installed earlyer and erroneously overwritten. However, I can not do that while running Knoppix 5.1:

First succesfully

knoppix@1[knoppix]$ sudo chroot /mnt/hdb3 grub-install /dev/hdb

But then

knoppix@1[knoppix]$ sudo chroot /mnt/hdb3 grub-install /dev/hdb
/dev/hdb: Not found or not a block device.
knoppix@1[knoppix]$ ls /dev/hdb
/dev/hdb
knoppix@1[knoppix]$

What is wrong :shock:

I have beem able to copy the /boot/grub/menu.lst for ex. to a floppy but can not put it into the right place although I try all of the shell command I know :cry:

kirol
01-06-2007, 12:58 PM
What do you mean by "1st successfully", then...what? I don't see any difference between your two command lines.
Do you mean it worked once, then failed on later invocations?

Anyway, hdb would be the primary slave IDE disk, is this really the one you're trying to boot from?
If so, assumming /dev/hdb3 is mounted on /mnt/hdb3 (recent versions of knoppix would rather use /media/hdb3, btw)
then, from a root console (say <Alt><F1> from the live CD), try

# grub-install --root-directory /mnt/hdb3 /dev/hdb
this will re-install the grub modules to /mnt/hdb3/boot/grub, and install grub in the MBR of hdb

fossiili
01-06-2007, 01:39 PM
What do you mean by "1st successfully"
Sorry, I have to translate my thoughts from Finnish to English and the result is ... :oops:
This is what happened:

knoppix@1[knoppix]$ sudo chroot /mnt/hdb3 grub-install /dev/hdb
knoppix@1[knoppix]$

In the Unix and Linux word, if the Shell does not protest, everything is O.K. (or not O.K.)

Thank you for your kind advice. I try to proceed :)

fossiili
01-06-2007, 08:22 PM
I am sorry but I became confused when trying to follow the advice in the "Knoppix Pocket Reference" by Kyle Rankin. The version of Knoppix I have is 5.1. Perhaps I should use an older like 5.0?
My problem is that I can not get Suse 10.2 to start. It's root directory (/) is on partition hdb3 and there are two other Linuxes on the same hdb, one of them starting. On hda I have WindowsXP and MBR is propably there.

All this is a bit difficult for me - sorry :shock:
The list hopefully tells what I was trying to do:



knoppix@1[knoppix]$ ls -l /mnt/hdb3
lrwxrwxrwx 1 root root 11 Jan 6 20:32 /mnt/hdb3 -> /media/hdb3
knoppix@1[knoppix]$ ls -l /media/hdb3
total 0
knoppix@1[knoppix]$ sudo mount -o /dev/hdb3 /mnt/hdb3
mount: wrong fs type, bad option, bad superblock on /dev/hdb3,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

knoppix@1[knoppix]$ sudo mount -o /media/hdb3 /mnt/hdb3
mount: wrong fs type, bad option, bad superblock on /dev/hdb3,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

knoppix@1[knoppix]$ sudo grub-install --root-directory /mnt/hdb3 /dev/hda
Unrecognized option `--root-directory'
Usage: grub-install [OPTION] install_device
Install GRUB on your drive.

-h, --help print this message and exit
-v, --version print the version information and exit
--root-directory=DIR install GRUB images under the directory DIR
instead of the root directory
--grub-shell=FILE use FILE as the grub shell
--no-floppy do not probe any floppy drive
--force-lba force GRUB to use LBA mode even for a buggy
BIOS
--recheck probe a device map even if it already exists

INSTALL_DEVICE can be a GRUB device name or a system device filename.

grub-install copies GRUB images into the DIR/boot directory specfied by
--root-directory, and uses the grub shell to install grub into the boot
sector.

Report bugs to <bug-grub@gnu.org>.
knoppix@1[knoppix]$

kirol
01-06-2007, 10:00 PM
knoppix@1[knoppix]$ sudo grub-install --root-directory /mnt/hdb3 /dev/hda
Unrecognized option `--root-directory'
Usage: grub-install [OPTION] install_device
Install GRUB on your drive.

-h, --help print this message and exit
-v, --version print the version information and exit
--root-directory=DIR install GRUB images under the directory DIR
instead of the root directory
--grub-shell=FILE use FILE as the grub shell
--no-floppy do not probe any floppy drive
--force-lba force GRUB to use LBA mode even for a buggy
BIOS
--recheck probe a device map even if it already exists

knoppix@1[knoppix]$
Sorry my bad - I wasn't under linux when replying, and should have double checked the grub syntax (I forgot the equal sign).
Try
# mount /media/hdb3Then
# grub-install --root-directory=/media/hdb3 /dev/hda

fossiili
01-07-2007, 08:23 AM
Thank you, now it seems to work :D
If not, I will report. What I did follows:

knoppix@1[knoppix]$ sudo mount /media/hdb3
knoppix@1[knoppix]$ sudo grub-install --root-directory=/media/hdb3 /dev/hda
Due to a bug in xfs_freeze, the following command might produce a segmentation
fault when /media/hdb3/boot/grub is not in an XFS filesystem. This error is harmless and
can be ignored.
xfs_freeze: specified file ["/media/hdb3/boot/grub"] is not on an XFS filesystem
Installation finished. No error reported.
This is the contents of the device map /media/hdb3/boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd1) /dev/hdb
(fd0) /dev/fd0
(hd2) /dev/sda
(hd0) /dev/hda
knoppix@1[knoppix]$