Jump to content











Photo
- - - - -

Booting XP via freeldr


  • Please log in to reply
11 replies to this topic

#1 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 18 October 2021 - 08:44 PM

Hi,

I succeed to boot XP SP3 on a Fat32 partition with the bootloader freeldr.sys from Reactos 0.4.13.

Until now no support for ntfs.

Works: Acpi Multiprocessor, lan, sound, nvme, USB2, USB3, graphik 3D, just all from XP SP3

Dietmar

 

https://www.win-raid....html#msg152308

 

 



#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 19 October 2021 - 06:11 PM

Hi Dietmar, good to see you are still around. :)

 

:cheers:

Wonko



#3 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 23 October 2021 - 06:11 PM

Hi Jaclaz,

also nice to see you :cheers: !

 

What do you think:

Is it possible to make a harddisk hybrid with Fat32,

that can boot both, freeldr.sys and ntldr ?

 

Have a nice day

Dietmar



#4 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 October 2021 - 07:52 PM

No need of anything fancy You should be able to do that with a normal booting NTLDR adding a bootsector (invoking freeldr ) to the boot.ini same as you wanted to dual boot with DOS.
:cheers:
Wonko
  • Dietmar likes this

#5 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 25 October 2021 - 12:06 AM

Hi jaclaz,

 

I write an easy tutorial how to boot XP SP3 via freeldr.sys

https://www.win-raid....html#msg152744

 

Until now it works for Fat32 partition. I tried also with freeldr.sys from unofficial Reactos 0.4.15 which has NTFS support, but this doesnt work, gives crazy message, that freeldr.ini cant be found. So, only Fat32 until now.

 

My question is:

I want to load one and the same XP via freeldr OR ntldr (only using grub4dos, important for me)

(the same XP on the same harddisk, in one and the same partition, meaning the same XP files).

 

Via grub4dos this menu.lst works for freeldr boot of XP

 

title ReactOS
root (hd0,0)
kernel /freeldr.sys

 

How should menu.lst look for ntldr? Something like this?

 

title find and load NTLDR of Windows NT/2K/XP\n find and load NTLDR of Windows NT/2K/XP
fallback +1
find --set-root --ignore-floppies --ignore-cd /ntldr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr
chainloader /ntldr
savedefault --wait=2
 

 

And how to put both together in one menu.lst,

so that you can decide, which bootloader (freeldr or ntldr) you want to use for this single XP installation?

The harddisk root contains then grldr, menu.lst, freeldr.sys, freeldr.ini and also ntldr, ntdetect.com, boot.ini

 

Dietmar



#6 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 25 October 2021 - 03:42 PM

Oh, I didn't know that you were using grub4dos to load the freeldr.sys as kernel.
 
If you already know the disk/partition (i.e. (hd0,0)), this is all you need in menu.lst:
 
title XP via ReactOS loader
root (hd0,0)
kernel /freeldr.sys
 
title XP via normal NTLDR
root (hd0,0)
chainloader /ntldr
 
What I was trying to tell you in my previous post is that you should not *need* grub4dos in this simple configuration.
 
You need:
1) the (hd0,0) partition (FAT32) with the normal XP bootsector invoking NTLDR

2) both the freeldr.sys (and freeldr.ini) and NTLDR (and boot.ini and ntedetect.com) on the (hd0,0)

3) a boot.ini *like* this:

[boot loader]
Timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
C:\freeldrbs.dat="FREELDR"
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\grldr="Grub4dos"

(the third line invoking grub4dos is of course useful only if you have also grldr on (hd0,0))
 
4) a copy of the ReactOS FAT32 bootsector (of course with the correct partition data) saved as (say) freeldrbs.dat

I am not very familiar with ReactOS, let alone recent versions, there might be needed an extra step for this to work[1] 

In any case, you do NOT need (nor "want") to install grub4dos, a volume formatted under XP will load NTLDR and you can add the grldr entry (as in the example above) in BOOT.INI to load grub4dos without needing any tool to "install" it, actually you won't change anything in the normal disk as created from XP besides adding a few files.

Or, if you prefer, you can have the menu.lst with just the entry for freeldr.sys and a BOOT.INI *like*:

[boot loader]
Timeout=20
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect
C:\grldr="Grub4dos that will load freeldr.sys"


 
:duff:
Wonko
 
