LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Slack and XP boot (https://www.linuxquestions.org/questions/slackware-14/slack-and-xp-boot-510200/)

saikee 12-15-2006 03:43 PM

I don't want to shoot down MS's NTLDR boot loader (which I summarised as Task E4 in the last link of my signature) but between it, Lilo and Grub I wouldn't have thought it is fair without pointing to the following.

(1) In term of ability, NTLDR can boot 10 systems, Lilo's limit is 27 and Grub if has a limit it is well beyond 140 (I haven't found it out myself).

(2) Regarding the ease of usage NTLDR takes about 10 times the effort to produce 1/10 what Grub can achieve. Lilo is about in the middle and much closer to Grub than NTLDR.

(3) Windows can't (or won't) read a Linux partition. That is why it has to round up the first 512 bytes of every Linux boot loader for booting "inside" its root partition in order to pass control to. Both Lilo and Grub can "chainload" any system direct from the hard disk without a prior contact with the system it is to be booted. Grub is of course can read many filing systems and get inside their partitions to get the necessary files for booting.

(4) Grub can be installed "WITHOUT" an operating system attached to work as a mini operating system on its own, thereby a user can use Grub to "manually" boot an operating system. This feature is unique in boot loaders and enables a user to understand how a system is booted step by step.

(5) As much as I have tried I have not found a PC system that Grub cannot boot, say just by a floppy on its own.

(6) A Lilo must be re-validated by running "lilo" again every time its /etc/lilo.conf is altered. Thus using NTLDR is twice amount of work every time Lilo is altered because the LILO's first 512 bytes have to be copied again. Grub never needs a validation. What is more we can ask Grub to boot operating systems, say a hundred of them, even before any of them is installed! By that I mean we can write Grub's /boot/grub/menu.lst first before any installation.

(7) Grub can be place in a floppy, a CD and any internal hard disk partition with or without an operating system.

(8) You can walk up to a PC that you have never seen before, don't even need to know what systems have been installed and where there are on the hard disk but still be able to boot them with Grub.

(9) If a Linux failed to install a boot loader after an installation you can boot it up with Grub regardless if it uses Lilo as its boot loader.

We don't send a boy to do a man's job. It is no different for a boot loader too.

Kingscriber 12-15-2006 03:59 PM

Quote:

We don't send a boy to do a man's job. It is no different for boot loader too.
Also:

"Any Linux that co-exists with Dos, Windows, BSD & Solaris".

These go hand n hand which I honestly don't think this would be in your case.

saikee:: Currently he has a problem with lilo. lilo comes with slackware. Not grub. Since the problem with with lilo and this particular configuration using his MBR for lilo, then other options must be looked at. The option mentioned with ntldr is a viable option. beyond that, this could be confusing to the poster.

Ok, back to Psyco26: If I were to use multiple multiple os's , saikee's post is excellent. However I honestly don't think it would be in your case. Using the NTLDR is a viable option, and a safe one at that. Not that lilo is less safe, I am just saying currently you are experiencing problems in the realm of lilo + MBR. using NTLDR would be sure fire.

Bruce Hill 12-15-2006 05:32 PM

Psyco26,

Your problem is with Windoze, not with Slackware. Notice
that Slackware has always booted for you.

I've not read all the rhetoric since your last post, but that
/etc/lilo.conf in post #12 isn't going to work, because it is
installing LiLO on an ATA drive, and you don't have one according
to your previous posts. For your info:
/dev/sda stands for SCSI disk a (first one)
/dev/hda is hard disk a (first one) ...
The s is for SCSI (or SATA), the h is for ATA (aka PATA).

Before you do anything else, go back and boot with your WinXP CD
as I told you before, and run "fixmbr" then reboot without the CD
and see if your comp boots Windoze. If it does, Windoze NTLDR
(bootloader) is fixed. If Windoze boots correctly:

Boot with the Slackware CD1 and at the boot prompt type
Code:

sata.i root=/dev/sda3 noinitrd ro
and login as root and then post the output of your "/etc/lilo.conf"
and "fdisk -l".

