1           N)  X u u y y y STANDARD.DFV                                                        HPBASEPDz @ pk	w u   x Bootmanager 1994 Ulf Beckmann  				 Seite 
[Word 6.0-Format]


Beschreibung

zum

Bootmanager
;



	17.10.1994
	Ulf Beckmann
	Blasewitzer Strae 36c
	D 01307 Dresden
	Tel./Fax:	[0351] 442 07 22
	Btx:.....	03514420722-0001
	eMail:...	beckmann@iis350.inf.tu-dresden.de



	dieses Produkt darf nicht verndert oder verkauft werden 

	es mu kostenlos und vollstndig (siehe Tab. 1) weitergegeben
	werden 

	die Nutzung zu kommerziellen Zwecken ist nicht
	gestattet









Inhalt

	1. Motivation .......  2
	2. Installation .....  3
	3. Bedienung ........  4
	4. Fehlermeldungen ..  5
	5. Aufbau ...........  5
	6. Probleme .........  5
1. Motivation
 

Auf dem Markt sind seit lngerer Zeit immer neuere und immer
mehr Betriebssysteme. Aber leisten sie auch immer was sie
versprechen? Hufig kommt es dazu, da auf einem Rechner zwei oder
mehr Systeme installiert werden. So mancher Nutzer hat sich
sogar schon mehrere DOS-Startsysteme gewnscht. Nun belegt aber
jedes System mindestens einen Eintrag in der Partitionstabelle
und bei AT-Platten ist diese auf 4 Eintrge beschrnkt...  Ein
Umschalten zwischen den Systemen wird notwendig. Dies kann auf
zwei Arten erfolgen:

	Mit dem Programm FDISK, welches unter den meisen
	Betriebssystemen existiert, kann das Bootable-Flag in der
	Partitionstabelle gesetzt bzw. gelscht werden. Eine fr Laien
	undurchsichtige und fr erfahrene PC-Nutzer umstndliche
	Prozedur.  


	Eine kompfortablere Lsung bieten 
	Bootmanager, wie sie von OS/2 oder Linux bekannt sind.	Der
	Linux-Bootmanager "LILO" arbeitet nur in Verbindung mit dem
	Linux-System. Seine Bedieung lt auerdem viele Wnsche offen.
	Der grte Nachteil liegt jedoch im Unvermgen OS/2 und DOS
	nebeneinander zu verwalten. Beim Start von OS/2 ist immer die
	DOS Partition mit aktiv, liegt diese vor dem OS/2 Bereich
	kommt es zum Abbruch des Systemstarts.	Der OS/2
	Bootmanager hat diese Steuerung im Griff. Auerdem wartet er mit
	einem Pulldown-Men und Zeitsteuerung im Auswahlbildschirm auf.
	Das Betriebssystem OS/2 ist fr seinen Betrieb nicht unbedingt
	erforderlich (aber eine Lizens!). Dafr bentigt er aber eine
	eigene Partition mit 1 MB Plattenspeicher. Das 1 MB konnte ich
	noch entbehren, nicht aber den Partitionseintrag.

Also entschlo ich mich einen eigenen Bootmanager zu entwickeln.

Er sollte:


 keine Partition belegen

 alle Systeme starten knnen

 gut bedienbar und

 leicht konfigurierbar sein

 auf allen 80x86ern laufen

So entstand also der im weiteren behandelte Bootmanager.
2. Installation
 

Zur Installation des Bootmanagers sollten Sie folgende Dateien
auf eine Systemdiskette kopieren:

	bootm   .bin    Image des Bootmanagers
	bootman .ini    Konfigurationsdatei
	bootman .txt    dieser Text
	botm_ini.exe    Installationsprogramm
	gpart   .exe    Anzeigen der Patitionstabelle(n)
	s_mbr   .exe    Sicherung des alten MBR
	w_mbr   .exe    Wiederherstellen des alten MBR

Tabelle 1: bentigte Dateien

Nun rufen Sie das Programm s_mbr.exe auf. Dieses rettet den
alten Masterbootrecord (MBR) in die Datei "mbr_c.sav". Anschlieend
editieren Sie die Datei "bootman.ini" mit einem ASCII-Editor
(z.B. Norton Editor o..). Neben den Farben und Zeitein-
stellungen (optional) sind die Partitionsnummer und der
Menstring anzugeben. Die Zuordnung der Partitionsnummern zu den
Eintrgen erfahren Sie entweder von FDISK oder von dem Programm
"gpart.exe". Der Menstring sollte 18 Zeichen nicht bersteigen
und von der Partitionsnummer nur durch ein Leerzeichen getrennt
sein. Im folgenden ein Beispiel:

