The thing is that I can't remember anymore what caused or how to fix it. I could do with a bit of help. :-)
I realised/remembered that its the MBR code which searches for a specific OS file, and than loads & starts it.
I realised/remembered that its the MBR code which searches for a
specific OS file, and than loads & starts it.
A quick "fdisk /mbr" (started from the CD) was all that was needed.
Actually, it's the partition boot sector (PBR) that finds and loads
OS specific boot file. i.e.
As long as boot manager isn't involved, that is.
Eh ... I don't quite agree with that. (More below.)
Why do I have to install the Linux boot loader in the MBR?
It seems as if the boot code in the /Master/ Boot Record searches the partition table to identify thee /active/ partition and then starts the /Volume/ Boot Record therefrom.
So ... I busted out a VM and installed Linux, set the partition active,
and installed LILO to the partition instead of the MBR. Sure enough --
true to my decades of experience -- the VM wouldn't boot.
Then I (re)booted a MS-DOS disk and ran "fdisk /mbr" without changing anything else. And lo the system booted perfectly fine.
It seems as if the boot code in the /Master/ Boot Record searches the partition table to identify thee /active/ partition and then starts the /Volume/ Boot Record therefrom.
Also, thank you for prompting me to finally spend some time answering the mildly nagging question that I've been ignoring for decades.
I guess that it didn't want to play nice with something as old as DOS.
Grant,
And you're quite right in that. As JJ made clear to me, I (somehow)
threw the MBR and VBR steps together.
As far as I can tell, you don't. But as long as all your OSes are
put into primary partitions there simply is no space elsewhere.
That makes me think that I've never tried to make a logical drive in
a secondary partition bootable ...
..... Thats not quite true. I once did put several DOS versions into logical volumes in an extended partition, but could not successfully
boot those DOS volumes, because the OS itself expected to be in the
first, primary partition. Bummer.
Almost. It as easily could load the first sector of an extended
partition (which behaves as another MBR). Which than ofcourse goes
nowhere (no "active partition" flag set) and the machine simply fails
to boot.
Hmmm... that sounds mighty strange. You didn't touch the MBR when installing LILO, but rewriting it afterwards (while not removing LILO)
made the problems go away ?
Thats odd.
Almost as if it would not have booted /before/ installing LILO
either ...
Did you still have LILO pop up afterwards ?
Or was it gone ?
If so, how ?
It does when everything works and is configured correctly / as
expected.
But again, moving that "active" flag to another record ...
isn't difficult - especially not under DOS.
... (even if it /doesn't/ point to a primary partitions VBR) ...
I'm not at all sure which question that was, but you're welcome. :-)
PBR - /Logical/ Partition's Boot Record
I believe I saw Partition Boot Record (PBR) used elsewhere in the thread
and simply followed suit.
I've been using the following nomenclature.
/Primary/ Partition - any partition that can be normal PC-BIOS MBR
partition table.
/Extended/ Partition - a /special/ primary partition in that it can
contain one or more logical partitions.
/Logical/ Partition - a partition that lives inside the extended
partition.
Huh? /Ofcourse/ there is. And I have no idea how you, in regard to
the above quote, came up with that.
Your choice of words; "...install a partition /manager/ at the
location...".
That implies to me that you're talking about something that doesn't manage partitions -> partitioning. Given the overall context of this thread, you are /probably/ referring to a boot manager as in something that picks what to boot. (Supported by your "Yes, I did." statement.)
Doing a little bit of research, here's my current understanding.
BIOS -> MBR -> VBR -> OS
-or-
BIOS -> MBR -> EBR -> OS
-or-
BIOS -> MBR -> EBR -> EBR -> OS
-or-
...chain as many EBRs as desired.
BIOS -> MBR -> VBR -> OS
-or-
BIOS -> MBR -> EBR -> VBR -> OS
Each PBR in that chain would, next to some "boot code", either have the
next Extended Partition flagged as "bootable", or its contained Logical
Volume / Logical Drive.
I'm not 100% sure how the active status would work.
I /think/ it the BIOS -> MBR -> EBR -> EBR -> OS scenario would play out like this:
1) BIOS loads MBR boot code.
2) MBR boot code loads the 1st EBR boot code.
3) 1st EBR boot code loads the 2nd EBR boot code.
4) 2nd EBR boot code loads the OS.
I'm about 99% certain that I've accessed multiple primary partitions from MS-DOS. So I am not okay with making the assumption that the second partition will be an extended partition.
The picture gets a bit different when talking about Linux, where the
second entry in the MBR normally points to the OS partition.
That is a dangerous assumption. It is also heavily date dependent.
Have fun with referring to the secondary, primary partition. :-)
/dev/hda2
Assuming /dev/hda.
The first partition on the drive could be the 4th primary partition.
I vote "not used anymore".
Does that happen in MBR style partitioned drives? Or does that jump into GPT style partitioned drives?
And thats ignoring the Extended Partition. It can have a secondary,
tertiary, etc. chain of Extended Partitions inside it.
The chain of EBRs is actually quite easy to follow and number.
In that case I hope you only install LILO into a single VBR ... Do it for >> two and the last one might overwrite the info of the first.
Why? I can install different instances of LILO in different VBRs and
choose which one is booted based on the active flag.
Grub wants / needs more space than is unused in the first track.
I'm doing another test that's going to take a while.-a I'll reply with
the results later.
I installed LILO as the /Volume/ Boot Record inside of each /partition/ (/volume/).
Then I used "fdisk /mbr" to add boot code to the /Master/ Boot Record.
The MS-DOS boot code in the /MBR/ looked for the active partition
(volume) and chain loaded the /VBR/ -> LILO.
To make sure that I wasn't confusing things, I added a unique message to each of the partition's LILO so that I could differentiate them from
each other.
Sure enough, I have /four/ different and unique instances of LILO installed.-a One in each /V/BR.
Because of who I am and the type of person that I am, I kept ... messing.
What can I say. 20 years of "/Primary/ partition" ... "/Extended/ partition" ... "/Logical/ ..." and I didn't see the forest for the trees.
Sorry about that.
To me, the extended partition is the entry defined in one of the primary partition slots in the MBR partition table.
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 65 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 01:43:25 |
| Calls: | 862 |
| Files: | 1,311 |
| D/L today: |
10 files (20,373K bytes) |
| Messages: | 264,188 |