The PC structure : BOOT

<BIOS Structure <Memory Structure
"System Boot"  "Bios"   "Boot"  "XP"  "Vista"  "Windows 7"  "Linux"   "Device Drivers"
"General"   "Backend"   "Firmware"    "Frontend"   "Library"   "Script"   "Window Managers" 
"Window Desktops"  "General Support"   "Productivity"  "Browsers"   "Email and Chat"
"Problems"  "Systems"   "Introduction"   "Hardware Compatibility"    "Installation" 
"System setup",  "Protection"
Operational structure


    Directly linked to the BIOS, the system boot cares not what type of system it will be starting. What it does care about is that the system conforms to a strict standard. Thusly, there is a guaranteed method of using Floppy disk, CD/DVD Disc, Hard disk, USB and
Network (Diskless boot). The system boot involves doing a power on self test (POST) which checks for resources of video, keyboard, memory, and availability of boot devices.  If the POST fails, the boot will stop until the problem is corrected. But for our case, the POST passes and the system continues the boot.

    Contained on the first sector of each hard disk drive is a partition table that describes the layout of the remainder of the drive and an area that contains the boot loader.  The boot loader is a small program that is run to tell the computer how to continue the boot process beyond the basic BIOS defined start-up. Ideally, Microsoft products define the entire hard drive as one huge partition. Notice to all! it doesn't have to be this way. The partition table can be set up as 4 primary partitions and partitions 2, 3 & 4 can be further defined as extended partitions with up to 16 logical drives per each. This diversity is to allow multiple operating systems & / or data drives to be separated from the operating systems and to provide for extremely large storage media.

     On a new fresh hard disk the boot loader is blank as is the partition table. It is therefore up to the operating system that is going to be used to set up the partition table and store the boot loader program.


The older (obsolete) Microsoft DOS placed a small program here to handle loading io.sys, msdos.sys and then to operate the system as DOS.  Windows 95/98/ME did the same thing but the program was quite different and instead of running DOS which would call the program to open windows 3.11, would run the program directly. Windows 2K/XP would run the NTLoader program on the first drive (c:) which would refer to a boot.ini file to identify which operating systems are present and what partitions they are on. During operating system installation, Windows 2K/XP can both live comfortably on separate partitions and leave the first partition available to Windows 95/98. However, if you try to re-install the windows 95/98 you will loose access to windows 2K & or XP. Windows 95, 98, ME, 2K, and now XP are now all at end of life which means if you try to re-install them, there will be no support and XP is designed to quit working unless you active it at Microsoft 30 days from the install date. Microsoft will no longer allow the package to be reactivated so as to force everyone to use Windows Vista until Windows 7 comes out in November 2009.

     Windows Vista and Windows 7 are loaded just like for Windows XP except that you are no longer allowed to have more than one Microsoft operating system on the computer. Thusly, the first drive (c:) contains either Vista or Windows 7. Any other partitions are presumed data drives.

     For those considering Linux or Linux with Vista or Windows 7,  as in dual boot, there is a somewhat new process. Linux has a boot folder. In this boot folder all versions of the Linux kernels are stored, plus a copy of the boot sector program that loads Windows version (s) and the boot sector is changed to provide either a Lilo boot loader or a Grub boot loader. The Lilo loader provides a text style menu to provide choice of which Linux or Windows version you wish to load. The Grub loader provides a graphical menu offering the choices. With Linux you can have as many different kernels (versions) as you like without much change to the underlying structure and or data files. On the down side, if you have Microsoft products and they screw up needing re-install then they will overwrite the Lilo or Grub loader resulting just as in previous Microsoft systems ... lost access to the other systems.

     A number of Linux and concerned venders have created both DOS based and Windows based methods of saving the boot sector or restoring the boot sector. These utilities are normally used as follows:
         1. Install Windows systems WIN98, WIN2K, WINXP,
                                              or  Vista or Windows 7
         2. Install Linux
         3. run an mbrsave program
            Op systems run or are useable until one Microsoft product fails...
         4. Re-Install the effected Op system
         5. run the mbrrestore program to regain access to all systems

  1. Win98
  2. Win2K/NT
  3. WinXP
  4. WinVista
  5. Linux



Win98 was built on DOS technology meaning that it is a GUI (graphical User Interface) sitting on top of DOS. Dos provides the direct device control for the printers, USB, Harddisk, CDROMS etc. and the low level routines to access the various operations of the system. At Boot time, the boot loader contained in the 'mbr' of the harddisk starts off by telling the cpu where the io.sys msdos.sys and are on the harddisk. The boot loader actually starts by loading the io.sys file into memory and then runs a short program in that file which tells the boot loader to load the msdos.sys file which in turn tells the boot loader to load and run the file. The file informs the system to read any config.sys settings and load/run each setting that calls for additional resources to be loaded. Once complete, the program is loaded and executed which takes over the responsibility of loading all the resources in the form of device drivers, library files, settings, and environment for windows.


