Grub/MBR/Dual Booting Issues
I had a machine that was dual booting XP and Fedora 4 just fine with grub. I decided to do a clean install of Suse 10 over Fedora b/c I didn't want the issues I was having w/ Fedora to follow.
Like a moron I deleted the linux partitions in XP with Partition Magic. I installed Suse fine, but now I can't boot up. I was getting the grub command line, but now it doesn't get that far (it says 'Error 18' I think). I've been messing with it and making it worse. The machine has 2 hard drives, a 40 gb drive and 'secondary' 250 gb drive. I think I installed suse on the 250 gb once. Below is the output from fdisk -l and my fstab. fdisk -l Disk /dev/hda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 2 30401 244188000 f W95 Ext'd (LBA) /dev/hda5 2 19762 158730201 7 HPFS/NTFS /dev/hda6 19763 19891 1036161 82 Linux swap / Solaris /dev/hda7 19892 30401 84421543+ 83 Linux Disk /dev/hdb: 40.0 GB, 40037760000 bytes 255 heads, 63 sectors/track, 4867 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hdb1 3825 3830 48195 f W95 Ext'd (LBA) /dev/hdb2 * 1 3824 30716248+ 7 HPFS/NTFS /dev/hdb5 3825 3830 48163+ b W95 FAT32 Partition table entries are not in disk order Disk /dev/sda: 131 MB, 131072000 bytes 32 heads, 32 sectors/track, 250 cylinders Units = cylinders of 1024 * 512 = 524288 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 250 127984 6 FAT16 Partition 1 has different physical/logical endings: phys=(250, 31, 32) logical=(249, 31, 32) fstab /dev/hda7 / reiserfs acl,user_xattr 1 1 /dev/hdb2 /windows/C ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0 /dev/hda5 /windows/D ntfs ro,users,gid=users,umask=0002,nls=utf8 0 0 /dev/hdb5 /windows/E vfat users,gid=users,umask=0002,utf8=true 0 0 /dev/hda6 swap swap defaults 0 0 proc /proc proc defaults 0 0 sysfs /sys sysfs noauto 0 0 usbfs /proc/bus/usb usbfs noauto 0 0 devpts /dev/pts devpts mode=0620,gid=5 0 0 /dev/cdrecorder /media/cdrecorder subfs noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0 /dev/dvd /media/dvd subfs noauto,fs=cdfss,ro,procuid,nosuid,nodev,exec,iocharset=utf8 0 0 /dev/fd0 /media/floppy subfs noauto,fs=floppyfss,procuid,nodev,nosuid,sync 0 0 none /subdomain subdomainfs noauto 0 0 I can boot the installed suse with the installation disk and I can see all the data on the windows partitions. Any help would be MUCH appreciated. Brendan |
You need to list Suse's
/boot/grub/menu.lst here too |
Thanks for the reply. Here's the menu.lst.
Can I just modify this to match what's on my system? Of course, I have to get grub working in the first place. Again, I appreciate any help very much. grub/menu.lst # Modified by YaST2. Last modification on Thu Nov 10 00:02:29 EST 2005 color white/blue black/light-gray default 0 timeout 8 gfxmenu (hd0,6)/boot/message ###Don't change this comment - YaST2 identifier: Original name: linux### title SUSE LINUX 10.0 root (hd0,6) kernel /boot/vmlinuz root=/dev/hda7 vga=0x31a selinux=0 resume=/dev/hda6 splash=silent showopts initrd /boot/initrd ###Don't change this comment - YaST2 identifier: Original name: windows### title Windows chainloader (hd1,1)+1 ###Don't change this comment - YaST2 identifier: Original name: floppy### title Floppy chainloader (fd0)+1 ###Don't change this comment - YaST2 identifier: Original name: failsafe### title Failsafe -- SUSE LINUX 10.0 root (hd0,6) kernel /boot/vmlinuz root=/dev/hda7 vga=normal showopts ide=nodma apm=off acpi=off noresume selinux=0 nosmp noapic maxcpus=0 edd=off 3 initrd /boot/initrd ###Don't change this comment - YaST2 identifier: Original name: 2.6.13-15-default### title 2.6.13-15-default root (hd0,6) kernel /boot/vmlinuz-2.6.13-15-default root=/dev/hda7 vga=0x31a selinux=0 resume=/dev/hda6 splash=silent showopts initrd /boot/initrd-2.6.13-15-default |
I couldn't find an obvious fault in Grub's boot menu.lst
Error 18 is "selected clinder exceeds maximum supported by the BIOS" You also made a statement hinting the 250Gb as the "secondary" but the partitiion table indicates that it is hooked as the master to your first IDE cable (because it has hda designation). If you have re-arranged the booting order, say asking BIOS to boot the 40Gb then Grub will to try to find (hd0,6), which is hda7 as Grub counts from 0, from the 40Gb disk and the Error 18 will be justisfied. Since you can get into Suse why not log in as root and run Grub in terminal mode to check the disk order. Just type grub geometry (hd0) will list out all the partitions of the first disk as handed over from the BIOS and this will confirm which one is the 1st bootable disk. In Grub shell, with a Linux already running you can't boot another system. However many command can be executed including Root (hd0,6) To see if Grub really reports an error 18 |
OK, I tried what you suggested, but I'm still getting the Error 18 message
|
here is the outputs from the grub geometry command
hd0 drive 0x80: C/H/S = 30401/255/63, The number of sectors = 488397168, /dev/hda Partition num: 4, Filesystem type unknown, partition type 0x7 Partition num: 5, Filesystem type unknown, partition type 0x82 Partition num: 6, Filesystem type is reiserfs, partition type 0x83 hd1 drive 0x81: C/H/S = 65535/16/63, The number of sectors = 78198750, /dev/hdb Partition num: 1, Filesystem type unknown, partition type 0x7 Partition num: 4, Filesystem type is fat, partition type 0xb |
here "are" the outputs....
|
OK I think I found the problem but have no cure.
Your first disk appears satisfactory Disk /dev/hda: 250.0 GB, 250059350016 bytes 255 heads, 63 sectors/track, 30401 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes which match up with Grub's report of hd0 drive 0x80: C/H/S = 30401/255/63, The number of sectors = 488397168, /dev/hda The second disk shows up disagreement Disk /dev/hdb: 40.0 GB, 40037760000 bytes 255 heads, 63 sectors/track, 4867 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes has 4867 cylinders, 255 heads and 63 sectors but Grub reports hd1 drive 0x81: C/H/S = 65535/16/63, The number of sectors = 78198750, /dev/hdb 65535 cylinders with 16 heads and 63 sectors. I have no idea how it was caused but you might consider removing the second disk while trying to boot the Suse 10 in 250Gb disk. I am aware of Fedora has caused this type of the geometry error in the hard disk before when a user did not employ LBA mode of addressing prior to installing Fedora. You should isolate this problem which may be the left-over from the Fedora. The content of the second disk should be recoverable so don't do anything stupid with it, just disconnect it temporarily. |
If I isolated it, what could be done to fix it?
|
If I were to face this problem then I will get every system of the good single disk in working order first, with the dodgy disk removed.
Then I would make a Grub floppy unattached to an operating system so that it will have no need to call up or check the dodgy disk. I then will restore the connection of the dodgy disk and boot to Grub prompt (unattached to a system). To avoid problem I would boot up XP and use XP to check the dodgy disk. I shall avoid writing anything on it to upset its current state. If the data is salvageable I will move everything to the good disk. After I check that I have got all my data then I delete everything in the dodgy disk and start a new life with it in Linux. I shall check the number of heads regularly to ensure it is 255. ---------------------------------- If I meet difficulty with the dodgy disk I will use the BIOS to arrange the disk to read/write with the cylinder/head/sector as recorded by Grub in this thread. Linux can be used to re-arrange the cylinder/head/sector but I don't have a history of what was before and so I would stick with Windows only environment, as the partitions involved are non-Linux. |
OK, I'll give that all a shot and report back.
|
F*ck, F*ck, F*ck
I opened the box and unplugged the HD. Turn on the power and the fans spin once and I get a little chirp out of the power supply. I guess I shorted it or something. FVCK ME! |
GRUB and LILO always conflict with Windows. And GNU GRUB is not so robust, causing many problems during boot.
So try GRUB for DOS please. It is a cross-platform boot loader based on GNU GRUB. The GRUB.EXE can be started from DOS/Win9x; and GRLDR can be started from BOOT.INI of Windows NT/2K/XP/2003; and even more, the GRUB.EXE can be started from LINUX via the KEXEC tool. By using GRUB.EXE or GRLDR, you don't have to touch your MBR. It is the safest way coexisting with DOS/Windows. You needn't install GRUB for DOS. Just run GRUB.EXE from DOS, or append a line of "C:\GRLDR=START GRUB" into your BOOT.INI(restart and select the "START GRUB" menu item), that will do. Download GRUB for DOS here: http://freshmeat.net/projects/grub4dos/ There is a fat12grldr.img file with the GRUB for DOS release. You can create a GRUB bootable floppy with this fat12grldr.img file. Or, you can just copy GRUB.EXE to your DOS floppy and run GRUB.EXE to enter the GRUB environment. |
All times are GMT -5. The time now is 08:49 AM. |