Jump to content











Photo
- - - - -

Small (40 page) paper on bootloaders


  • Please log in to reply
12 replies to this topic

#1 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 05:22 PM

Hi all,

For my studies, I was asked to write a small introduction paper on bootloaders, with some experiments on dual-booting (especially installation of XP after Vista has already been installed) to spice it up.

I have been reading quite a lot on this forum and I would like to present my paper
- For those who are interested in a high-level introduction on the MBR, the different bootloaders and processes
- For those who like to comment (yep, I know... this is a long shot, I don't really expect anyone to read the full document and give comments, but I can always gve it a try, right?), please do ;-)

The document is still in draft, about 40 pages long and it can be found right here:
http://www.nauta.be/bootloaders.pdf

Last but not least; thanks for all the information that is available here!

Barry

#2 TheHive

TheHive

    Platinum Member

  • .script developer
  • 4165 posts

Posted 16 November 2008 - 05:55 PM

Welcome to the community, barrel


At this time Im not reading 40pages, but we have some people here that like reading papers like this.
I'll move this to the Learn and Teach section. [Guess Jaclaz might have to move it]

This sorta of information in one location is welcomed. Thanks for taking the time to share it.

#3 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 16 November 2008 - 06:14 PM

Good. :(

Had a quick look at it, and if you do not mind, some clarifications are needed:
1) the MBR you publish is a XP one, Vista one is slightly different, see here:
http://www.911cd.net...showtopic=21242
http://www.911cd.net...o...1242&st=138

2) you define the Disk Signature at 01b8 as "optional", this is wrong :) , it is "vital" for booting any NT based system, see above and here:
http://www.911cd.net...showtopic=19663
http://www.911cd.net...showtopic=19960
http://www.911cd.net...showtopic=21891

http://mirror.href.c...br/Win2kmbr.htm

3) you define the 55AA at the end as "MBR signature", this is not accurate, the two bytes are generally called "magic number" or "magic number signature" and they are common to BOTH MBR's and bootsectors

4) In the appendix B I would add also:
MBRfix:
http://www.sysint.no...ting/mbrfix.htm

HDhacker:
http://dimio.altervista.org/eng/

and Beeblebrox:
http://students.cs.byu.edu/~codyb/

Since your work seems to be centered on Vista and Server 2008, you may find this site interesting:
http://www.multibooters.co.uk/

jaclaz

P.S.: in the paper and expecially in the nice :( diagram at page 24. I seem to miss completely the GREAT idea :) of grub4dos :) (chainloading directly loaders bypassing bootsector)

#4 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 07:04 PM

Had a quick look at it, and if you do not mind, some clarifications are needed:


Thanks Jaclaz, your comments are MUCH appreciated. I have updated my document ;-)

I will look into grub4dos as well, but this might take a few days!

#5 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 16 November 2008 - 07:14 PM

Boy, were you fast! :)

The new file displays a bit strangely on page 34, text goes out of page.

34 APPENDIX A. MBR - A CLOSER LOOK
0000 Master Boot Code
012c Error messages, ends with 00 (in bold)
017c Padding, all zero-bytes
01b5 Fixed for english versions of windows: 2c 44 63 - Part of dmadmin.exe
01b8 Disk signature, used by Windows Nt to display the Mbr error codes, which may be language d
01bc Unused, usually nulls: 0x0000
01be Start of the partition table, it contains 4 16-byte entries (this Mbr has
only one de ned partition). The active partition is Indicated with the
value \80", the other partitions start with the value \00" (values in bold)
01fe Mbr signature: 0xAA55 (on all Ibm-Pcs, and compatible, numbers of
two or more bytes are always stored in reverse order). Actually 0xAA55 is called the `Magic Nu


However the 2c 44 63 is needed in the English version to display Mbr error copdes, whilst Disk Signature is needed to identify the hard disk, to make sure that the NT based system is booting from the "right" disk and to assign drive letters.

jaclaz

#6 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 07:22 PM

Boy, were you fast! :)

The new file displays a bit strangely on page 34, text goes out of page.


However the 2c 44 63 is needed in the English version to display Mbr error copdes, whilst Disk Signature is needed to identify the hard disk, to make sure that the NT based system is booting from the "right" disk and to assign drive letters.

jaclaz


A bit too fast apparently :( , sloppy errors have been fixed as well, thanks for the remarks!

#7 Nuno Brito

Nuno Brito

    Platinum Member

  • .script developer
  • 10545 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 16 November 2008 - 09:03 PM

Hello Barrel.

Thank you for sharing your work and welcome to our community.

Since you'll be presenting your work for evaluation I can try to help and comment a bit about the text.

- Is it correct to write "Bootvirusses" like seen on page 11? On page 16 you also find bootmanager, bootoptions and other similar words
- Acronyms should also be written in upper letters like CMOS, MBR, etc of the same size.
- Typos
-- page 13 -- mini-filsystem
-- page 24 -- laod Windows // therefor (twice on the same page)
-- page 25 -- Te comments
-- page 30 -- msdn (acronym)
-- page 38 -- need to close the (

Very good text, was very enjoyable to read.

:)

#8 smiley

smiley

    Silver Member

  • .script developer
  • 905 posts
  •  
    Greece

Posted 16 November 2008 - 09:17 PM

Hi Barrel,

your document is very interesting . Nice work! :)

Although I dodn't know many things about bootloaders, I think I have found a mistake in windows boot process.

In page 18 you say "If this fi le is not present, the system assumes default values and continues"
This is wrong. When ntldr doesn't find boot.ini, it shows an error and restarts.

#9 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 09:56 PM

Since you'll be presenting your work for evaluation I can try to help and comment a bit about the text.


Hello Nuno Brito,

Thanks for your comments, I will look into them (tomorrow, that is ;-) and fix my mistakes!

Kind regards,
Barry

#10 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 10:01 PM

In page 18 you say "If this fi le is not present, the system assumes default values and continues"
This is wrong. When ntldr doesn't find boot.ini, it shows an error and restarts.


Hello Smiley,

That is a very interesting remark, and I thank you for it! This is easy to test, I will perform a test this week and I will keep you informed!

Thanks ;-)

Barry

#11 barrel

barrel
  • Members
  • 6 posts
  •  
    Belgium

Posted 16 November 2008 - 10:01 PM

In page 18 you say "If this fi le is not present, the system assumes default values and continues"
This is wrong. When ntldr doesn't find boot.ini, it shows an error and restarts.


Hello Smiley,

That is a very interesting remark, and I thank you for it! This is easy to test, I will perform a test this week and I will keep you informed!

Thanks ;-)

Barry

#12 was_jaclaz

was_jaclaz

    Finder

  • Advanced user
  • 7100 posts
  • Location:Gone in the mist
  •  
    Italy

Posted 17 November 2008 - 04:59 PM

From memory (don't take my word from it :() I seem to recall that when a BOOT.INI is not present NTLDR prints a message like "missing boot.ini" but tries anyway:
NT/2K:
multi(0)disk(0)rdisk(0)partition(1)\WINNT
XP/2003:
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

and if it doesn't find it it throws an error like "Windows\System32\Hal.dll" and aborts booting. :)

jaclaz

#13 AeroXP

AeroXP

    Frequent Member

  • Advanced user
  • 177 posts
  • Location:0000:7c00
  • Interests:Motorola 68000 Assembler, PCs, Betas, Boot Disks, x86 Assembler
  •  
    United States

Posted 17 November 2008 - 10:16 PM

According to Longhorn's Boot loader, it exactly says:
Missing Boot.INI File

Booting default kernel from C:\WINDOWS





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users