WinNT is built on a totally different system than DOS. this gives it the ability to boot to any partition of any drive and provides a superior system level support. While it supposed to be true multi-user/multi-tasking network ready, it still isn't as powerful as it peers under UNIX, and Linux. For the winNT/2K system, the boot loader looks for the boot.ini file which tells the system how many operating systems there are and where they are put in terms of drives and partitions. If winNT/2K isn't on C: then the ntldr.exe is placed on C: and handles loading of the operating system for 2K. If the win98 system is present as an option then the NTLDR.exe will handle loading the io.sys and msdos.sys for win98. If you re-install win98 you will loose the boot loader designed to boot winNT. To avoid such unfortunate circumstances you can use getmbr and putmbr programs available from the web or us to maintain a copy of the boot sector of the drive(s) so you can easily replace them. If you do re-install win2K be forewarned that the boot.ini may end up with multiple entries and you may have to remove the extra's. It is highly important that you don't install Win2K on the same partition as win98, you will end up with both system sharing the settings till eventually both fail. Also, if you are going to use win2K's NTFS filesystem windows 98 won't be able to see the drive. Instead, if using win2k and win98 on same drive and different partitions set both to fat32 file system.


WinXP basically follows the same as for winNT/2K so the win2K explanation will suffice for WinXP as well except it must be installed on an  NTFS file system.


The above Microsoft operating systems explanations are now mute. With the start of Windows Vista systems, the underlying filesystem is built on an NT architecture but the new Operating system of Vista must be the only system present on the Harddisk. Microsoft does let you revert backwards to Windows XP professional as your sole operating system. For all the flashy visible gimmicks, Windows Vista is really just a severely restricted version of XP with some flashy desktop additives. Vista comes in several versions from basic to ultimate.

     The idea seems to be, to offer users different versions based upon what they want to do with the system at equally differing costs. Computers are taking on a whole new role in the Microsoft world. A computer, doesn't care what your primary purpose for having it is. All the computer looks at is what are the resources available to it in terms of hardware. Microsoft on the other hand is solely driven by how much to gouge the public. They realize that kids are more concerned with games, animations, flash, and such so they don't really need network and server features. A business on the other hand rarely needs strong graphics, and multi-media. So our friends at Microsoft came up with 5 different systems tailored to specific uses. If you have a system tailored to one use and need a feature from a different group your either out of luck or will need a new operating system version. This is totally in line with Microsoft's overall world domination plan to make everyone pay to use their own computers.

    Having said all this, Windows Vista boots in the same manor as for the Windows 2K and XP systems other than Vista must be on a NTFS volume and can not have any other Microsoft system present. This is somewhat of a set back in time to when DOS only recognized 1 bootable partition. You may still use Linux if you install it after installing Windows Vista.

    In November 2009, Vista will be on it's way out as Microsoft releases Windows 7 (Blackcomb) essentially, it is Vista with emphasis and fixes to vista ailments. The Vista structure will suffice. Windows 7 is stripped down in some area's. Firstly, it doesn't have Windows Mail (formerly Outlook Express) and finally can have Internet Explorer turned OFF! A second key difference is more emphasis on having an active Internet connection so the operating system can download run libraries as the system gets used. We are entering a world of pay Microsoft for the right to use our own machines!


LINUX can be installed on any partition and can be run from a disk based boot loader or the lilo loader written to the mbr. The lilo loader knows how to call the WinNT, Win2K, WinXP or WinVista multi-loaders as well as how to call DOS or win98. The bad part here is that re-installing any Microsoft product will destroy the lilo loader if it's contained in the mbr of the harddrive and make it necessary to boot the system with the Linux boot disk and restore the lilo loader. Of note, here is that if you re-install Linux, it never destroys the Microsoft systems so why does Microsoft do it to Linux or Unix. My guess is they are that scared of competition that they will do any trick they can get away with to make users of other systems pay.

       During a Linux boot, the lilo boot loader (or grub loader [if your using this style]) provides the user with a menu that lists all versions of Linux kernel and all Microsoft versions currently installed. Upon the user selecting a Microsoft version, the boot loader accesses a copy of the normal Windows boot that it saved when Linux was installed and the normal Microsoft boot takes place. Selecting any of the Linux kernels, runs the appropriate Linux kernel boot.

       In Linux, the kernel of each version resides on the Linux root partition in a boot folder. Each version consists as a single compressed file. The file upon loading auto-uncompresses. Using this method is more efficient than having to have the complete operating system replaced when upgrading or adding more versions. In Linux, the drivers, libraries of routines, and all the numerous settings files can for the most part carry forward from version to version. Each version knows of it's specific driver and library needs by unique file naming so that many versions can co-exist seamlessly. While were on the topic of drivers and libraries, it is important to note that in Linux, no driver or library is loaded into memory until it is required and is always removed when no application still requires it. Windows from Microsoft by the other hand loads all drivers at start-up and loads Libraries (.dll's) as they are needed by applications. If more than one application requires the same dll then multiple copies are loaded. The dll's are not uniquely version named which complicates library management. The strength of Linux stability, and memory control becomes apparent very quickly.