Jump to content
Andy Vandijck

Clover/Chameleon Boot Sector for NTFS + ALT booting PBR (V2)

24 posts in this topic

Recommended Posts

I've created a boot sector for booting Clover/Chameleon from an NTFS partition.

It includes the sources and is based upon leaked Windows NT4 sources.

Enjoy... :D

 

NOTE: Take into account the NTFS BPB during installation.

BTW: To recompile you need Windows + Open Watcom

 

EDIT: Added alternate booting PBR

EDIT2: Combined both sources.

EDIT3: Added Github repo

https://github.com/andyvand/CloverNTFSBoot

 

EDIT4: New boot files.

Loads bootc by default on alternate booting PBR.

'N' loads ntldr.

'B' loads bootmgr.

1-9 loads boot1 - boot9

 

EDIT5: Added both alternate booting PBR's and changed the repo (new file name is bootntfsaltbmgr.bin, uses bootc and bootmgralt.bin uses boot).

 

 

EDIT6: I made NASM/YASM versions of the PBR.

Also added support for WASM (Watcom Assembler).

Added a Makefile.

It comes pre-built with MSVC 1.5, Open Watcom 1.9 and NASM 2.14.02 versions.

CloverNTFSBoot_V2.zip

Edited by Andy Vandijck

Share this post


Link to post
Share on other sites
Advertisement

 

Andy,

Explain, please, it usage. How can it loads Clover or Chameleon?

;/* FUNCTION:    To load NTLDR into memory.                             */

They work the same way.

They load flat binaries.

Share this post


Link to post
Share on other sites

Will it be used as MBR boot sector or PBR boot sector? What combination?

This is the PBR one.

Clover MBR (boot0af) should work.

There is a bootjump of 3B first.

Next the BIOS Parameter Block (see structure in .inc file).

Lastly the loader code.

I used bootice for the test install.

Currently making GCC-5.3.0 with latest libraries for a better Clover.

Gonna build using Cygwin as I'm stuck on Windows for now.

Share this post


Link to post
Share on other sites

I am not sure if Clover compiled with gcc-5 will work. It is guarantied only with gcc-4.9.

And be sure to include NTFS.efi into boot generation.

Clover.fdf:

INF  RuleOverride=BINARY Clover/HFSPlus/HFSPlus.inf  -> same but NTFS.efi

or use GrubNTFS.efi 

INF Clover/GrubFS/src/NTFS.inf


Take it for test

boot6-NTFS.zip

Share this post


Link to post
Share on other sites

I am not sure if Clover compiled with gcc-5 will work. It is guarantied only with gcc-4.9.

And be sure to include NTFS.efi into boot generation.

Clover.fdf:

INF  RuleOverride=BINARY Clover/HFSPlus/HFSPlus.inf  -> same but NTFS.efi

or use GrubNTFS.efi 

INF Clover/GrubFS/src/NTFS.inf

Take it for test

attachicon.gifboot6-NTFS.zip

I'm testing that as we speak.

I'm using GCC 5.3.0 with latest libraries.

So far it builds fine ;)

I'll let you know the results.

Share this post


Link to post
Share on other sites

I've compiled a suitable Clover using GCC 5.3.0.

Enjoy... ;):D

Clover.zip

Share this post


Link to post
Share on other sites

Yes.. no problem

Clover revision: 3342  running on To be filled by O.E.M.

Thanks for the test.

Success! :D

Share this post


Link to post
Share on other sites

Added bootice for MBR and PBR install.

Use boot0af and ntfsboot(alt).bin

Process MBR - Restore MBR - choose boot0af

Process PBR - Restore PBR - choose ntfsboot(alt).bin

Copy Clover files over.

EDIT: Added all Clover boot sectors. Renamed the files to boot1ntfs and boot1ntfsalt.

EDIT2: Added boot1ntfsbmgr (support for booting NTLDR and BOOTMGR)

BOOTICE.zip

BootSectors.zip

Share this post


Link to post
Share on other sites

There will be real profit if you make alternate booting:

1. Process MBR - chain to PBR

2. Process PBR - wait for user input:

3a. If user press C - boot Clover

3b. If user press N - boot NTLDR.