If, however, Windoze did not boot after running "fixmbr" then you
will need to fix that first.

I've used LiLO a few years now, never unsuccessfully, and it is NOT
the reason for the problem you are having.

saikee 12-15-2006 05:36 PM

Kingscriber,

I think you may have missed the main point.

BrueHill has already solved the Lilo problem. I couldn't offer an advice better than his.

The problem appear to be restoring Lilo "DOES NOT WORK"!

If Lilo is faulty how can we copy a faulty Lilo into NTLDR and have it suddenly working again? Windows doesn't do repair for Linux!

The fundamental weakness of multibooting with NTLDR is that every foreign boot loader copied into the root partition of Windows must be operational. Windows does not do magic. It chainloads Lilo or Grub in exactly the same mechanism all major boot loader chainload another OS.

Since NTLDR cannot read a partition foreign to itself it boots an other system by offloading NTLDTR from the memory and loading the first sector (or its first 512 bytes) of the specified System stored inside its root partition (normally the C drive). It is up to that first sector to load its master (the first sector carries the hard disk address to continue with the bootsrap).

If the first sector or its continued portion of Lilo is unbootable it will still be the case in whatever boot loader we choose to boot Lilo.

I hope it is clear that NTLDR does not boot a Linux. It only boots the Linux's boot loader. If NTLDR can load a Linux kernel it can only do so by getting inside /boot directory of the Linux to read the kernel file. Such idea would constitutes M$ has conceded that Linux is an operating system it must officially support and we would all be able to see Linux partitions mounted inside Windows (without third party software).

saikee 12-15-2006 05:46 PM

Quote:

Originally Posted by Bruce Hill
Psyco26,

Your problem is with Windoze, not with Slackware. Notice
that Slackware has always booted for you.

I would be barking to the wrong tree if that statement is correct.

I thought Windows works satisfactory in sda1.

Slackware was then installed into sda3 with sda2 as swap.

Lilo found an error in its /etc/lilo.conf and so it would not validate (or carrying out the compilation of the lilo.conf), resulting the previous version used which is none. That is why Windows continues to boot without Lilo screen showing up the choices.

Have I misinterpreted the Post #1?

Psyco26,

Can you confirmed that when you have Lilo successfully complied (saying Slackware and Windows added) you did so with BruceHill recommendation of booting Slackware CD up with the root directed to partition /dev/sda3? If you haven't done that you could be restoring Lilo to the bootedup CD version of the Slackware and not the one inside sda3.

saikee 12-15-2006 06:07 PM

To everybody,

Psyco26 has PM me for help and that is why I barged into the thread in a haste.

If Lilo has been compiled successfully with Slackware's root in sda3 then from my limited experience it should boot alright. In such a case my previous Post #16 and 19 are irrelevant to this thread.

In general if NTLDR is missing it is usually the Windows was booted with the assistance from another MS partition, which stored the system files boot.ini, NTLDR & detectntldr, may have been since deleted.

Bruce Hill 12-15-2006 07:01 PM

saikee,

We try to keep threads within this forum, rather than going outside to PM because no one browsing this thread benefits from that.

Originally posted by saikee
Quote:

If Lilo has been compiled successfully with Slackware's root in sda3 then from my limited experience it should boot alright. In such a case my previous Post #16 and 19 are irrelevant to this thread.
Psyco26 indicated in post #10 that when he typed "lilo" it returned:
Code:

Added Slackware *
Added Windows

This means that LiLO was successfully installed, Slackware is the default choice, and Windows was added.

What we haven't seen is how the disk is partitioned, what is actually in that /etc/lilo.conf he's using, and how the Windows NTLDR is setup.

But from that post, there is no reason to fault LiLO ... if you don't understand why, then do a Google search on "NTLDR is missing" and issue and read "man lilo".

One thing that you might need to do with LiLO, depending upon where you originally installed it ... run "liloconf" and install it in the MBR.

