On Thu, Nov 3, 2011 at 11:55 AM, Marko Vojinovic <vvma...@gmail.com> wrote:

This is how bootloading works... First, there is bios, which is programmed
> to
> look for and execute the boot code in the MBR, and it does so at some
> point.
> The "look for and execute" means that bios needs to access the MBR of the
> disk, read it into RAM memory, analyze whether the data contained there is
> executable, and if it is to point the processor to execute it.
>
> The "program" that gets executed like that is called the stage 1
> bootloader,
> and it is very very small (like 512 bytes or so), since the MBR doesn't
> have
> more space available. What this program does is to tell the bios to access
> some physical part of the hard disk, load it into memory and execute it.
> The
> bios knows nothing about partitions and filesystems, so it cannot be just
> pointed to "beginning of the partition /dev/sda6", but rather it must be
> given
> "physical" address of the place where it should look for data. This is
> explained in more detail in
>
>   http://en.wikipedia.org/wiki/Logical_block_addressing
>
> The stage 1 bootloader has the LBA address of the beginning of the
> /dev/sda6
> partition, the LBA address of the end of the data to be read in, and the
> code
> to instruct the bios to go there, read that much data into memory, and
> execute
> it. If the bios is not designed to access the LBA address that far on the
> disk, it will fail and the machine won't boot. If it can, it goes there,
> reads
> the data into memory, and executes it.
>
> This data is called the stage 2 bootloader. It is a larger and more
> complicated program. It understands filesystems, it has a configuration
> file (in
> Fedora it is the /boot/grub/grub.conf file, feel free to take a look), it
> can
> interact with a user and offer various choices for the OS to boot. Once the
> bios loads it into memory and executes it, the stage 2 bootloader reads up
> its
> configuration file, on the /dev/sda6 partition. If the file isn't there,
> the boot
> fails (so the Ubuntu bootloader won't work if you deleted the Ubuntu system
> partition). Once the configuration is processed, the user is presented with
> options to load various OS's. Once the user makes a choice, the bootloader
> will do whatever is specified for that OS in the config file. Typically,
> it will
> load the kernel file (/boot/vmlinuz-something) into memory, and execute
> it. It
> doesn't need the bios for this anymore, since it knows how to access the
> disk
> itself.
>
> Another typical situation is to not load a kernel, but instead read some
> other
> stage 2 bootloader that resides on, say, /dev/sda1, and let that take over
> and
> repeat the whole thing for another OS. This is called chainloading, and
> that
> is how Windows gets booted from the Linux bootloader.
>
> At any rate, eventually some kernel gets loaded into memory, and the
> bootloader instructs the processor to execute that. And that's where the
> *real* fun begins... ;-) But that's another story,,, :-)
>
> > > Of course, once the OS gets booted,
> >
> > from which location?
>
> In Linux, the kernel is typically a file called vmlinuz-<something>, and it
> resides in the /boot directory of the filesystem tree. This directory can
> be
> basically anywhere --- on its own partition, on the / partition, on some
> other
> disk, etc...  The stage 2 bootloader just needs to know where to look for
> it.
>
> In Windows, the kernel is (IIRC) the file C:\Windows\ntoskrnl.exe, or
> something
> like that. The stage 2 bootloader of Windows knows where and how to find
> it.
> The Windows' stage 2 bootloader gets loaded into memory and gets executed
> by
> the Linux stage 2 bootloader, if you choose to boot Windows when asked (the
> chainloading process).
>
> In other OS's the kernel file may be called whatever and be situated
> whereever,
> depending on the OS. ;-)
>
> > SUSE would automatically delete the MBR (which right now points to
> Ubuntu)
> > and would set the other defaults.....in it?
>
> Yes, SuSE would wipe and rework the MBR so that it contains the stage 1
> bootloader that points to SuSE's new stage 2 bootloader, instead of the old
> Ubuntu's stage 2 bootloader (which was deleted during SuSE installation).
> Otherwise the transition from stage 1 to stage 2 in the boot sequence above
> would be broken.
>


> Yes. The above explanation should give you a clear idea what would happen
> if
> you leave Ubuntu stage 1 loader in MBR, and delete the stage 2 loader
> (along
> with the rest of the Ubuntu installation).
>
> Nothing is permanent, of course, it would just be a hassle to fix. Neither
> Windows nor Linux would boot, and you would need to boot from the
> installation
> DVD or something called the "Rescue CD", and use the rescue environment to
> reinstall both stages of the Linux bootloader (or reinstall Linux
> completely).
> You would need to know how to use the rescue environment and how to
> reconfigure
> the GRUB (the Linux bootloader) so that it loads everything correctly. This
> requires reading the documentation, which is on the Internet and you can
> have
> a hard time accessing it, since your computer doesn't boot...
>
> It happened to me once, back in the day --- I had to go to a nearby
> Internet
> caffe to read the docs, pay them to print me the details, go back home
> only to
> find out that I was reading the docs for the wrong version of the
> software, so
> I had to visit the Internet caffe once more, pay again for the printing of
> new
> docs, and then go home and fix it. I wasted a whole afternoon, realizing
> in the
> end that it is a Good Idea to learn about these things *before* I make a
> mess... ;-)
>

Ah, thanks, it is pretty nice explanation and I would definitely read the
docs - not only for rescue but also other details you pointed, the matter
is only of time... I would do that.

-- 
THX
-- 
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines

Reply via email to