I am trying to install the i586 version of OpenSuSE onto a Dell Dimension 3000. And during the last phase of the install where it installs Grub I receive the message: An error occurred during boot loader installation. Retry boot loader configuration?
The hard drive has:
sad1 - Fat16 DOS7
sda2 - Extended
sda5 - NTFS Windows XP
sda6 - swap
sda7 btrfs
sda8 xfs
And in running gparted it says the partition table: msdos
This is my second attempt at installing Linux on this HD. In reading the help it was recommended to install grub on the root partition which I did.
However when I try and boot I get the selection to either boot dos or to boot Windows XP.
So, how can I get grub installed to where I get the selection of linux, DOS, or Windows XP?
Searched for solutions but didn’t find one. In the mean time I will keep searching…
I.e. grub2 cannot be installed after the MBR because there’s not enough space (your first partition probably begins at sector 63, as was the standard upto Windows XP), and the installer doesn’t support to install it to the btrfs root partition.
Workarounds:
Re-partition your hard disk from scratch using YaST, the MBR gap would be big enough then and it might also give better performance, but all data and existing operating systems will be lost of course
Use ext4 as root filesystem instead of btrfs
create a separate /boot partition (ext2) and install grub there
Or, maybe, you could shrink it only slightly, and move it to the right, so that it begins at sector 2048 instead of sector 63. You can probably do that with “gparted”. And then your installed opensuse should be able to be rescued by installing grub in the MBR.
Is this an EFI machine?? You can totally confuse things if you have both a MBR and a EFI install or at any time in the past tried that. I ask because a FAT is an indication that the drive may have been setup as an EFI boot at some time. Look into the FAT partition and see if it has EFI boot files.
With the partitioning shown in the first post, no it isn’t EFI. I think Dell stopped making the Dimension line before EFI machines were readily available.
I seldom look up hardware if people don’t take the time to give full specs. Like they think we know every brand and model
The fat partition looked specious and not know the size or looking up the specs of the model I thought I’d check it would match the problem. You should avoid mixing EFI and MBR on the same media. Yes it can be done on some but it just does not make sense and is bound to cause problems at some point
In that case not absolutely sure that openSUS will detect that.You should not need to reinstall. But you may have some hand editing to do. But first go to Yast -boot loader - boot loader options and be sure that the probe foreign OS box is ticked if it is untick and re tick to make an apparent change then accept (OK)
If it does not work then we will have to do a chain load and I’m not certain how to do that in Grub 2 you usually don’t need to. But DOS is so old it may simply not recognize it and need to be told explicitly where and what to boot
You should not need to reinstall. Let’s try to add a boot entry for your DOS.
You will need to edit a file as root. Th e file is in the directory “/etc/grub.d”
The name of the file is “40_custom”.
Add these 5 lines to the end of the file.
### entry to boot DOS 7 on "/dev/sda1"
menuentry "Boot DOS 7 on /dev/sda1" {
set root=(hd0,1)
chainloader +1
}
The first of those lines is just a comment, and does nothing.
After you have added those lines, run the command:
# grub2-mkconfig -o /boot/grub2/grub.cfg
That should regenerate the boot configuration, and incorporate the additional lines.
That should allow you to boot DOS.
I’m not sure about booting XP. I expect that when you boot DOS, you actually get a Windows boot menu allowing you to choose between DOS and XP. It will probably work for both. But you will have to test that to find out.
If it still does not work, then you will have to move grub2 to the MBR so that you can set the DOS partition to be active while still using grub2 to boot.
Considering it is a WinXP machine, I doubt that. Also, the info posted seems to indicate not.
BTW: A lot of the older WinXP installs actually had a DOS partition by default, strange considering it was supposed to be their first full abandonment of DOS.
Just to add:
You can also put those lines into /boot/grub2/custom.cfg if you like (create the file if it doesn’t exist), this gets loaded by grub.cfg on boot.
Or you can also put them into /boot/grub2/grub.cfg, between those lines:
### BEGIN /etc/grub.d/90_persistent ###### END /etc/grub.d/90_persistent ###
Things put there will be taken over when grub.cfg is recreated…
I never saw a DOS partition on a fresh Windows XP install, not even the first versions. Windows XP (the installation CD) doesn’t even contain DOS.
Of course everything is possible on a pre-installed system though… (the manufacturer/seller might have pre-installed both DOS and Windows XP)
What did you do exactly, step by step? Did you shrink some partition? Did you move some partition? If yes, which one(s)? Booting often depends on absolute disk address (in case if Windows as well) so any change in disk locations may cause problems.