elektronik
programmieren

messie.ch
tm
home

startseite

intro

intro elektronik & programmieren

prints

printherstellung

robots

robots

div

diverse Schaltungen


proc

prozessoren

ass
embler

assembler

DOS
Linux

javascripts

Betriebsysteme DOS, Linux


 

Multibootsystem erstellen mit Linux, DOS, Windows98 und Windows2000

Vielen Dank an Ivan Kanis, der das ganze hier viel kürzer, professioneller und ballastfrei erklärt.

Diese Anleitung ist nach bestem Wissen & Gewissen erstellt. Die Nutzung der hier zur Verfügung gestellten Information geschieht aber ausdrücklich auf Risiko des Anwenders.
Ich übernehme keine Haftung für Schäden & Folgeschäden an Mensch, Tier und Material.

Die Ausgangslage:

Was mich an PC's vor allem fasziniert ist Robotik oder nüchterner gesagt: Messen, Regeln und Steuern
Unter DOS geht das problemlos, da man uneingeschränkten Zugriff zur nackten hardware, also zu allen physisch vorhandenen controller, timer und ports hat (parallel & seriell, PS2, Systemtimer, Real-time-clock, Interruptcontroller, Gameport, MIDI usf.) und wem das nicht reicht, der legt sich noch eine ISA-Karte zu (oder lötet eine) mit vielen weiteren Ports und Timer und ADC-wandler und mehr.
Das ganze programmiert man mit i86-assembler und nutzt dabei vor allem die mächtigen und gut dokumentierten DOS- und BIOS-interrupts. Die direkte Kommunikation mit der hardware müsste ja auch in Hochsprachen mit Assembler eingebunden werden (heisst : Portabilität genauso futsch) und da man ja nur rudimentär auf Tastatur und Bildschirm zugreift reichen die Dos-interrupts völlig und sind nicht viel schwieriger zu handhaben als Hochsprachenbefehle. Vorausgesetzt, dass man nicht auch noch die Grafikkarte direkt mit Assembler anspricht bleibt auch die Kompatibilität weitgehend erhalten, da die PCs der DOS-Generation quasi alle eine gleichbleibende Architektur mit identischen Bauteilen aufweisen. Und solange es Creative-ISA-soundkarten sind kann man auch diese problemlos einbeziehen - da gibt es einen DOS-treiber von CT und drei Assemblerzeilen reichen zum Abspielen eines sound-files.

Somit kann man in Kürze aus einem uralten Motherboard und ein paar Motoren einen singenden Kaffeeautomaten basteln (Kottan lässt grüssen...).
Heute nimmt man dazu natürlich einen oder ein paar zusammenarbeitende Mikrokontroller für 3 Fränkli.. Aber auch die muss man erst programmieren.

Das ganze handling unter DOS ist gelinde gesagt eher mühsam: kein Multitasking, kein USB, kein Netzwerk, kein Internet, kein Acrobatreader usf. (ok, ok - gibt's wohl alles, aber ich bin kein Masochist). Da ist Windows schon komfortabler und in der 98-version hat man immer noch freien und realen Zugang zur hardware. Im DOS-fenster laufen auch die alten, selbstgeschriebenen Programme noch (ausser bei wirklich zeitkritischen Abläufen). Die Arbeit wird aber nun durch komfortablere Editors und mit Multitasking, mit Internetanschluss und bestem Zugang zu stets benötigten Informationen wesentlich erleichtert.
Mit W2K wird es noch komfortabler (und stabiler), da hier eine problemlosere USB-Unterstützung hilft, ABER ab W2K ist fertig lustig mit Hardwarezugriff. Die realen Portbausteine auf dem Motherboard sind auf 'DOS-Ebene' nicht mehr direkt physisch ansprechbar - alle alten, selbstgeschriebenen Programme für die Katze.
Iim rechten Moment auf den LINUX-Zug aufzuspringen habe ich leider verpasst - obwohl für genau meine Interessen ist Linux wohl auch keine optimale Wunderlösung : die Verwaltung der Zugangsechte ist bei Linux unglaublich streng aufgebaut (was es ja so unangreifbar macht und in einem grossen Betrieb mit vielen Benutzer auch sinnvoll - für einsame Einzeltäter aber doch eher hinderlich ist).

Ich besitze auch etlche PC's: einen (na ich gebe es ja zu: von jeder Sorte mehrere) DOS-, einen W98- und einen W2K-computer (und XP für Büro & Freizeit...) - und einen LINUX (mit dem ich mich eher schwer tue).
Mein Traum ist natürlich, das alles zu verbinden und einen Laptop zu haben, der alles kann (na ja, auf XP und Büro kann ich sehr gut verzichten). Ohne XP reicht dazu auch ein altes, ausgedientes Modell - bis und mit W2K sind die hardwareanforderungen noch schnell mal erfüllt.
So kann ich dann mit nur einem einzigen Laptop alle Ports für alles nutzen, dennoch meinen neuen USB-Programmer einsetzen, bin am Internet und beginne endlich, mich unter Linux mit GCC zu befassen. Und wohlverstanden: DOS braucht 12 Sekunden Startzeit, dann ist es betriebsbereit.

Mein System habe ich auf einem ca. 7-jährigen Dell Latitude 610C (P3 mobile 1Ghz, 128Mb RAM, 40 Gb hdd, 1 USB, 1 Parallel, 1 seriell, integrierter sound, ethernet, modem) erstellt.

Das erste mal, als ich beim Experimentieren mit Linux echt Spass gehabt habe, war kürzlich, als ich mit DSL-'Damn Small Linux' spielte - eine kecke Minimalversion, die ab CD läuft. Und was ich nun an Linux wirklich bewundere: damit ist es relativ einfach, genau so ein erträumtes Multisystem aufzubauen.
Linux-cracks wollen sich bitte im weiteren nicht ärgern - ich bin ein Newbie und beschreibe das eben so unbeholfen, wie ich es mir selbst erarbeiten musste um zu diesem Ziel zu kommen. Sicher geht es auch sauberer und eleganter. Ich lasse mich gerne belehren!

Linux, Win2k, Win98, DOS und ein grosser, gemeinsamer Datenpool - das alles auf dem gleichen, alten Laptop - das scheint deshalb unmöglich, weil die MSDOS-basierten-Systeme alle den ersten Sektor der Festplatte exklusiv für sich beanspruchen - mit Linux ist es aber möglich, die jeweils unbenutzten, widersprüchlichen Partitionen so zu verstecken, dass MSDOS von den eigenen Konkurrenten nichts mitbekommt.

Also LOS, das braucht's dazu:

- einen funktionierenden PC mit CD-Brenner und Internetverbindung.
- einen funktionierenden, ausgedienten Laptop mit Floppy / CD (Wechselbay ist OK), sonst übliche Ausstattung (auch Internetmöglichkeit)
- im Laptop: überschreibbare Festplatte, 30Gb sollten es schon sein (ab 60Gb gibt's ev. weitere Probleme). Falls es ein Laptopmodell ist, das auf der Festplatte eine spezielle Setup-partition hat, lagern wir dieses noch rechtzeitig auf Diskette aus...
- Die Betriebssysteme DOS, W98SE, W2K, mit all den entsprechenden Lizenzen, Schlüsseln und Handbücher...
- CD-Rohling
- leere Disketten
- mindestens rudimentäre Kenntnis von DOS und Linux
- Geduld & Konzentration.


Und so wird vorbereitet:

1) DSL-iso herunterladen & brennen: http://damnsmalllinux.org/download.html



2) DOS-bootdisk erstellen, SYS.COM und FDISK.EXE draufkopieren, DOS am besten in Version 6.22, der letzten 'puren')
3) W98-Installations-CD reinigen
4) W98 Start-Diskette finden oder erstellen (Systemsteuerung --> Software --> Startdiskette)
5) W2K-Installations-CD suchen
6) Das Bios des Laptops aktualisieren und so einstellen, dass die Bootfolge = 1-Floppy --> 2 - CD --> 3 - Hdd ist