Is it possible?

Share this post


Link to post
Share on other sites

There will be real profit if you make alternate booting:

1. Process MBR - chain to PBR

2. Process PBR - wait for user input:

3a. If user press C - boot Clover

3b. If user press N - boot NTLDR.

Is it possible?

Could use the keyboard input interrupt.

Will look into it.

Could make it ;)

Check scancode and move in proper offset + length.

So 1-9 = Clover / Chameleon.

N = NTLDR.

B = BOOTMGR

Share this post


Link to post
Share on other sites

There will be real profit if you make alternate booting:

1. Process MBR - chain to PBR

2. Process PBR - wait for user input:

3a. If user press C - boot Clover

3b. If user press N - boot NTLDR.

Is it possible?

Made it a little different.

Defaults loads bootc (because of Boot being used by Windows for startup entries)

Press B loads bootmgr (succesfully booted Windows 10, boots Vista - 10)

Press N loads ntldr (succesfully loads NT3.1-XP)

Press 1-9 loads boot1-boot9

This way we can also do legacy boot on GPT volumes for Windows.

NOTE: The sources and boot files are in CloverNTFSBoot.zip or on Github.

Share this post


Link to post
Share on other sites

I tried it  and restored  MBR PBR  booted but  i have :disk read error occurred insert diskette" with all options pressed

1-9 = Clover

N = NTLDR.

B = BOOTMGR

I'm booting an ssd MBR three partitions where:

First windows 10 ntfs 60g active

second El capitan hfs 60g

third DATA ntfs 120g.

I can boot clover from bootmgr  with  \boot0md only if placed in hfs partition.

Share this post


Link to post
Share on other sites

I tried it  and restored  MBR PBR  booted but  i have :disk read error occurred insert diskette" with all options pressed

1-9 = Clover

N = NTLDR.

B = BOOTMGR

I'm booting an ssd MBR three partitions where:

First windows 10 ntfs 60g active

second El capitan hfs 60g

third DATA ntfs 120g.

I can boot clover from bootmgr  with  \boot0md only if placed in hfs partition.

Rename boot to bootc

Then it'll work.

Because of Windows I have renamed the file inside the PBR to bootc

Or use the package attached below.

EDIT: New version. Build 3348.

Clover.zip

Share this post


Link to post
Share on other sites

Reporting same error again even with new version. :(

 

Edit:

Default bootc  and pressing B and N does not work as it gives me "a file is missing" but pressing 1-9 tries to boot and then instant reboot.

Share this post


Link to post
Share on other sites

Unfortunately doesn't seem to be working for me either on an active ntfs partition :(.

 

The PBR seems to correctly find boot6 (I see the number 6 on the top left of the screen) but then the system reboots. If I use @Slice's boot6-ntfs from post#6, I see the number 5 on the screen then also instant reboot.

 

No problem with booting to Clover if I use bootice to restore boot0af and boot1f32/boot1f32alt ---> boot6 on a FAT32 or EFI partition.

Share this post


Link to post
Share on other sites

Hi,

Sorry if I write here, but I tryed in many ways to create a new topic without success(the field of the message was a row and I can't write in it).

I had a really frustrating problem.
I had windows on a 500gb HD and Mac OS on an 256gb SSD. All went well, I re-install windows a lot of times without problems.

Now, I took away the windows disk and I putted in a new 128gb SSD for windows.

I installed windows 10 and it worked, then I restarted a couple of time and it still worked.
After I turned off my pc, I tryed again to access windows and I get "Bootmgr is missing ctrl+ alt + del to restart".

I tryed again, same thing. Windows file was ok, so I don't understood.

I re-install windows 10 again, and it worked. After shutdown (not restart), same problem, but now it tells "NTLDR is missing ctrl+ alt + del to restart".

I really don't know why and what to do solve this...

Can someone please help me?

Sorry again if I write here.

Thx

Share this post


Link to post
Share on other sites

I made NASM/YASM versions of the PBR.

Also added support for WASM (Watcom Assembler).

Added a Makefile.

It comes pre-built with MSVC 1.5, Open Watcom 1.9 and NASM 2.14.02 versions.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×