Slackware 13.37 lilo, grub and my poor MBR
I've installed slackware at least 10 times now. Every time lilo comes up with a new problem and oh how random they are.
This time for example, I just restarted my computer from windows, doing nothing but browsing since boot-up. Then when I restart it says: "Lilo - keytable read/checksum error" right after bios.
How can I fix this or get rid of lilo all together?
I tried reinstalling slackware together with lilo, but that didn't change a thing.
I tried installing grub2 (20 of 25 passes failed) then grub 1, but that didn't work either.
I'm not sure what kind of information you need to help me, so please let me know.
Thanks in advance.
just now and it returned with:
Warning: LBA32 addressing assumed
Warning: Unable to determine video adapter in use in the present system.
Warning: The boot sector and map file are on different disks.
Warning: Video adapter does not support VESA BIOS extensions needed for display of 256 colors. Boot loader will fall back to TEXT only operation.
Added Windows *
4 warnings were issued.
upon restart the error remained.
This gives me some more insight, but how to resolve this is still a puzzle to me...
Man, what an adventure!
Screw all those errors. I know lilo is installed on either the superblock, mbr or floppy.
And I should be able to get into the operating systems without a bootloader, it's just easier using one.
So, since lilo overwrites the windows 7 MBR. I had to default it back.
Procedure to reset win 7 MBR for any windows 7 installation:
boot from win 7 rescue CD
check automatically for repairs first, then use the command prompt and type the following:
The MBR is now cleared and upon restart I got into windows 7, from which I'm writing this now,
bcdedit /export C:\BCD_Backup
attrib bcd -s -h -r
ren c:\boot\bcd bcd.old
ready to screw with my MBR again.
I still don't know how the superblock operates, but it seems not so important at the moment as everything is working.
Win7 has a boot loader "bootmgr" residing in its superblock, or the first 512 bytes of the residing partition. Putting it in the MBR is let it to control the booting.
MBR is the first 512 bytes of a "hard disk" and physically separated from any partition. If you like it is a common area usable by any operating system. Every partition starts from a cylinder in Linux but sda1 (or sdb1 or sdc1 etc) starts from the first cylinder less the first track (reserved for MBR which only uses the first sector) because of the MBR.
Here is part print of fdisk -l with "u" & "p" option to show the partition table in sector
The above shows my sda1 does not have the 62 sectors and this is the same in every hard disk using the MSDOS partition table.
root@saikee-desktop:/home/saikee# fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/sda: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x73696d20
Device Boot Start End Blocks Id System
/dev/sda1 * 63 112471064 56235501 c W95 FAT32 (LBA)
/dev/sda2 112471065 337413194 112471065 1c Hidden W95 FAT32 (LBA)
/dev/sda3 337413195 2930272064 1296429435 5 Extended
/dev/sda4 2930272065 3907024064 488376000 83 Linux
/dev/sda5 337413258 340642259 1614501 82 Linux swap / Solaris
/dev/sda6 340642323 453113324 56235501 7 HPFS/NTFS
/dev/sda7 453113388 565584389 56235501 7 HPFS/NTFS
/dev/sda8 565584453 678055454 56235501 7 HPFS/NTFS
/dev/sda9 678055518 790526519 56235501 7 HPFS/NTFS
/dev/sda10 790526583 902997584 56235501 7 HPFS/NTFS
/dev/sda11 902997648 959241149 28121751 83 Linux
/dev/sda12 959241213 1015484714 28121751 83 Linux
/dev/sda13 1015484778 1071728279 28121751 83 Linux
/dev/sda14 1071728343 1127971844 28121751 83 Linux
You Linux would have Lilo in the superblock too and the command I use is
if I want it control the MBR of the hard disk sda. For partition sda3 I just add "3" to the last command for Lilo replicating itself into the superblock of sda3 partition. A boot loader can reside in both MBR and the superblock of its own partition. More accurately the one in the MBR is hard coded with the hard disk address of the the boot loader address in the residing partition because the MBR is not big enough to hold a boot loader.
Every system must be booted by a boot loader. If the one in MBR is Lilo or Grub then it can boot all Linux systems "directly". But as a rule all operating system can be boot "indirectly" too which is exactly how Lilo boot a MS Windows. However Lilo can boot another Lilo or Grub "indirectly" by the boot loader in the MBR by just handing over the control to whichever superblock you speciify.
Therefore you can have Lilo, bootmgr (Win7), Grub1 or Grub2 to control the MBR as long as you have bootmgr in Win7 partition and Lilo/Grub in you Linux.
At the end of the day it boils down how much work in arranging it. The easiest is using Grub1.
Let us know your preference before more advice can be given. If you like you can try all 4. Post the root terminal output here of
so that we know where your systems are. If you can boot up the Linux use a Live CD in the mean time and let us know what distro you are using.
Last edited by saikee; 05-04-2012 at 06:10 AM.
Just keeping an eye on things.