Wer gut sucht findet auch im Internet images von den benötigten Boot-Disketten (z. Bsp. hier)


Und so geht's:

Ich gehe von einem Laptop mit Wechselschacht Floppy / CD aus, wenn beides gleichzeitig da ist gehts ein wenig einfacher.
Zu Beginn CD-ROM-Einschub montieren & jetzt mit DSL-CD booten - DS-Linux sollte sogleich ausführbar sein.
Wir drücken beim prompt 'boot::' einfach mal <enter> und schauen mal aufmerksam, was passiert und gemeldet wird. Wenn alles klappt sollte eine grafische Oberfläche erscheinen. Wenn man aber kaum etwas sehen kann, bootet man erneut und drückt jetzt F2, da erscheint eine Reihe von Boot-optionen. Bei älteren Laptops etwa mit nur 600 x 800 - Bildschirmauflösung schreiben wir 'fb800x600' und wählen bei den folgenden Fragen dann den 'xfbdev frame buffer mode' (nicht xvesa) - so sollte es klappen.

Wenn wir dann also die grafische Oberfläche korrekt sehen, können wir als erstes das DSL-Informationsfenster aufmerksam lesen oder wegklicken.
Üblicherweise startet DSL ab CD mit dem amerikanischen Tastaturlayout. Solange keine Konfiguration gespeichert werden kann belassen wir das auch so:

Amerikanische Tastatur
Gesuchtes
Zeichen
Deutsche Taste
z y
y z
/ -
- '
= ^
* (
( )
) =
+ shift ^

Man kann etwas mit DSL spielen und austesten, ob so alles klappt - vor allem die Internetverbindung.
Dann gilt's sogleich ernst: wir wollen nämlich die HD partitionieren - ich gehe hier von einer 40 Gb-platte aus.
Dazu benutzen wir FDISK von Linux, machen uns aber erst einen genauen Plan - es gibt nämlich etwa 8 Partitionen.
Es ist zu beachten, dass mit FAT16 höchstens 2 Gb adressiert werden können (2^16 cluster * max. 32 K Clustergrösse) und zusätzlich müssen diese max. 2 Gb innerhalb der ersten 8 Gb der Platte liegen (da der DOS-INT-13, der den Plattenzugriff steuert, 18 bit hat, also max. 8Gb Adressierung).
Der gemeinsame Datenraum wird auch mit FAT16 formatiert - dieses Format kann von allen beteiligten Betriebssystemen gelesen werden und hier können beliebig Daten ausgetauscht werden. Diese Partition muss in einer erweiterten Partition liegen, so dass sie nie versteckt werden muss.
Eine Bemerkung sei noch zur ersten Partition erlaubt: das ist ja nur die Startpartition für W2K und dazu wären schon 8 Mb (= 1 Zyl.= minimal mögliche Partitionsgrösse) überrissen - mit den spendierten 100 Mb beugt man Problemen mit Programmen vor, die automatisch auf 'C' zugreifen; man kann den Platz natürlich selber auch nutzen !

Mein Partitionierungsplan sieht etwa so aus (HD 40G = 4864 Zylinder mit je ca. 8Mb):

Partition Device Grösse
ca. MB
Start Zyl. Ende Zyl Typ ID (Hex) Art
primäre Partitionen
1 Startpartition W2K /dev/hda1 96 1 12 16 hidden FAT16
2 DOS /dev/hda2 297 13 49 16 hidden FAT16
3 WIN 98 /dev/hda3 4818 50 650 1b hidden Win95 FAT32
erweiteret Partition
4 Extended /dev/hda4 33842 651 4864 5 Extended
5 Gemeinsame Daten* /dev/hda5 2000 651 900 6 FAT16
6 W2K /dev/hda6 14458 901 2700 7 HPFS/NTFS
7 Linux swap /dev/hda7 795 2701 2799 82 Linux swap
8 Linux /dev/hda8 8546 2800 3863 83 Linux
unpartitioniert, Resereve   8050 3864 4864    

* Können von allen Systemen aus erreicht und gelesen werden. Max. 2 Gb innerhalb der ersten 8Gb der Platte

- Bei anderer Plattengrösse / anderer Geometrie wird mehr oder weniger proportional umgerechnet.
- Diese Struktur kann nach Geschmack natürlich sinnvoll verändert werden.
- Die Linux swap-datei sollte ca. das 1.5-fache des installierten RAM's betragen.
- Selbstredend kann der unpartitionierte Bereich auch sogleich zugeteilt werden - ich persönlich wäre schon so manchmal froh gewesen, noch eine Partition hervorzaubern zu können, darum schaffe ich mir hier mal die Möglichkeit dazu. So kann man die Linux-Partition später auch noch vergrössern.

 