[1] unlike FAT12/16 the bootsector of FAT32 is not a single sector, but rather 3, in DOS/Win9x, these sectors are LBA 0,1 and 2 (the bootsector, FSINFO and rest of boot code), but 2K/XP put the third sector of the bootsector on 13th sector (sector at relative LBA 12) whilst ReactOS (at least older versions) puts it on 14th sector (sector at relative LBA 13), it has to be checked by comparing a "same" FAT32 partition formatted once by XP and once by ReactOS, very likely this 14th sector needs to be replicated on the XP formatted volume to have the bootsect mechanism work.

#7 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 25 October 2021 - 04:58 PM

Hi,

 

title XP via ReactOS loader
root
(hd0,0)
kernel /freeldr.sys

title XP via normal NTLDR
root
(hd0,0)
chainloader /ntldr

 

as menu.lst works at once :D :D :D !!!

Now I can switch between freeldr and ntldr as I wish.

For to test, that really in one time freeldr.sys is loaded for one and the same xp and in other ntldr,

I just add two lines in boot.ini and voila, it is amazing crazy, that this works!

 

I need grub4dos for the following reason:

With a crazy lot work I succeed to implement plop bootmanger into Bios and also the Option Rom for legacy nvme boot extracted from the Samsung 950 Pro nvme disk.

But there was one problem: After a lot of testing with debug ntldr I found out, that ntldr together with ntdetect.com are not able to boot XP via this Option Rom. I never come to boot.ini.

But boot with winload.exe from Vista works there. But this boot via winload.exe does

not work on all modern compis and has other bad effekts also.

Just for fun I make a test with grub4dos and voila, it shows me the boot menu.

So I come to the idea to make a try with the Reactos freeldr. And voila this works at once, but also not alone, only together with grub.

Ntldr with grub in this crazy configuration does not work.

But now I can boot any compi with an Pci-e connector and nvme device direct to XP via, no other is needed

Dietmar

 

PS: The boot with freeldr.sys is faster than with ntldr. Only downside is no ntfs until now.

 

EDIT: I will write new Tutorial for to switch boot between freeldr and ntldr on any XP bootdevice.

Before I make some tests with other boards too.



#8 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 25 October 2021 - 05:59 PM

... menu.lst works at once  :D :D :D !!!

Good. : :thumbsup:

 

 

 

But there was one problem: After a lot of testing with debug ntldr I found out, that ntldr together with ntdetect.com are not able to boot XP via this Option Rom. I never come to boot.ini.

Hmmm. :dubbio:

 

NO (meaning that the issue is elsewhere and before the BOOT.INI), a "normal" XP install on first disk/sirst partition, i.e. drive letter C: should normally boot even without BOOT.INI as there is a "safety/failback"  provision to attempt booting from C:\Windows\ if the BOOT.INI is not found, JFYI:

https://msfn.org/boa...-from-cwindows/

 

:duff:

Wonko



#9 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 25 October 2021 - 07:01 PM

Hi jaclaz,

 

it is indeed a failure of ntldr together with ntdetect.com.

I really tried everything: Without boot.ini , a lot of different compis, all without legacy nvme boot of XP.

The extracted Option Rom for legacy nvme from the Samsung 950 Pro

works only together with Plop AND grub4dos AND freeldr :cheerleader: :cheerleader: :cheerleader:

Dietmar



#10 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 26 October 2021 - 08:31 AM

I don't know. :dubbio:

 

In theory:

BIOS->MBR->PBR->NTLDR->BOOT.INI

then choice of entry

IF the entry is of the kind multi() (or scsi()) ->NTDETECT.COM-> actual Windows booting

IF the entry is if the kind C:\xxxx -> cahinload of the tartget (no NTDETECT.COM involved)

 

The issue must happen "before", in NTLDR.

 

I remember that PLoP does in some cases "correct" *something* at the BIOS level (like drive order and geometry), and as well some little adjustments can be done with grub4dos, anyway, if it works the way you found, it works :).

 

:duff:

Wonko



#11 Dietmar

Dietmar

    Frequent Member

  • Advanced user
  • 243 posts
  •  
    Afghanistan

Posted 26 October 2021 - 02:07 PM

Hi jaclaz,

 

take a look at

https://www.win-raid....html#msg152856

 

and make try :cheers:

Dietmar



#12 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 26 October 2021 - 02:34 PM

The grldr in the bootfiles1.zip us seemingly an oldish version, GRUB4DOS 0.4.6a 2017-02-04.

As always, if it works, it works :), but it should be tested (I cannot see any reason why it shouldn't) whether your approach works with a later version of grub4dos (i.e. whether this specific version you are using is needed or not).

 

:duff:

Wonko






1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users