Ŀ
 ; Parameter:                                                   
 ; ";" an der 1. Position charakterisiert einen Kommentar       
 ; "c" steht fr Colormonitor Normalfarbe                       
 ; "C" steht fr Colormonitor Inversfarbe (Balken)              
 ; "m" steht fr Mono-Monitor Normalfarbe                       
 ; "M" steht fr Mono-Monitor Inversfarbe                       
 ; "s" die Farbe fr den Hintergrundschatten                    
 ; "S" das Zeichen fr den Hintergrundschatten                  
 ; "h" legt die Farbe des Hintergrundes fest                    
 ; "H" legt das Hintergrundfllzeichen fest                     
 ; "T" beinhaltet die Autostartzeit in Sekunden (1-255)         
 ; "t" legt die Grundtonlnge bei Tonausgabe fest               
 ; "Ziffer" ist die Partitionsnummer von der geladen werden soll
 ;          Platte 1 = 1 - 4  Platte 2 = 5 - 8                  
 c 0x9e                                                         
 C 0xF0                                                         
 m 0x0f                                                         
 M 0x70                                                         
 s 0x06                                                         
 S 0xb0                                                         
 h 0x01                                                         
 H 0xb2                                                         
 T 15                                                           
 1 Microsoft DOS 6.0                                            
 2 IBM OS/2 2.1                                                 
 3 Linux Yggdrasil                                              


Die Farbwerte werden hexadezimal angegeben. Die erste Tetrade
kennzeichnet die Hintergrund- und die niederwertige Tetrade die
Vordergrundfarbe. Die Farben werden entsprechend den EGA-
Farbtabellen angegeben z.B. 0x9e := 9 = hellblauer Hintergrund /
0e = gelber Vordergrund.

Nachdem diese Datei editiert wurde kann das Programm
"botm_ini.exe" aufgerufen werden. Die Sicherheitsabfrage kann
mit "J" beantwortet werden; wenn alle Mitteilungen positiven
Charakter haben ist die Installation abgeschlossen.


3. Bedienung


Den Effekt merken Sie natrlich erst nach einem Neustart des
Rechners - also schnell: Ctrl+Alt+Del drcken!!!
Gewhnlich wrde jetzt eines der auf der Platte befindlichen
Systeme gestartet werden - jetzt erscheint der Bootmanager. Mit
den oben angegebenen Einstellungen sieht dieser ungefhr so
aus(natrlich farbig!):


͸
   Startsysteme               Tasten           
͵
   Microsoft DOS 6.0    Zeitlimit: 15 Sekunden 
 IBMOS/22.1                         
   Linux Yggdrasil      Zeit inaktiv > ESC   
                        Auswahl mit > /   
                        Starten > Enter 
                       Ĵ
                        <c> 1994 Ulf Beckmann  
                        Tel./Fax 0351/4420722  
ٰ
    
    


Mit den Tasten hoch und runter (/) wird der Balken
bewegt. Durch Bettigen der Eingabetaste wird das ausgewhlte
System gestartet. Automatisch erfolgt der Start nach Ablauf des
Zeitlimits. Fnf Sekunden vor dem Autostart wird im Sekundentakt
ein Piepton als Warnung ausgegeben. Das Zeitsteuerung kann durch
drcken der Escape-Taste inaktiviert werden. Nach nochmaliger
Bettigung luft die Zeit weiter.

4. Fehlermeldungen


Das Programm kennt drei Fehlermeldungen.

1.	' Fehlerhafter Bootsektor    weiter = bel. Taste! '
	Jedes gltige und bootfhige System hat am Ende des Urladers
	eine Kennung. Wird diese nicht gefunden, gibt der Bootmanager
	diese Fehlermeldung aus und wartet auf einen Tastendruck.
	Anschlieend wird ein erneuter Bootstrap ausgelt.

2.	' Fehler beim Plattenzugriff weiter = bel. Taste! '
	Genauso wie bei nicht erkanntem Systemkennzeichen wird bei
	Zugriffsfehlern reagiert. Da diese nicht unbedingt auf
	ehlerhafte Platten zurckzufhren sind wird eine Korrektur dem
	utzer berlassen. So kann z.B. eine Partition auf der 2.
	Platte im Men angegeben werden ohne das eine 2. Platten
	existiert.


3.	'Cecksummenfehler ! Bitte berprfen !'
	Der Bootmanager fhrt bei jedem Start einen Eigentest durch.
	Sollten Fehler erkannt werden wird diese Meldung am oberen
	linken Bildschirmrand angezeigt. Der Bootmanager versucht 
	jedoch normal weiterzuarbeiten. In den meisten Fllen wird es 
	sich nicht um einen wirklichen Fehler handeln. Wenn mit FDISK 
	oder einem hnlichen Programm die Partitionstabelle gendert 
	wurde erscheint diese Meldung auf jeden Fall. Mglicherweise 
	war aber auch ein Virus am Werk...

5. Aufbau
 