Wir öffnen die X-shell mit rootrechten (DSL: links unten DSL anklicken --> Xshells --> Root Access --> Transparent) und öffnen damit den Kommandoprozessor ('bash') mit Administrationsrechten.

Im Gegensatz zu DOS unterscheidet Linux Klein- und Grossschreibung !

Beim prompt schreiben wir: <fdisk /dev/hda> (und gell: vermutlich amerikanische Tastatur...)

Es erscheint : Command (m for help):

FDISK von Linux: die wichtigsten Befehle:

d delete löscht Partition
l list Zeigt eine Tabelle der möglichen Partitionstypen und Bezeichner (hexcode) an
m menu zeigt die möglichen Befehle
n new erstellt eine neue Partition
p print zeigt die aktuelle Partitionstabelle
q quit beenden (es wird dabei NICHTS automatisch gespeichert)
t type Partitionstyp (Hexcode)
w write schreibt die Tabelle auf die Platte !

Wir tippen p zum Anzeigen der aktuellen Partitionen, en werden die Eigenschaften der installierten Platte und vorhandene Partitionen aufgelistet.

Mit d löschen wir die Partition (falls mehr als eine Pertition vorhanden ist, noch die Nummer angeben) . Das solange, bis uns p eine leere Partitionstabelle zeigt. Erweiterte Partitionen könen direkt gelöscht werden (im Gegensatz zu DOS) und dann sind gleich auch alle darin enthaltenen logischen Partitionen weg.

Jetzt tippen wir n zum erstellen einer neuen Partition.
Wir werden gefragt, ob wir eine e extended oder p primary partition (1-4) erstellen wollen. Das deshalb, weil die Partitionstabelle nur Kenndaten für maximal 4 Partitionen aufnehmen kann. Wählt man 'extended' (was nur eine der vier Partitionen sein darf), so wird auf eine erweiterte Partition hingewiesen, die ihrerseits wieder bis max. 59 sog. 'logische' Partitionen aufnehmen kann mit dann jeweils eigene Partitionstabellen. DOS-basierte Systeme können aber nur von primären Partitionen aus booten. Daher wählen wir p fur primäre Partition und geben dann 1 als Partitionsnummer an.
Nun müssen wir die Nummer des ersten Zylinders der Partition angeben - enter ohne Zahl nimmt immer den z. Zt. ersten freien Zylinder.
Es erfolgt die Eingabe des letzten Zylinders - entsprechend unserer mühsam errechneten Tabelle (für genau 1 Zylinder wären Startzylinder und Endzylinder derselbe Start=1 und Ende=10 ergibt eine Partitionsgrösse von 11 Zylinder!)
Ich habe leider erst später entdeckt, dass es auch viel, viel einfacher geht: man gibt bei der Frage nach dem letzten Zylinder der Partition einfach die erwünschte Partitionsgrösse an, also etwa <+3000M> für 3Gb und fdisk rechnet selbst um.

Wir tippen alles sorgfältig nach Plan ein und überprüfen jeweils mit p, ob das auch stimmt - korrigieren kann man nur mit löschen und neu schreiben.

Die vierte Partition muss 'extended' werden und umfasst den Rest bis zur geplanten, unpartitionierten Reserve (oder eben den Rest der Platte) und die fünfte Partition beginnt an derselben Zylindergrenze - was weiter nicht verwunderlich ist, da sie eben innerhalb der vierten zu liegen kommt - ebenso wie die W2K, die Linux-swap- und die Linuxpartition.

Jetzt weisen wir noch jeder Partition mit t den geplanten Dateityp zu (Hex ID, falls nötig mit l (oder L) in Tabelle nachsehen).

Nicht vergessen: die mühsam getippte Partitionstabelle muss in FDISK erst noch auf die Platte geschrieben werden.! Wenn alles genau nach Plan eingetragen ist wird das mit w erledigt (die alte Partitionstabelle wird ungewarnt und unwiderruflich überschrieben)
Fdisk gibt noch eine Meldung über die hoffentlich gelungene Tabellenänderung raus und wir booten neu: DSL --> Exit --> Exit Options. Es erscheint ein Fensterchen, bei dem wir bei 'Backup' das Häckchen wegklicken (wir haben ja im Moment kein Medium dazu) und mit OK wird Linux runtergefahren.

Wir booten erneut - ab CD ! Dann gehen wir wiederum in die Xshell mit root-access.

Mit <fdisk -l> vergewissern wir uns zuerst nochmals, dass alle Partitionen genau nach unseren Wünschen sind.

Jetzt werden diese formatiert - damit ersparen wir uns seitenlange Fehlermeldungen beim nächsten booten!
Anders als bei DOS-Systemen geht das unter Linux ruck-zuck - ohne stndenlanges Geraffel.
Zuerst wird die swap-datei mit <mkswap /dev/hda7> formatiert und anschliessend gleich durch <swapon /dev/hda7> auch aktiviert. Die Swappartition ist vergleichbar mit den Auslagerungsdateien von Windows.
Alsdann:
<mkdosfs -F 16 -v /dev/hda1> formatiert die zukünftige Win2K-Startpartition mit FAT16
<mkdosfs -F 16 -v /dev/hda2> formatiert die zukünftige DOS-partition mit FAT16
<mkdosfs -F 16 -v /dev/hda5> formatiert die zukünftige gemeinsame Datenpartition mit FAT16
<mkdosfs -F 32 -v /dev/hda3> formatiert die zukünftige W98-Partition mit FAT32
Die Linuxpartition wird später beim Installieren von Linux automatisch formatiert.

Jetzt kontrollieren wir noch das Datum: wenn's nämlich allzu arg in der Vergangenheit liegt (von wegen krepper Cmos-batterie im alten Laptop), wird Linux bei der Installation geduldsam zu jedem kopierten file die Fehlermeldung ausgeben, dass das Datum in der Zukunft liege - sehr aufmerksam !

Als erstes installieren wir Linux, das tool dazu ist bei DSL schon dabei : Apps -> Tools -> Install to Hard Drive.
Man gibt an, dass man auf hda8 installieren will und wählt mal ein multi-user-system, dann auch frech einen bootloader, nämlich GRUB.
Die Frage nach dem zu installierenden Dateisystem (ext3) ist hardwareabhängig zu beantworten.

Die Installation geht zügig voran - wir starten neu, wechseln auch gleich das Laufwerk aus und montieren das Floppylaufwerk und booten diesmal endlich OHNE CD ab HD. Es erscheint jetzt beim Einschalten als Erstes besagter Bootloader und man wählt aus dem Menu dieselbe Option, die beim Start per CD jeweils geklappt hat. Hoffentlich fährt alles fehlerfrei hoch, dann gibt man neue Passworte an, wählt - falls gefragt - Bildschirmauflösung, Mausanschluss und Tastatur (deutsche Schweiz = sg-latin1) und kommt wie vorhin ins Linux. Wir melden uns als root an (frevel, frevel).

Wir richten den Internetzugang ein - Firefox ist bei DSL bereits vorinstalliert. Im Laptop integrierte oder eventuell montierte PCMCIA-Netzwerkkarten werden erstaunlich gut erkannt und bei --> Setup --> Net setup -->netcardconf muss man nur noch 'DHCP' ankreuzen, dann sollte auch schon die Verbindung klappen - das alles jedenfalls lief bei mir reibungslos (und hätte unter Windows mindestens 17 Neustarts und 5 Schreikrämpfe erfordert).
Wir gehenen auf die Seite ftp://alpha.gnu.org/gnu/grub - wir brauchen nämlich das floppy-image für einen Bootloader auf Diskette.
Dort wählen wir 'grub-0.97-i386-pc.ext2fs' (das ist die letzte version des sog. 'grub legacy', der nicht mehr weiterentwickelt wird. Mit dem neuen 'grub 2' dagegen können wir leider nichts anfangen, da ihm dei Befehle 'hide' und 'unhide' fehlen - und genau diese benötigen wir für unsere Zwecke !!) und laden das runter mit linkem Mausklick - bei unkonfiguriertem Firefox wird's wohl automatisch ins Verzeichnis des users geladen, also 'root'. Wir schauen nach, gehen in die Xshell und geben ein <cd /root>, dann <ls -l> (=dir) - da sollte jetzt die Datei augfeführt sein. Wenns mit der Internetverbindung nicht klappt lädt man es eben auf einer anderen Maschine runter und schiebts per Diskette oder memorystick rüber.

Nun basteln wir uns eine tolle Bootdiskette!

Eine neue oder überschreibbare Diskette wird ins Floppylaufwerk gelegt - alle Daten darauf gehen flöten. Es wird zwar dann ein raw-abbild geschrieben, da aber noch weitere files auf die Diskette kommen formatieren wir sie zuerst sauber:
Da braucht's mal ein low level format mit <fdformat /dev/fd0u1440> (Andere Linux verlangen ev. .../dev/fd0H1440 oder .../dev/fd0h1440...)
Ohne jegliche Rückfrage sollten jetzt 80 tracks ratternd formatiert und verifiziert werden.
Dann wird mit <mkfs.ext2 /dev/fd0u1440> ein linux-system erzeugt.

Wir schreiben das heruntergeladene Abbild auf die Diskette. Diese muss aber zuerst in das System eingebunden werden: <mount /dev/fd0 /floppy>, was soviel bedeutet, dass die Diskette danach über das Verzeichnis 'floppyt' angesprochen werden kann - dieses Verzeichnis wurde von DSL bereits automatisch angelegt, man könnte die Diskette auch woanders hin montieren.

Wir wechseln ins Verzeichnis zum heruntergeladenen GRUB-image: <cd /root> und <ls -l>, da sollte es aufgelistet werden. Und so schreiben wir es auf die Diskette: <dd if=grub-0.97-i386-pc.ext2fs of=/dev/fd0> (dd=disc dump, if=input file, of=output file. Da wir ja im betreffenden Verzeichnis sind muss kein weiterer Pfad angegeben werden). Damit wird ein Abbild des Bootloaders GRUB auf die neue Startdiskette geschrieben.
Die Diskette rattert und bald erscheint die Meldung '494+0 records in...usf.' (hängt wohl von der Version ab).

Mit dieser Diskette üben wir jetzt ein bisschen und bilden uns weiter: Linux runterfahren, mit der neuen Diskette booten.
GRUB> wird sich mit einem prompt melden, sonst geschieht gar nichts. Wenn wir die TAB-taste drücken erscheint eine Reihe möglicher Befehle. Grub funktioniert roh mit amerikanischem Tastaturlayout - aber wir haben ja schon Erfahrung. Zudem zählt GRUB von 0 an und nicht von 1, der erste HD ist also 0 und die dritte Partition ist 2 - dig? Was für Linux etwa hda8 ist, ist demnach für GRUB hd0,7.

Wir geben mal ein <root (hd0,0)>, GRUB wird dann den Partitionstypus und das Dateisystem zurückmelden, also etwa 'Filesystem type is fat, partition type 0x16'. Bei root (hd0,7) sollte dementsprechend ext2fs als Dateisystem und 0x83 als Partitionstyp erscheinen: das ist nämlich hier die Linuxpartition. Wie bei bash (Xshell) funktionieren die up/down-Tasten übrigens auch so, dass man in bereits eingegebenen Befehlen rumscrollen und darin ändern kann, ohne immer alles von Grund auf eintippen zu müssen.
Wir schreiben <kernel /boot/linux24 root=/dev/hda8> - es kommt eine kryptische Rückmeldng (wenigstens 'Linux' kann man lesen...). 'linux24' im Befehl ist hier spezifisch für DSL, andere Linux erwarten eher 'vmlinuz' oder so - das alles ist schlicht die Startdatei im Verzeichnis 'boot', wobei nochmals der Ort des kernels angegeben wird, diesmal in gewohnter Linux-Manier..
Nun geben wir <boot> ein und siehe da - Linux wird quasi wie normal gestartet. Wenns doch nicht klappt und etwelche fatale Fehler berichtet werden machen wir uns keine Sorgen - wir haben wohl zu wenig Startparameter übergeben. Dennoch fahren wir in einem solchen Fall das system sauber runter: <shutdown now -h> heisst die Zauberformel (h für 'halt'), und man muss stundenlang im Internet suchen, bis man das erfährt...

Wenn der Neustart mit manuell geklappt hat bleiben wir im Linux, ansonsten starten wir erneut - ohne Diskette aber von HD und diesmal mit den richtigen Startparameter.
So oder so - wir sind jetzt wieder als 'root' eingeloggt und gehen in die Xshell.

Was uns noch fehlt, ist jetzt ein entsprechendes Bootmenu - wir wollen uns ja nicht bei jedem Start die Finger wundtippen. Hierzu nehmen wir mal als Grundgerüst das beim Einrichten vom DSL-Bootloader automatisch erzeugte Menu und ändern es nach unseren Wünschen ab. Wir finden das als 'menu.lst' im Verzeichnis /boot/grub auf der Festplate.
Um auf die Floppy schreiben zu können muss sie wieder zuerst "gemounted" werden - wie gehabt <mount /dev/fd0 /floppy>

Mit <cd /floppy> gehen wir auf die Diskette und mit <ls -l> schauen wir mal, was drauf ist. Es wird der Ordner 'boot' sein (nebst dem Ordner 'lost+found', was in Linux so eine art Kehrichtsammler ist, der standardmässig installiert wird). Mit <cd boot> gehen wir in dieses Verzeichnis und mit <ls> zeigen wir den Inhalt. Erneut nur ein Verzeichnis: 'grub'. Mit <cd grub> und <ls -l> schauen wir uns auch das mal genauer an: da finden wir nun etliche Dateien von grub und genau dahinein gehört unser neues Menu . Wir kopieren die vorhin erwähnte Vorlage folgendermassen: <cp /boot/grub/menu.lst /floppy/boot/grub> - damit wird unse provisorische Menuvorlage mal auf die Diskette kopiert (cp = copy und der rest sagt was nach wo). Tippen wir abermals <ls -l> (wir sind immer noch in /floppy/boot/grub !) werden wir die dazukopierte Datei 'menu.lst' jetzt sehen..
Da ist aber noch eine Bemerkung am Rande fällig: bei Linux werden die Zugriffsrechte gaaaaanz gross geschrieben. Abgesehen von den farbigen Einträgen (Schlaumeier werden bemerkt haben, dass Verzeichnisse blau, ausführbare Dateien grün, andere Dateien weiss, symbolische Links violett usf sind - irgendwann werde ich vielleicht sogar mal eine Tabelle finden, die erklärt, was wie farbig ist...) sehen wir links eine 10-stellige -xrw-salve. Da wird gezeigt, wer wie auf die Datei zugreifen darf. Daneben stehen 2 Namen - der Name des Besitzers der Datei und der Name der Gruppe.
Die Zugriffsrecte beginnen entweder mit einem 'd' wenn es sich um ein Verzeichnis handelt, für eine Datei steht '-', dann folgen 3 Rechte für den Besitzer, 3 Rechte für die Gruppe und 3 Rechte für sonstige Benutzer. Die 3 Rechte bestehen je aus 'r'ead=lesen, 'w'rite=schreiben und e'x'ecute=ausführen. Ein '-' steht für 'nicht berechtigt'. Bei 'menu.lst' sollte folgendes stehen:

-rw-rw-r-- 1   root root     Dateigrösse Datum Zeit   menu.lst

D.h., die Datei gehört 'root' und darf von ihm gelesen und geschrieben werden, ebenso von Mitgliedern der Gruppe 'root', alle anderen dürfen die Datei nur lesen. Als Besitzer - wir sind ja als 'root' eingeloggt - dürfen wir die Datei ändern (und sogar auch die Zugriffsrechte - und diese ungewarnt soweit, bis wir uns selbst diese unwiederbringlich weggenommen haben...). Ich sage dies so ausführlich um auch zu erklären, weshalb wir uns als 'root' einloggen müssen - würden wir uns unter einem anderen Namen einloggen könnten wir auch das menu nicht ändern...

Item - wir verändern es und öffnen dazu den editor 'Beaver': DSL --> Apps --> Editors --> Beaver. Hier gehts zu wie bei Windows: Icon für 'Datei öffnen' anklicken, Verzeichnis suchen, Datei doppelklicken. Der Text ist etwa folgender:

# This sets the default entry to boot.
# Remember that GRUB counts from 0, so 1 is the second entry.

default 0

# This sets the length of time in seconds that grub will wait for the user to select an OS
# before it boots the default on. I reccommend at least 15 seconds.

timeout 15

# Enter the entry for DSL here. Something like this.

title DSL
kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm nodma noscsi frugal

title DSL fb800x600
kernel /boot/linux24 root=/dev/hda8 quiet vga=788 noacpi noapm nodma noscsi frugal

title DSL fb1024x768
kernel /boot/linux24 root=/dev/hda8 quiet vga=791 noacpi noapm nodma noscsi frugal

title DSL fb1280x1024
kernel /boot/linux24 root=/dev/hda8 quiet vga=794 noacpi noapm nodma noscsi frugal

#title DSL with toram, mydsl, restore, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5 restore=hda5 host=DSL1 secure

#title DSL with XFree86
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5/xfree restore=hda6 host=DSL1 secure

#title DSL with mydsl, restore, persistentancy, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda3 restore=hda3 home=hda3 opt=hda3 host=DSL1 secure

#title DSL Runlevel 2
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore

#title DSL Check filesystem(s)
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi nodma frugal 2 toram legacy base norestore checkfs

#title Windows
#root (hd0,0)
#chainloader +1
#makeactive
#boot


Das ändern wir etwa ab zu :

Darstellungskonvention: ändern oder neu tippen das ist Kommentar dazu, das NICHT auch abschreiben
# ist das Kommentarzeichen - setzt man es zu Beginn der Zeile, deaktiviert man sie - löscht man es, wird sie aktiv.
Einige Bootoptionen sind damit ausgeblendet, können aber aktiviert werden. Reinen Kommentar aktiviert man besser nicht...
Einige ausgeblendete Bootoptionen müssen noch entsprechend angepasst werden bevor man sie aktivieren kann - Muster sind genügend vorhanden.
Wenn wir also z. Bsp. mit dem Parameter 'fb800x600' starten mussten, so muss man die jetzt die 3 Zeilen mit den normalen Optionen (title DSL) mit # deaktivieren und dafür die Zeichen bei der richtigen Startoption löschen.


# This sets the default entry to boot.
# Remember that GRUB counts from 0, so 1 is the second entry.

default 0 Bestimmt das angesteuerte Betriebssystem, wenn innerhalb von timeout keines gewählt wurde

# This sets the length of time in seconds that grub will wait for the user to select an OS
# before it boots the default on. I reccommend at least 15 seconds.

timeout 60 Wartezeit erhöhen von 15 auf 60 Sekunden

#color-game

color white/cyan yellow/magenta ein bisschen Farbe hinzufügen

# Enter the entry for DSL here. Something like this.

title DSL
root (hd0,7)
wir müssen grub sagen, in welcher Partition der kernel zu finden ist
kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm nodma noscsi frugal

#title DSL fb800x600 Falls Grafikkarte nicht mitmacht (Auflösung 800x600) diese 3 Zeilen aktivieren
#root (hd0,7) wir müssen grub sagen, in welcher Partition der kernel zu finden ist
#kernel /boot/linux24 root=/dev/hda8 quiet vga=788 noacpi noapm nodma noscsi frugal

#title DSL fb1024x768 Falls Grafikkarte nicht mitmacht (Auflösung 1024x768) diesen 3 Zeilen aktivieren
#root (hd0,7) wir müssen grub sagen, in welcher Partition der kernel zu finden ist
#kernel /boot/linux24 root=/dev/hda8 quiet vga=791 noacpi noapm nodma noscsi frugal

#title DSL fb1280x1024 Falls Grafikkarte nicht mitmacht (Auflösung 1280x1024) diesen 3 Zeilen aktivieren
#root (hd0,7) wir müssen grub sagen, in welcher Partition der kernel zu finden ist
#kernel /boot/linux24 root=/dev/hda8 quiet vga=794 noacpi noapm nodma noscsi frugal

#title DSL with toram, mydsl, restore, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5 restore=hda5 host=DSL1 secure

#title DSL with XFree86
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda5/xfree restore=hda6 host=DSL1 secure

#title DSL with mydsl, restore, persistentancy, hostname, and passwords
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi frugal dma toram mydsl=hda3 restore=hda3 home=hda3 opt=hda3 host=DSL1 secure

#title DSL Runlevel 2
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi nodma frugal 2 base norestore

#title DSL Check filesystem(s)
#kernel /boot/linux24 root=/dev/hda8 quiet vga=normal noacpi noapm noscsi nodma frugal 2 toram legacy base norestore checkfs

title Windows 2000 W2K booten
unhide (hd0,0)
Partition 1 Zeigen - W2K-Startpartition
hide (hd0,1)
Partition 2 (DOS) verstecken
hide (hd0,2)
Partition 3 (W98) verstecken
rootnoverify (hd0,0)
Bestimme Betriebspartition (ohne zu mounten)
chainloader +1
gehe zum bootsektor
makeactive
Partition 1 aktivieren = bootbar
boot

title Windows 98 analog wie oben, Partition 3 aktivieren
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
rootnoverify (hd0,2)
chainloader +1
makeactive
boot

title DOS 6.22 analog wie gehabt, Partition 2 aktivieren
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
rootnoverify (hd0,1)
chainloader +1
makeactive
boot

title DOS-PARTITION FLOPPY BOOT für die DOS - Installation ab Floppy
hide (hd0,0)
unhide (hd0,1)
hide (hd0,2)
chainloader (fd0)+1
bootsektor ist auf floppy
#boot

title W2K-PARTITION FLOPPY BOOT für W2K - Installation ab Floppy / CD
unhide (hd0,0)
hide (hd0,1)
hide (hd0,2)
chainloader (fd0)+1
#boot

title W98se-PARTITION FLOPPY BOOT für W98-Installation ab Floppy / CD
hide (hd0,0)
hide (hd0,1)
unhide (hd0,2)
chainloader (fd0)+1
#boot

title - zeigt, was in der Menuzeile geschrieben steht, dann folgen Befehle, wie wir sie vorhin manuell durchgespielt haben: festlegen des Kernel-ortes, Angeben der Startdatei.
Neu werden wir 3 Befehle brauchen: 'hide', 'unhide' und 'makeactive' - die entsprechenden Partitionen werden damit vom Bootloader einfach versteckt oder gezeigt sowie als aktiv, also bootbar, gekennzeichnet.
Mit der Anweisung 'chainloader' wird auf den bootsektor der entsprechenden Partition verwiesen, der dann weitere Bootanweisungen enthält.
Bei MS-DOS-systemen gibt man mit 'noverify' noch an, dass nicht gemounted werden soll.

GRUB ist ausserordentlich gut dokumentiert - für Einzelheiten schaue man doch selbst nach.

Um die einzelnen Betriebssysteme einzurichten wurden im Menu noch Hilfseinträge geschrieben, die dann zuerst ab Floppy booten - das Menu wird nach gelungener Installation dann noch etwas frisiert.

Dieses abgeänderte Bootmenu wird in Beaver mit dem Speichern-Icon zurück auf die Diskette geschrieben.
Linux herunterfahren.

Nun installieren wir als erstes W2K

Wir starten neu mit unserer Bootfloppy und sollten jetzt das Menu sehen - schön cyan & pink....
Wir wählen W2K-Partition FLOPPY BOOT, wechseln aber bevor wir ENTER drücken die Diskette: Bootdiskette raus und DOS-startdiskette rein (DOS deshalb, weil die erste Partition quasi nur das Sprungbrett zur eigentlichen W2K-Partition ist)
DOS wird gestartet. Wir schreiben beim DOS-prompt <fdisk> und wählen dort <4> = Anzeigen der Partitionsdaten. Da sollte jetzt die erste Partition als C: erkannt werden und mit 'A'ktiv bezeichnet sein. Alles übrige erscheint als NON DOS oder EXT DOS. Ist dem wirklich so, dann kann man fdisk verlassen <esc> und schreibt beim DOS-prompt <sys c:>, womit die minimalsten DOS-Systemdateien übertragen werden und der MBR beschrieben wird. (damit killen wir zwar den von DSL eingerichteten Bootloader und können Linux nicht mehr ab HD starten - flicken das zuletzt aber wieder).
Wir schalten den Computer aus, entfernen das Floppy- und setzen das CD-Laufwerk ein mit der W2K-Installations-CD.
Beim Aufstarten sollte ja jetzt direkt von der CD gebootet werden und - falls wir im gefragten Moment eine Taste drücken - können W2K installieren.
Bei der mal allmählich erscheinenden Frage 'wo' wählen wir die 'beschädigte oder unformatierte' Partition von (hier im Beispiel) etwas über 14 Gb Grösse, die wir für W2K vorgesehen haben, die aber noch nicht formatiert ist, was aber sogleich mit NTFS geschehen soll. Die ganze Installation nimmt ihren schleppenden Lauf, sollte aber eigentlich reibungslos von statten gehen - um ev. benötigte Treiber kümmern wir uns viiiel später.
Nach abgeschlossener Installation schalten wir aus und setzen wieder das Floppylaufwerk mit unserer Bootdiskette ein.
Jetzt wählen wir bei dem gebastelten bootmenu 'W2K' - und erleben eine Überraschung: W2K hat seinerseits einen weiteren Bootloader montiert, der das in Partition 1 gwfundene DOS (also das 'Sprungbrett') mit einbezieht. Noch ein DOS mehr und eine weitere Bootloaderverzweigung brauchen wir nun wirklich nicht: wir gehen weiter ins W2K, öffnen den Editor Notepad und schauen uns die Datei 'boot.ini' im Laufwerk 'C:' an. Da ändern wir schlicht den Wert bei 'timeout' von 30 nach 0, speichern die Datei und sind den MS-W2K-Bootloader los...
Etwas ungewohnt ist jetzt W2K auf 'E:\', die gemeinsamen Daten auf 'D:\' und auf der Startpartition 'C:\' sind lediglich die System-startdateien.

Nun kommt DOS an die Reihe.

Wir booten wieder mit unserer Bootdiskette und wie vorhin setzen wir die DOS-Diskette ein, bevor wir DOS-PARTITION FLOPPY BOOT wählen. Ebenso wie vorhin versichern wir uns zuerst, dass nun nur die zweite Partition als 'C:' erkannt wird & aktiv ist (<fdisk>, <4>).
Mit <sys c:> installieren wir das Gerüst für DOS, alle weiteren files können wir später mal einspielen.

Und nun noch W98se

Neustart mit Floppylaufwerk und unserer Bootdiskette: beim Menu jetzt W98-FLOPPY BOOT auswählen, diesmal aber vor <Enter> die Diskette entfernen. Grub gibt eine Fehlermeldung, die uns weiter nicht stört - wir wollen ja einzig auf der richtigen Partition landen... Notebook ausschalten, Floppy-Laufwerks raus, das CD-Laufwerk rein mit der W98se-Vollversion-CD, einschalten und die CD wird booten - man wähle aber NICHT Win98 installieren sondern ..."mit CD-ROM-unterstützung". Beim prompt a:> gibt man <fdisk> ein, bestätigt FAT32 und sieht sich mi <4> die Partitionstabelle an. Da sollte jetzt die für W98 vorgesehen Partition mit 'C' bezeichnet sein (und nicht aktiviert, das übernimmt dann der windows-installer...). Ist alles richtig, so geht's los: wir ersparen uns aber viel Ärger, wenn wir die Installation jetzt direkt starten: wir gehen ins Verzeichnis ..\WIN98 der CD und geben <setup> ein. Dann startet das ganze Setup ohne lästige Fragerei oder gar Abbruch. (bei Wählen der Option 'W98se jetzt installieren' im Boot-Menu der CD kann nämlich folgendes geschehen: das Installationsprogramm stellt bald 'MS-DOS-fremde Betriebssysteme' fest, die es zuerst löschen und die Platte neu formatieren möchte... wir beharren darauf, dass diese Systeme beibehalten werden und die nette Warnung, dass wir dann ev. den Zugeng zu diesen Systemen verlieren, ignorieren wir höflich - schliesslich wissen wir das besser...Im schlimmsten Fall wird bricht die Installtion dennoch einfach ab und es wird etwas von 'Laufwerk ev. komprimiert' gefaselt..)
Ansonstensollten wir W98se mit höchstens den üblichen Problemen installieren können - fehlende Treiber kommen später.

 

Fast geschafft !

Wir rebooten mit unserer Bootdiskette und testen alles aus. Wenn wir reibungslos in alle 4 Betriebssysteme kommen sind wir quasi fertig.

Nur gilt es jetzt noch ernst: der bootloader wird auf der Festplatte installiert!
Wir booten mit unserer Bootdiskette ins Linux als root.
Xshell öffnen und mit <cd/boot/grub> in dieses Verzeichnis wechseln, mit <ls -l> die dortigen files anschauen.
Das file 'menu.lst' sollte noch vorhanden sein, das ist eben das Beispiel-gerüst, das DSL selbst bereitgestellt hat und das wir ursprünglich auf unsere Diskette kopiert und dort abgeändert haben.. Wer will kann es sichern mit z. Bsp. <cp menu.lst menu_dsl.lst>
Wir mounten unsere Startdiskette <mount /dev/fd0 /floppy>
Wir kopieren unser eigenes Bootmenu von der Diskette auf die Festplatte: <cp -i /floppy/boot/grub/menu.lst /boot/grub> (-i heisst 'interaktiv' - dann werden wir gefragt, ob wir überschreiben wollen - ja, wollen wir !)
Wir öffnen GRUB: <grub>, es erscheint - kann etwas dauern - der prompt von GRUB>. Da schreiben wir <root (hd0,7)> um anzugeben, dass unser Linux auf der 8ten Partition der ersten festplatte zu finden ist. (remember: GRUB zählt von Null an).
Grub wird etwa mit der Meldung antworten: 'filesystem type is ext2fs, partition type 0x83' - das stimmt mit unseren Erwartungen überein = Linucparttion.
Jetzt geben wir ein: <setup (hd0)>
Da sollte dann hoffentlich keine Fehlemeldung kommen sondern kurz darauf ein Kommentar mit 'success.........success.....' und alles ist knut!

Wir fahren sogleich runter, nehmen die Diskette raus und starten.
Da erscheint unser Bootmenu genau wie bei der Diskette (nur eben etwas schneller...) und nach kurzer Prüfung wird man sehen, dass alles klappt wie erwünscht.

Jetzt richten wir uns noch in aller Ruhe die Betriebsysteme fertig ein und konfigurieren sie nach unseren Wünschen. Dabei nutzen wir natürleich bereits die Struktur: so können wir etwa mit einem Windows & Netzwerk alle files, die ins DOS kommen, von einem angeschlossenen Pc in den gemeinsamen Datenraum herunterladen und sie dann später unter DOS von dort kopieren. Wir können aber auch unter Linux etwa Daten ab Memorystick kopieren und sie dann unter DOS weiterverarbeiten - alles ist jetzt möglich.

Am schluss frisieren wir auch noch unser bootloadermenu und behalten lediglich die Einträge, die wir wirklich brauchen - die andern blenden wir mit Kommentarzeichen # aus.