So, following these steps, you will know if Windows NTLDR or Slackware's LiLO is at fault. As I've said before:

1 - Boot the comp with WinXP CD and run "fixmbr" to fix the Windows MBR (master boot record).
2 - Reboot the comp and see if it launches Windows.
3 - If it did not, then fix Windows NTLDR.
4 - If it did, then boot with Slackware CD1 and this time run "liloconfig" choose the expert install and install LiLO into the MBR of /dev/sda. You can use the locations in my first post to this thread, if in fact your have your swap as /dev/sda2 and the remainder of Slackware, which would be / (root) on /dev/sda3.
5 - After running "liloconfig" run "lilo" and you will see where it's installed, and if there is any error, it will be output to the screen.
6 - Reboot the computer - first try Slackware from LiLO, then reboot and try Windows.
7 - If something doesn't work, post back the exact steps and choices you made, as well as the exact error message.

saikee 12-15-2006 08:03 PM

BruceHill,

I would agree that if Lilo works then there is no point in trying other method or boot loader. However I also notice the error reported in Linux boot loaders are not always accurate for identifying the root cause. This is particularly true for Lilo. If Lilo fails because something wrong with point A which is not anticipated (hence no documented error message) it could just pick up an error message for point B (that is anticipated and has documented error message) as a response in some some circumstances.

AFAIK Lilo checks the correctness of each entry of lilo.conf and so if it complies then no technical error is expected but Lilo could still boots the wrong partition.

I don't know if many of your suggestions were addressed to me but the last link of my signature already has

(1) For putting Lilo in the MBR Task B3 refers
(2) To restore Windows MBR using installation CD, Task B2 refers

Bruce Hill 12-15-2006 08:46 PM

saikee,

I have no clue what you mean by:
(1) For putting Lilo in the MBR Task B3 refers
(2) To restore Windows MBR using installation CD, Task B2 refers

Putting LiLO in the MBR is as simple as running "liloconfig" and choosing the correct drive, i.e. /dev/sda for this thread.

Restoring the Windows MBR has been mentioned several times already ... the OP might have created other problems with his Windows system. If he follows my simple instructions and still can't boot Windows, either he (a) has supplied incorrect information in this thread, or (b) he's messed up Windows.

I have read your first post here and it's not all correct. I'm sure the errors were pointed out later in the thread, but this is LinuxQuestions, not that other forum; I don't have the time/desire to read it.

Your other post here is is about the most complicated thing I've ever read. If you want to go to all that trouble, suit yourself; but it's not necessary.

Linux can be installed without messing up Windows with one hard drive and LiLO. I've built and repaired computers for a number of years now, doing it successfully hundreds of times.

Might be my problem, but I never could get GrUB setup properly, so I don't use it.

Psyco26 12-16-2006 06:42 AM

[QUOTE=saikee]Can you post your own /etc/lilo.conf here plus the outpout of Bash command
Code:

fdisk -l
I get for fdisk -l

Disk /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 10199 81923436 7 HPFS/NTFS
/dev/sda2 10200 10448 2000092+ 82 Linux swap
/dev/sda3 10449 38913 228645112+ 83 Linux

Disk /dev/hdc: 120.0 GB, 120034123776 bytes
255 heads, 63 sectors/track, 14593 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdc1 * 1 14593 117218241 7 HPFS/NTFS

Disk /dev/hdb: 40.0 GB, 40020664320 bytes
255 heads, 63 sectors/track, 4865 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hdb1 * 1 4865 39078081 7 HPFS/NTFS


And my etc/lilo,conf is

# LILO configuration file
# generated by 'liloconfig'
#
# Start LILO global section
append="panic=15"
boot = /dev/sda
compact # faster, but won't work on all systems.
prompt
timeout = 50
# VESA framebuffer console @ 1024x768x256
vga = 773
# ramdisk = 0 # paranoia setting
# End LILO global section
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda3
label = Slackware
read-only # Non-UMSDOS filesystems should be mounted read-only for checking
# Linux bootable partition config ends
# Windows bootable partition config begins
other = /dev/sda1
label = Windows
table = /dev/sda
# Windows bootable partition config ends

