[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#709843: Partition PBR must always have an OS bootloader (grub)



On 2013-05-27 19:15, Lennart Sorensen wrote :
On Sun, May 26, 2013 at 12:35:33AM +0200, André Pirard wrote:
Package: debian-installer

Short, practical, typical story: Mr X followed good advices.
- He installed the so nice and easy to understand GAG multi-boot
- He installed the so nice Debian system or derivative
He followed the "normal", by default installation options and Debian
wiped out GAG.
He reinstalled GAG but he could not configure it to boot Debian.
He found dozens and dozens of even worse horror stories: many people had
lost access to their running Debian system after many hours of service.

Conclusion #1 :  a partition containing a Debian (or any) system MUST
ALWAYS contain an OS bootloader (Grub) activated by loading the PBR even
if (in addition to) another means to boot Debian is initially used, so that:
- Debian booting can be restored by normal booting methods and tools
- Debian can continue to boot if the partition is copied (to another drive)
- etc.
Not all filesystems allow that.

What filesystems don't? (1)
#1 is an IBM PC specification for a partition to be bootable.
Do you mean that because some systems (if any) "don't allow that", the majority (if not all) that allow it shouldn't use that obviously very interesting method?
Of course you are allowed to create a dedicated partition for the bootloader, mount it as /boot/grub and flag it bootable and install grub there.
Are you saying that the Debian installer is only for geeks?
Of course UEFI systems booted in UEFI mode would already use a dedicated boot partition for the boot loaders.
You're saying it:  UEFI does not allow an OS boot loader on a global MBR but only on private partition space, be it a PBR or another specification.
Conclusion #2: installing the Grub OS bootloader on the MBR is a bad
idea: one cannot have each kind of systems on a disk install its own
different OS bootloader on the same MBR and erase the others.
If multi-boot or booting a logical partition is needed, an independent,
graphical and easy to use program like GAG is ideal.
The Debian liveCD should have an option to install one or repair it (in
start menu or during installation).
The only hindrance of GAG is that is must be configured by moving icons
to its main window before working.
It would be much easier if the main window were pre-populated with all
icons for every partitions, with options to modify an icon, erase it,
reorder it or move it aside (test boot, reset PC, configure and save
what has just been tested, loop)
For most users it is the best place for a boot loader.
Certainly not.
The web is full of horror stories of crashed systems being repaired with the method I describe.
Most OSs you can install do this.  Windows just does it.
(1) Are you saying that if you install DOS, Windows, OS/2 and BSD each will write their own MBR ?????
Certainly not.  DOS, OS/2 and Windows all use an OS loader within their partition and they work with a standard MBR record.  What do you think their FIXMBR command is doing and why it's called FIX?
OpenBSD too and FYI they wrote a clear explanation of the boot process that's both standard and theirs:
http://www.openbsd.org/faq/faq14.html#Boot386

Only Linux is preferred by Linuxians not to be bootable the normal way and to crash when the others do what's prescribed.

Debian asks if you want to install to the MBR.

I think I explained that Debian install erased GAG in the MBR without any warning.

In fact, what I'm saying has been written in many Web pages by persons fed up with helping others to repair time bombed Linux systems and transform them to rock solid systems the way I say.
The most amazing is that I can no longer find the page that explained that on doc.ubuntu-fr.org.
And that if you read carefully http://ubuntuguide.org/wiki/Multiple_OS_Installation, they speak of an option to install Grub on both MBR and PBR.
Whatever the contents you choose for the MBR, the PBR should not be left empty but should be filled with a bootloader.


Reply to: