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
|