Okay, you're probably right,
I'll do the resumee here... Thanks for your great help JZL240I-U!
Here we go: As keywords for the search utility I'd write these:
It all goes about
dial-boot of the OSes
Windows XP or Windows 2000 and
SuSE Linux 9.0. For the Linux distro I guess I could be any other distro using
GRUB or LILO as
bootloader. The major cornerstone is that, the one
may not use
YaST2 to configure the dual-boot settings, but rahter than to do the job alone himself, by hand. Automate
instalation and setup from, say the bootloader, is one of the weak points in the YaST2 application.
The Problem into wich I ran a week ago:
I've had an old dual-boot configuration WinXp + SuSE 7.3 placed on one 40 GB disk. I decided to install SuSE 9.0 instead of the old one, but using another physical disk. The old one should remain as whole for a new Windows installation. Okay, no sooner said than done, I installed the new SuSE on the hdb disk choosing as bootloader from the setup menu the LILO one and telling him to boot from the hdb2 partition. The hdb disk was separated in these partitions:
- hdb1 - 1 GB for the swap
- hdb2 - 40 GB for the /
- hdb3 - 117,8 GB extended partition
- hdb5 - 55 GB for the /usr/extended
Well, I've done a reboot but I saw one scree full of "L01 01 01 01 01..." and the machine freezed. The same configiration (boot at partition hdb2) also failed with GRUB, I saw the word "GRUB " on the screen and the machine freezed again. The I tried to install the bootloader to boot from the MBR of hdb - for no avail again. The system was not bootable.
Remark:
First of all I'd mention that the second physical disk (HDD-1 or hdb in Linux) was not proper auto-activated from my BIOS. This means it was there, and the YaST2 setup utility has knowledge of him, the disk geometry was also correct recognized, just booting from this disk was not possible because of improper configuration in BIOS.
So, for informational puproses only - the one should make sure, the disks are activated from the BIOS (the best option is the Device Activation/Recognition option to be set to "Auto" instead of "Disabled").
Although I set the auto-activation, the bootloader still not work, so the true problem was elsewhere.
The solution:
After successful installation of the SuSE system, the YaST2 application asks to reboot for first time in order to complete the instalation. The one should do this as follows.
Step #1
Still set the primary boot device as CDROM (if the BIOS is too old to enable booting from CDROM, then a boot diskette should be used. How to do such diskette is far beyod the scope of this thread.), boot from the Setup CD/DVD or boot from the CD made from the boot.iso image.
Step #2
In the Setup Menu choose Install/Update, then choose Repair Existing Installation, then specify the path to the distribution (the path where the distribution files reside, used by the installation). Boot into the
Rescue: console by giving as user name the name
root. No ask for password will occur.
Step #3
Mount the root partition of the new installation in the /mnt directory using the following command stroke:
mount -t auto -o rw /dev/XdY# /mnt
Substitute the letters X, Y and the number # with whatever letters and number, appropriate for the actual disk. For example if the installation was made on disk
hda (primary IDE channel, master device, in BIOS this is HDD-0), root partition is in hda2 then this command stroke should look like
mount -t auto -o rw /dev/hda2 /mnt
For the second disk (HDD-1, primary channel, slave device), named hdb, root partition is in hdb3, it looks like this one
mount -t auto -o rw /dev/hdb3 /mnt
Step #4
The bootloader configuration file should be changed appropriate. For LILO this file is /mnt/boot/lilo.conf and for GRUB it is /mnt/boot/grub/menu.lst
menu.lst must contain at least one section with parameters like these
title Linux
root (hdN,M)
kernel (hd#,n)/boot/vmlinuz root=/dev/XdY#
initrd (hd#,n)/boot/initrd
See above for the meaning of the letters X and Y and for the number #. The number N means the
first drive in the
BIOS boot sequence and is not relevant to the device order inside the computer. This means if the machine has one single disk, then N = 0 (hd0), if the machine has two disks, then N = 0 for the disk said as primary bootable device in the BIOS boot sequence.
One example:
BIOS boot sequence is: IDE HDD-1, IDE HDD-2, Floppy
Linux will use these disks as: hdb, hda, fd0
Let say, hda3 is root partition for some distro (distro1), and hdb2 is root partition for another distro (distro2).
Then GRUB references the root partiton on the
first boot device (HDD-1 --> hdb --> 2nd partition = hdb2) as
root (hd0,1) Also, GRUB will start the distro2 with this reference.
For distro1 the root reference should look like this one:
second boot device (HDD-0 --> hda --> 3d partiton = hda3 as
root (hd1,2)
The number M stands for the MINOR (the partition number, starting from 0 for the first one) of a disk. See the example above for explanation.
Note! Since doing this, the first boot device is the CDROM, we've booted into the rescue console, the one should think as if the BIOS boot sequence were without CDROM - imaginating wich disk were at first place, wich one at second place and so on.
Step #5
Install the GRUB bootloader issuing this command stroke
grub-install --force-lba --root-directory=/mnt /dev/XdY
The letters X and Y have exactly the same meaning as explained above. For example if the bootloader should be installed to boot from the hdb, the command stroke shouold look like this
grub-install --force-lba --root-directory=/mnt /dev/hdb
For GRUB hdb will be hd0, hda will be hd1 and so on.
Step #6
Reboot and from BIOS set the boot sequence as desired. GRUB should now display its boot menu and the Linux label should boot directly in the installed distro. Congrats!
lilo.conf I'm really sorry, but currently this branch of the configuration isn't completely tested and thus I can't post it as working solution. I must
in order to track down the different steps. Afterthat I'll post it here.
That's all folks.
One more
Note: Should here be posted something, in your opinion, wrong, not correct or not working, please excuse me - post your comments, corrections and recomendations. After all I'm still a Linux
In hope, this could be helpful to the other Linux users.
Kind regards,
sbogus