Eigentlich ist der Bootmanager recht einfach aufgebaut. Nach dem
Einschalten des Rechners ldt das BIOS den Masterbootrecord,
also den Sektor 1, Kopf 0, Spur 0 von der Platte. Dieser erste
Teil des Bootmanagers ldt den Rest nach (Sektorn 2,3 und 4) Das
Hauptprogramm bringt nun das Men auf den Bildschirm und nachdem
feststeht von wo geladen werden soll sind nur noch einige
Ladeoperationen notwendig und der gewnschte Bootsektor wird
gelesen und gestartet. Damit beim nchsten Start die alten Werte
noch vorhanden sind wird der 1. Sektor zurck auf die
Platte geschrieben.


6. Probleme
 

Bisher sind bei mir noch keine aufgetreten... Klingt doch erst einmal toll und wenn ich bemerke, da ich den OS/2 Bootmanager gelscht habe, zeigt dies doch ein gutes Vertrauen in dieses Produkt. Aber ein Programm welches seit 3 Monaten auf nur drei Rechnern luft (unter meiner Kontrolle), kann nicht den Anspruch erheben, fehlerfrei zu sein. Jeder der es auf irgendeinem Weg erhlt und nutzt ist deshalb aufgerufen mir eine Nachricht zu senden. Bisher konnte ich noch kein System von der zweiten Platte booten (ich habe gerade keine Partition frei). Wenn mir ein begeisterter Anwender helfen will so soll er oder sie mir doch einfach schreiben, faxen oder meinen Anrufbeantworter strapazieren. Bisher wurde es mit verschiedenen AT-Bus-Controllern und einem SCSI 1542C getestet.
܀      x    r    o    j    g    c   `   Z   W   T   N   H  @?  ?   $@8  2 @ @@ @ @@8 @    x   r   l D  i F  c G  ]   Z   T y  Q }  K ~  E   X@? X ? X X@?  @?  ?  @?  ? ~  	  x 
  u 
  o 8
  l :
  f ;
  ` Y
  ] [
  W \
  Q p
  N r
  H   X  ?  @?  ?  @?  ?  @?  Xr
  s
  u 
  r 
  l 
  f q  c r  ] s  Z t  T 2  Q 3  K 4  H   X  @?  @?  @?  @?  ?  @?4  5  u A&  r N)  o 
  f q  c r  ] s  Z t  T 2  Q 3  K 4  H   X  @?  @?  @?  @?  X  @?      i    \    \    \    O    O              hB  hB  hB  hB   <       <        <"                 n    n    n    n    a   a   a   a  hB  hB  hB  hB  hB  hB  hB        <        <         !  n :  n L  n i  n   n   n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n   n :  n D  n F  n x  n   n   n   n        hB        hB  hB        hB  hB  hB <        	    n   n   n   n   n   n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n   n   n   n .  n I  n Y  n j  n l  n  hB  hB  hB  hB  hB  hB        hB  hB <        	l    n   n )  n f  n   n   n '  n g  n }  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	}    n   n   n 0  n k  n y  n {  n }  n   n  hB        hB  hB  hB  hB  hB  hB       <        	    n   n `  n   n   n   n L  n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	  	  n R	  n 	  n 	  n 	  n 
  n 
  n 
  n 
  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	
  
  n 8
  n :
  n Y
  n [
  n p
  n r
  n 
  n 
  n  hB        hB        hB        hB        hB <        	
  
  n 
  n 
  n 
  n   n   n R  n u  n w  n        hB  hB        hB  hB  hB  hB  hB <        	w    n   n   n   n D  n o  n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n  
  n E
  n 
  n 
  n 
  n 8  n y  n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n   n   n c  n   n   n /  n s  n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n ?  n   n   n   n O  n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	  _  n   n   n +  n o  n   n   n ;  n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n   n K  n   n   n   n   n M  n   n  hB  hB  hB  hB  hB        hB  hB  hB <        	    n   n   n    n ^  n   n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n   n   n &  n d  n   n   n   n   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	    n 3  n g  n   n   n 
  n F  n   n   n  hB  hB  hB  hB  hB  hB  hB        hB <        	    n *  n c  n   n   n   n   n   n H  n  hB  hB  hB  hB  hB  hB  hB  hB       <        	H    n   n 
  n L  n   n   n   n   n   n  hB  hB  hB  hB  hB  hB  hB        hB <        	    n   n   n A  n   n   n   n 2   n 4   n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	4   m   n    n    n $!  n _!  n !  n !  n !  n !  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	!  !  n "  n T"  n "  n "  n #  n S#  n #  n #  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	#  #  n #  n #  n #  n $  n T$  n $  n $  n %  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	%  S%  n %  n %  n 
&  n &  n !&  n #&  n 0&  n ?&  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        	?&  A&  n N)  n O)   hB  
hB       #&  n 0&  n ?&  n  hB  hB  hB  hB  hB  hB  hB  hB  hB <        v                                                                                                                              	 y   Courier_R8  Courier_PC  Courier_New  LinePrinter_R8  LinePrinter_PC  Arial  Times_New_Roman 8 Symbol ? Wingdings   
       l
      .  1  $  (  	                   ?                            (   .        " *         10.18.9405.29.94(  