Und wenn wir dann Linux können, dann ersetzen wir DSL durch eine ausgewachsene Distribution und wenn wir dann gut Linux können, dann schmeissen wir Windows von der Platte.....
Bis dahin ist es aber noch ein langer Weg auf dem etliches schiefgehen wird. Und wir wollen sicher nicht jedesmal wieder von ganz vorne beginnen:

Darum sichern wir uns noch das bootmenu, ev. die wichtigsten Konfigurationsfiles und für den Notfall den MBR und die einzelnen Bootsektoren der Partitionen - am besten in die gemeinsame Daten-Partition und auf einen memorystick.
Die gemeinsame Datenpartition muss man jeweils zuerst mounten: <mount /dev/hda6 /mnt/hda6>, dann kann man mit <mkdir /mnt/hda6/dsl> ein backupverzeichnis 'dsl' einrichten und mit <cp -r /boot/grub /mnt/hda6/dsl> den ganzen Ordner 'grub' sichern, der auch unser bootloader-menu enthält. Ähnlich kopiert man andere, wichtige Konfigurationsdateien. Auch grosse, gezippte Programmdateien, die man sich aus dem Internet herunterlädt, kopiert man besser noch in die gemeinsamen Datenpartition - dann hat man wieder schnell Zugriff dazu. Beim ausgiebigen und unbedarften Experimentieren mit DSL (und ich persönlich lerne so mehr, schneller & nachhaltiger als mit Papierkram) ist bald mal was hoffnungslos verschossen. Dann muss man nur DSL von der live-CD aus neu booten, wiederum auf die Festplatte übertragen - diesmal aber OHNE einen bootloader mitzuinstallieren, wir beantworten also die Frage nach einem bootloader mit <n>! Nachdem alle Dateien von der DSL-live-CD kopiert wurden gehen wir - ohne Neustart ! - gleich in die root-Xshell und mounten hda6 und hda8. Dann kopieren wir den gesamten, gesicherten Ordner 'grub' nach /boot, also: <cp -r /mnt/hda6/dsl/grub /mnthda8/boot>. Wir versichern uns, dass in /mnt/hda8/boot/grub jetzt unsere kopierten Dateien sind und können wieder wie gehabt von der Festplatte aus und mit unserem gleichgebliebenen bootmenu in ein neues, jungfräuliches DSL booten.. Den anderen Systemen ist dabei nichts geschehen - die ganze Aktion dauert mal ganze 10 Minuten. Klar - alle eingerichteten Programme & Einstellungen sind flöten gegangen (deshalb Kopien in hda6 anlegen, dann sind sie schnell wieder installiert), aber wir sind ja am Üben und darum empfehle ich, schön eines nach dem anderen auszuprobieren und nicht gleich in beliebter Anfängermanier nach dem perfektenSystem zu stereben.

MBR sichern (und wiederherstellen)

Der MBR - Master boot record - ist der erste Sektor der Festplatte und und enthält nebst einem minimalbootprogramm die Partitionstabelle. Ist er korrupt, so ist booten unmöglich. Partitionen haben anstelle des MBR einen bootsektor. All das kann bei WIKI genau nachgelesen werden.

Es ist eine gute Idee, alsbald ein backup des MBR und der verschiedenen Bootsektoren auf Diskette oder besser memory-stick zu machen.
Das geht so: (ein noch ausführlicheres tutorial gibt's hier: Small Scale Back- ups and Restoring

Linux ab HD oder DSL-live-CD starten.
Gesichert wir auf einen USB-memorystick (fals ab CD gebootet werden muss - dann hat's kein floppy...)
Man geht in die Xshell mit root-access.
Da vergewissert man sich mit <fdisk -l>, ob sowohl die Festplatte wie auch der memorystick richtig erkannt werden: alle Partitionen sollten aufgelistet sein.. Der memorystick heisst 'sda' und wird vermutlich mit win95 FAT16 formatiert sein. Er muss eingebunden werden mit <mount /dev/sda1 /mnt/sda1>

dann wird der MBR gesichert, und zwar am besten in 2 Versionen:
Der MBR ist 512 bytes gross. Die 66 bytes von 446 - 512 sind die Partitionstabelle der Festplatte, die letzen 2 bytes enthalten Hex 55 AA als rudimentäres Erkennungszeichen eines beschriebenen MBR's.
Je nachdem tut man gut daran, nur den Code des MBR's zu ersetzen. Ist der MBR futsch, so kann es sein, dass die Partitionstabelle noch intakt ist und die sollte man nicht mit falschen Daten überschreiben, falls in der Zwischenzeit an den Partitionen gefummelt wurde.

Deshalb machen wir ein backup des gesamten Sektors MIT Partitionstabelle und ein Backup, das nur die ersten 446 Bytes enthält. So sollten wir einigermassen gewappnet sein...

Wir tippen: <dd if=/dev/hda of=/mnt/sda1/MBR_512.bin bs=512 count=1> (als Antwort gibt's: 1+0 records in, 1+0 records out)

dd=disc dump, if=inputfile = hda=erste festplatte, bs=blocksize=512bytes, count=anzahl blocks=1 of=outputfile=Dateiname auf Stick

Und entsprechend ohne Partitionstabelle: <dd if=/dev/hda of=/mnt/sda1/MBR_446.bin bs=446 count=1>

Und weils so schön war sichern wir die bootsektoren der einzelnen Partitionen auch gleich:
Bootsektor der W2K-Startpartition:
<dd if=/dev/hda1 of=/mnt/sda1/BSTART2K.bin bs=512 count=1>

Bootsektor der DOS-partition:
<dd if=/dev/hda2 of=/mnt/sda1/BS_DOS.bin bs=512 count=1>

Bootsektor der WIN98-partition:
<dd if=/dev/hda3 of=/mnt/sda1/BS_W98.bin bs=512 count=1>

Bootsektor der erweiterten Partition - sie enthält nur die erweiterte Partitionstabelle
<dd if=/dev/hda4 of=/mnt/sda1/BS_EXTP.bin bs=512 count=1>

Bootsektor der W2K-partition:
<dd if=/dev/hda5 of=/mnt/sda1/BS_W2K.bin bs=512 count=1>

Bootsektor des gemeinsamen Datenbereichs sowie der swap- und Linuxpartition sind irrelevant.

Zurückgespielt werden gesicherte Sektoren durch Austauschen der input/output Dateinamen...
Damit sollte man nur im Notfall hantieren und sich besser vorher noch genauer informieren - ich halte mich da lieber zurück mit falsch zu verstehenden Ratschlägen.

TM - Bern - Feb. 08