Psyco26 12-16-2006 07:02 AM

I might also add that when i have this lilo.conf that i get to choose between windows and linux boot but still get the NTLDR missing but if i boot slack works just fine.

Ive tried the inserting Win cd and restoring the MBR and rebooting , but offcourse that destroys the lilo settings, so i can only boot from Win again.

When that works i insert the slack cd1 and boot: sata.i root=/dev/sda3 noinitrd ro , logg in as root and type lilo and get

Added Slackware *
Added Windows

reboot and still get the NTLDR missing so im stuck, and 1 more thing when restoring the MBR from the win cd, most of my settings in Slack the sda3 gets lost , like my mouse and screen settings and have to rewrite them, maybe not that, thats making it , but normally everything works fine.

Write more if you want me to type some more info.

bobvh77 12-16-2006 07:08 AM

i fixed my problem which was identical. after reading everything Bruce wrote (many times)...I decided that lilo was installed correctly. so, i took his advice and fixed my windoze problem. I googled (non linux version since it was a windows problem) and found my answer in the first link. I tried fix mbr and a couple other things...then found that just copying the files off the WindowsXP disk fixed the problem.
----------------------------------------


Insert the Windows XP bootable CD into the computer.
When prompted to press any key to boot from the CD, press any key.
Once in the Windows XP setup menu press the "R" key to repair Windows.
Log into your Windows installation by pressing the "1" key and pressing enter.
You will then be prompted for your administrator password, enter that password.
Copy the below two files to the root directory of the primary hard disk. In the below example we are copying these files from the CD-ROM drive letter "E". This letter may be different on your computer.

copy e:\i386\ntldr c:\
copy e:\i386\ntdetect.com c:\


Once both of these files have been successfully copied, remove the CD from the computer and reboot

------------------------------------------

Thanks for everyone's help as I work out my issues with a new distro.

Psyco26 12-16-2006 07:27 AM

Hmmm weird now with my current config for lilo as i typed 2 steps up i get

Warning: /dev/sda is not on the first disk
Added Slack *
Added Windoze

Maybe this my help you??

Thx again for all nice support in trying to get my dualboot working :D

Bruce Hill 12-16-2006 07:59 AM

You have three disks, rather than one as first reported.

However, if the Windows operating system is on the SATA
drive (dev/sda) then your /etc/lilo.conf entries are okay.

You should do what bobvh77 mentions about copying the files,
since obviously it is Windows that is broken.

saikee 12-16-2006 09:32 AM

BruceHill,

The last link in my signature is called Just booting tips. You will find different booting tips described under Task numbers.

I recommend restoring Lilo in the MBR using just a Bash command
Code:

lilo -b /dev/hda
Anybody can issue it with the root privilege as it is an integral part of the Lilo command available in every Linux that uses Lilo.

You advocate to the users to run "liloconfig" which is a program one can re-configure Lilo from scratch if needed. It is usually carried by the installer and has not been universally installed in every distro that uses Lilo. You will not find it in at least the distros like PCLinuxOS, Ututu, Yoper and Sam. Due to the fact a Linux user cannot reliably dependent on this method I decided not to include it in my booting tips.

You are entitled yo your opinions on my two threads mentined in your Post #24. Being human I never profess that everything I wrote is 100% accurate. Regarding to the thread being necessary or not it is a matter of personal opinion. It so happens the two threads raised by you are the most 5th and 6th popular threads in respective JustLinix forum. Each has recorded over 20,000 views and received a 5 Star rating from the readers.

It is possible in isolation one of my thread has given you the impression that I advocate Windows users to protect Windows MBR when installing Linux. However I actually advocate using the Linux boot loader to take over the MBR so that it can boot all the MS systems together side by side with over 100 Linux and Unix in the same PC. The thread you consider unnecessary is for users who must keep the Windows MBR for whatever reasons.


All times are GMT -5. The time now is 06:11 PM.