
multiswap-HOWTO         Version 1.3,         freigelassen 13.5.95
Autor: Matthias Pfau       ihh-Mehl:       matthias@aladin.han.de


Man kann linux, Warp und Windows auf den selben Plattenplatz
swappen lassen - teilweise jedoch nur mit manuellem Nachbessern
beim wechselweisen Booten. Hier wird anhand von vier Varianten
beschrieben, wie es geht.

=================================================================



    Inhalt:
    =======

I   Was ist neu?
II  Vorueberlegungen
III Beispiel: Partitionstabelle einer alten LPS120A
IV  Verwendete Abkuerzungen

1.) linux   swappt in 386SPART.PAR
2.) Windows swappt in  SWAPPER.DAT
3.) Ueberformatieren der Swappartition beim Booten
4.) Ueberlagerung von Partitionen
5.) Schlusswort

    Anhang

A   Dateisysteme
B   Groessen, mit denen man rechnen muss
C   Vorschlag einer Partitionierung

=================================================================



I   Was ist neu?
----------------

Jetzt sind alle Varianten im doppelten Bootwechsel
(linux - win; win - linux  usw.) getestet: Bis Version 1.2
funktionierte leider manches nur in einer Richtung. Neu ist
auch ein Vorschlag zum Patitionieren. Der neue Name in Mailboxen
ist MULTIS13.ZIP (ich _liebe_ DOS-Dateinamen!), .TGZ gibt es
nicht mehr und fdisk..10.92 liegt nicht mehr bei.

Viele interessante Details sind nur einmal erwaehnt. Wer es also
genau wissen moechte, sollte nicht nur das ihn interessierende
Kapitel lesen.

=================================================================



II  Vorueberlegungen:
---------------------

Linux moechte gern in einen zusammenhaengenden Plattenplatz
auslagern, und das geht ab 1-2 MB Groesse nur mit einer Swap-
Partition, da das ext2fs grosse Dateien absichtlich fragmentiert
(siehe: "Dateisysteme" Anhang A). Bei grossen
normalen Dateien ist es meistens egal, ob die Platte zwei mal
mehr zuckt oder nicht. Das zeitkritische swappen wird dadurch
aber sicherlich behindert. IBM empfiehlt fuer Warp aus diesem
Grund ebenfalls eine eigene Partition, und Windows entgeht der
Fragmentierung nur mit einer permanent platzverschwendenden
Datei. Eine Partition nur zum Auslagern ist also angesagt!

Die dimensioniert man nach dem BS mit dem groessten 
Schwappbedarf (meistens OS/2) auf etwa 12-20 MB. Wenn man nicht
alle Nase lang die Platte neu partitionieren will, sollte man an
die Zukunft denken und abschaetzen, wie stark Win95 und
Multimedia das RAM (also auch swap) beanspruchen. Wer keinen
Stroemer hat, ist mit 32 MB evtl. auch nicht schlecht beraten.
Die Faustregel "SWAP = 2*RAM" fuer Unix markiert das aller
oberste Ende des Sinnvollen und mehr als 20 MB Swap wuerde ich
auch bei 16 MB RAM nicht nehmen, solange ich nicht genau wuesste
wofuer.

Nichtsdesto trotz: Umpartitionieren wird nur in Variante 3 und 4
wirklich noetig, ist aber immer sinnvoll, falls noch nicht
geschehen. Siehe auch: "Vorschlag einer Partitionierung" im
Anhang C.

=================================================================



III Beispiel: Partitionstabelle einer alten LPS120A als Slave:
--------------------------------------------------------------

Command (m for help): p

Disk /dev/hdb: 7 heads, 62 sectors, 550 cylinders
Units = cylinders of 434 * 512 bytes

   Device Boot Begin Start  End  Blocks  Id  System
/dev/hdb2          3     3   77   16275  82  Linux swap   # nur fuer Variante 4!
/dev/hdb3          2     2   77   16492   5  Extended           # Container
/dev/hdb4         78    78  549  102424   6  DOS 16-bit >=32M   # pri DOS (D:)
# -----------------------------------------------------------------------------
/dev/hdb5          2     2   77   16461   6  DOS 16-bit >=32M   # log DOS (E:)

Command (m for help): w
The partition table has been altered.
Please reboot before doing anything else.


hdb4 ist das primaere DOS-LW, hdb5 das erste und einzige logische
LW (in der erweiterten Partition hdb3) - hdb1 bleibt ungenutzt.
Die Swappartition liegt am Anfang der Platte (,wo sie viele
Sektoren/Spur hat), aber als LW E: logisch hinter D:, welches ich
nur fuer Daten nehme. Das ist mit _MS_-DOS so nicht zu erreichen!

=================================================================



IV  Verwendete Abkuerzungen:
----------------------------

AD     Auslagerungsdatei
BS     Betriebssystem
DS     Dateisystem
LW     Laufwerk
MBR    Masterbootrecord
Part.  Partition
PTT    Partitionstabelle

=================================================================



1.) linux swappt in 386SPART.PAR:
---------------------------------

Linux kann sehr wohl auch in eine Datei _fester_ Groesse und Lage
swappen, und die Datei darf auch auf einem FAT-LW liegen und sogar
fragmentiert sein!

unter linux:
mkdir /c-dos                     #  oder wo man die DOS-Part
                                 #  montieren will
mount -t msdos /dev/hdax /c-dos  # (statt hdax die eigene DOS-
                                 #  Partition einsetzen, wo sich
                                 #  die AD befindet)
mkswap /c-dos/386spart.par xxxxx # (Groesse in echten KB vorher
                                 #  ermitteln - oder etwas kleiner)
swapon /c-dos/386spart.par



Oder wie aus dem Beispiel:
mkdir /swap
mount -t msdos /dev/hdb5 /swap   # (statt hdb5 die eigene DOS-
                                 #  Partition einsetzen, die zum
                                 #  Swappen benutzt werden soll)
mkswap /swap/386spart.par 15300  # (Groesse in echten KB vorher
                                 #  ermitteln - oder etwas kleiner)
swapon /swap/386spart.par



Am Ende von /etc/rc.d/rc.S nach "mount -a" fuegt man
"mkswap /swap/386spart.par 15300" und "swapon /swap/386spart.par"
ein, denn in der /etc/fstab koennen nur _Partitionen_ (keine
Dateien) stehen. Damit es beim shutdown nicht knirscht, muss man
das Auslagern selbst wieder abschalten: "swapoff -a" demontiert
nur Partitionen! Also: "swapoff /swap/386spart.par" in
/etc/rc.d/rc.K _vor_ "umount -a" einfuegen.

Das ganze funktioniert praechtig in beiden Richtungen. OS/2 darf
hierbei aber nicht mitspielen, weil die permanete AD keinen Platz
mehr laesst.

=================================================================



2.) Windows swappt in SWAPPER.DAT:
----------------------------------

Man kann Warp ueberreden, die Anfangsgroesse seiner AD auf z.B.
15 MB zu setzen: SWAPPATH= in der config.sys aendern auf
"SWAPPATH=E: 512 15360". Solange Warp nicht das Beduerfnis hat,
sie zu _vergroessern_ bleibt sie auch auf 15 MB.

Jetzt hat man _nur_ noch zwei Probleme:
1. Wie ueberrede ich Windows in SWAPPER.DAT zu schwappen und
2. Wie erreiche ich eine AD-Groesse von einem _genauen_
   Vielfachen von 1 MB?

Das erste ist recht einfach: Das readonly-Attribut der
Binaerdatei SPART.PAR wird geloescht, damit man sie bearbeiten
kann. Mit dem eingebauten Editor vom NC oder einem HEX-Editor
aendert man den Namen von "386SPART.PAR" in "SWAPPER.DAT ", wobei
das Leerzeichen am Ende dafuer sorgt, dass sich die nachfolgenden
Bytes nicht verschieben. Dann loescht man das ro-, hid- und das
sys-Attribut von 386SPART.PAR und benennt sie um. Umgekehrt
geht es nicht, weil OS/2 auf den Namen angewiesen ist.

Das zweite Problem ist schon sehr viel schwieriger: Windows
stellt sich recht stoerrisch an, wenn es auf MB-Grenzen trifft.
Eigentlich muesste bei 2k cluster-Groesse jede geradzahlige
KB-Groesse akzeptiert werden. Dies ist wohl eine kleine
Gemeinheit von William G. gegen OS/2.

Fuer linux muessen dann natuerlich noch die Namen aus 1.)
angepasst werden.

Das hinkriegen zu wollen, ist also etwas fuer Leute mit
ausgepraegtem Spieltrieb. Wenn' s jemand _reproduzierbar_
geschafft hat: Bitte Mail an mich!

=================================================================



3.) Ueberformatieren der Swappartition beim Booten:
---------------------------------------------------

Man laesst linux stumpf auf die HPFS-Swap-Partition swappen und
laesst OS/2 nach jedem Booten (in der config.sys) das LW neu
formatieren: "run=\os2\format.com E: /fs:hpfs" in die config.sys
vor "memman" und "swappath" einfuegen. Dabei passieren allerlei
Merkwuerdigkeiten, weil Warp die config.sys nicht sequentiell
ausfuehrt. So wird das Swappen noch
vor den run-Anweisungen aktiviert: Warp faehrt dann scheinbar
wieder runter. Man sollte abwarten und sich das traurige Ergebnis
ansehen: 16 MB Partition, 4,6 MB in einer Datei, keine versteckten
Dateien und 52 KB frei. Und formatieren kann man sie nicht, da ja
aktuell auf sie ausgelagert wird! So bleibt einem nur noch, von
der Service-Partition zu booten, denn von Diskette ist das wenig
erquicklich! Das REXX-Script BOOTOS2.ZIP (in vielen Mailboxen)
soll da ganz patent sein. Werde ich demnaechst ausprobieren.

Wenn es dann geklappt hat, tauchen die naechsten Probleme unter
DOS auf: Format /fs:hpfs aendert den Eintrag der PTT auf Typ 7
(HPFS), so dass DOS-FDISK das LW gar nicht mehr findet.



Erst wenn man Warp und Windows in eine temporaere AD auf einer
FAT-Part. swappen laesst, wird ein Schuh draus:

Solange der Partitionstyp 6 ist, finden DOS und Warp ein
(unformatiertes) LW, wenn linux die Formatierung ueberschrieben
hat. Also: "run=\os2\format.com E:" in die config.sys von Warp
und "format E:" in die autoexec.bat von DOS.

Umgekehrt muss linux bei jedem Start mit mkswap die Signatur
erneuern, bevor das Swappen aktiviert wird: Am Anfang von
"/etc/rc.d/rc.S" (vor "swapon -a") "mkswap /dev/hdb5 16460"
einfuegen und "/dev/hdb5 swap swap defaults" in /etc/fstab
anpassen. Die kB-Zahl sollte wegen den 4k-grossen pages, die
Prozessoren ab 386 auslagern, durch vier teilbar sein. Hierbei
waere es egal, ob FAT oder HPFS verwendet wird, weil linux
beide kennt (und geflissentlich ignoriert).

Wen die 5 lost cluster auf E: nach dem Start von Warp nicht
stoeren, hat hiermit eine relativ einfache Moeglichkeit, den
Swappplatz von drei BS'en uebereinander zu legen.

Wen doch, der moege zwischen linux und Warp einmal DOS booten,
um LW E: zu formatieren.

=================================================================



4.) Ueberlagerung von Partitionen:
----------------------------------

Moeglich ist das mit einer uralten fdisk-Version von linux:
(von Oktober 92 fuer Kernelversion 0.96 oder 0.98). Ich habe
sie fdisk..10.92 (bzw. FDISK-10.92 in MULTISWP.ZIP) genannt,
damit man sie nicht mit der aktuellen Version verwechselt.
Damit kann man mit 1 (oder 2) Zylinder offset eine neue
primaere Partition _in_ eine DOS-Partition legen. Mit dem
fdisk-Komando: "verify partiontable" wird diese
Ueberschneidung korrekt angemeckert (aber eben nicht
_verhindert_, wie es die neueren Versionen tun) und das ist
genau das, was ich will.   :-)

An den Anfang des DOS-Laufwerks (FAT!), das man zum swappen 
benutzen will, kopiert man eine ca. 200-950 kB grosse Datei,
auf deren Inhalt man verzichten kann, und die man am besten
umbenennt in DUMMY oder so, damit man sie nicht 
versehentlich loescht. Mit Speedisk oder einem anderen 
Plattenoptimierer sicherstellen, dass sie wirklich ganz am 
Anfang liegt. Man sollte sie dann sicherheitshalber noch 
hidden, system, readonly setzen. Sie dient nur als 
Platzhalter, damit die verschiedenen Betriebsysteme sich
nicht gegenseitig stoeren.

Ach - ich vergasz: Vor so einem tiefgreifenden Eingriff in 
die Plattenstruktur sollte man den Platteninhalt sichern: 
Wer irgendwo im Eifer des Gefechts die falsche Taste drueckt 
und alle Daten verliert, kann nicht mit meinem Mitgefuehl 
rechnen!

Unter linux ruft man also "fdisk..10.92 /dev/hdb" auf, printet
die Partitionstabelle mit "p" und sichert mit der Maus oder per
Dateiumleitung die Ausgaben in eine Datei. Man braucht die
Blockgroessen fuer mkswap, wenn man nicht jedesmal fdisk
aufrufen will, um sie zu bekommen. Mit "n" neue Partition
anlegen, als "p" primaere, und einen freien Eintrag suchen.
Im Beispiel war dies Nummer 1 oder 2. Zylinder um eins
groesser waehlen als die DOS-Partition (hier: hdb5) also 3,
Ende Zylinder 77 eingeben und mit "t" Typ wechseln: 82 fuer
linux-swap eingeben. Abspeichern mit "w" und _unbedingt_
neu booten!

Die abschliessende Meldung, sofort zu booten, sollte man
unbedingt befolgen, denn die Partitionstabelle wird im
Gegensatz zu den neueren Versionen _nicht_ neu gelesen. Nach
dem Booten: "mkswap /dev/hdb2 16275" eintippen und mit
"free" kontrollieren, ob es geklappt hat - wenn ja, dann
"/etc/fstab" aktualisieren. Zu beachten sind die kleinen 
Differenzen von hdb3, hdb5 und hdb2: In dieser Reihenfolge
muss die Groesse in kB-Blocks kleiner werden.

Dann aktiviert man mit "mkswap /dev/hdb2 16275" und 
"swapon /dev/hdb2" das swoppen von linux auf diese _Partition_ -
darin gibt es _kein_ Dateisystem! Mkswap schreibt die Signatur:
SWAP-SPACE an den Anfang seiner Swappartition (am Ende seiner
ersten 4k-page) also effektiv mitten in die schreibgeschuetzte
Datei des FAT-LW's. Der Bootsektor, die beiden FAT's, das
Rootdirectory (also die eigentliche "Formatierung") sowie der
Anfang der Platzhalter-Datei bleiben somit erhalten, wenn linux
anfaengt auszulagern. In der 4k-Signatur ist auch die Groesse
des Swappbereichs enthalten: Sie muss komplett erhalten bleiben!
Man kann also die Platzhalterdatei auf 4 kB verkleinern, wenn man
sie lokalisiert hat. Den gewonnenen Platz koennen Mutige zum
dauerhaften Ablegen von kleinen Dateien benutzen. Man muss nur
darauf achten, dass sie nicht hinter die Signatur wandern. Ganz
Pfiffige markieren die drei (!) Bloecke als bad cluster und
loeschen auch den Platzhalter.

Umgekehrt stoert eine temporaere (und auch eine permanente)
Auslagerungsdatei von Windows nicht die Integritaet von linux.

Wer eine grob andere Plattengeometrie hat, kann in "Groessen, mit
denen zu rechnen ist" nachsehen, wie er den offset und die
Platzhalterdatei dimensionieren muss: Bei LBA-Platten mit 32
Koepfen a 31,5 kB/Spur (= 1 MB/Zylinder): etwa 1 MB minus
"Formatierung" = 950kB fuer den Platzhalter.

Da OS/2 sowieso nur eine temporaere Schwappdatei kennt, gibt es
keine Probleme, wenn es in dieses FAT-Laufwerk swappt, und man
kann diese in der autoexec.bat (von DOS) automatisch loeschen.
Sie wird von OS/2 beim naechsten Start neu angelegt.

Abschliessend sei noch gewarnt: Die FAT-Partition (im Beispiel
/dev/hdb5) darf natuerlich _nicht_ gemountet werden:
Schreibzugriffe auf diese gehen sonst direkt ins RAM, wenn das
Ausgelagerte wieder reinschwappt. Der Unix-Systemverwalter muss
eben wissen, was er tut.


Wichtig fuer Ueberflieger:

Die hier beschriebene Loesung bevorzugt klar das bessere
Betriebsystem: linux. Hier braucht es sich beim Auslagern nicht
mit der Aktualisierung eines Dateisystems zu plagen. OS/2 swappt
natuerlich am liebsten in eine HPFS_Partition, und Windows am
liebsten in eine permanente Datei (und vermeidet dadurch
ebenfalls den Verwaltungsaufwand fuer das Dateisystem), aber wenn
man den Plattenplatz effektiv nutzen moechte, muss man
Prioritaeten setzen und ggf. Abstriche machen. Ich halte den
Verwaltungsaufwand fuer eine einzelne, unfragmentierte Datei in
einer 16MB-Partition fuer vertretbar!

Erfolg dieser eleganten Methode (Neulinge moegen das auch 
abenteulich oder unsauber nennen): Alle drei Betriebssysteme 
koexistieren friedlich nebeneinander und nutzen doch einen 
gemeinsamen Schwappbereich.

Jetzt faellt mir auch wieder ein _warum_ ich _diese_ Variante bei
mir vor ueber zwei Jahren eingerichtet habe. Nach der
komplizierten Installation ist sie am bequemsten und sichersten
im Gebrauch, wenn man alle _drei_ BS'e betreiben will. Auf den
Schluss von Variante 3 bin ich damals nicht gekommen, weil ich
auf eine HPFS-Part. fixiert war. Loesung 3 ist nicht so
"schweinisch" wie 4, leistet aber das gleiche. Fdisk..10.92 liegt
auch deshalb nicht mehr bei, weil die Binaries der naechsten
Distributionen nur noch im ELF-Format vorliegen werden. Wer also
unbedingt Variante 4 installieren moechte, sollte sich die Boot-
und Root-Diskette aufbewahren und fdisk..10.92 bei mir anfordern.

=================================================================



5.) Schlusswort:
----------------

Letztlich hat man also nur die Wahl, "auf welche Weise" man sich
die Finger schmutzig macht, dann _ganz_ sauber ist keine der
besprochenen Loesungen.

Die Platzhalter-Datei und das geniale alte fdisk ist 
natuerlich nur fuer Vartiante 4.) noetig. Es ist zwar alt
(aus der Zeit als linux laufen lernte), es laeuft aber auch
unter kernel 1.2.3 und sooo viel kann man auch nicht falsch 
machen, um 64 Bytes im MBR zu schreiben + evtl. 64 fuer 4 
logische Partitionen. 4 primaere und fuenf logische 
Partitionen wuerden also 2*64 + 1*16 Bytes belegen. Vorsicht 
ist aber geboten, und Garantien kann ich auch nicht geben - 
nur meine (guten!) Erfahrungen weitergeben.

Wer's verstanden hat, kann sich auch selbst 'was basteln:
Viele Wege fuehren an MS vorbei! Mit zwei Disketten (boot
und root irgendeiner Distribution) und fdisk..10.92 kann
man auch Systeme bearbeiten, auf deren Platte _kein_ linux
zu finden ist - sofern man jemanden kennt, der diese (in
falschen Haenden nicht gerade ungefaehrliche) Einrichtung
uebernimmt. Wie gesagt: Man sollte verstehen, was man da
tut.

na denn ...   gut Holz!


Matthias



=================================================================
=================================================================
=================================================================





Anhang
======



A   Dateisysteme:
-----------------

Second extended filesystem (ext2fs):

Wie ein Brot wird die Partition in Scheiben (slices) geschnitten.
Jede slice kann eine bestimmte Zahl von Verzeichniseintraegen
(information nodes, i-nodes) aufnehmen und hat 8 MB Kapazitaet.
Damit beide Resourcen gleichmaessig ausgelastet werden, werden
grosse Dateien (von z.B. 6 MB) absichtlich fragmentiert: Sonst
kann es vorkommen, dass zwar noch massig Plattenplatz frei ist,
aber keine Verzeichniseintraege. In den einzelnen slices werden
dann maximal 1-2 MB - innerhalb der slice meistens unfragmentiert -
abgespeichert. Es handelt sich also um ein verteiltes Dateisystem,
das der Fragmentierung dadurch entgegenwirkt, dass es Dateien
erforderlichenfalls selbst gezielt teilt. Wenn naemlich grosse
Dateien haeufig veraendert und abgespeichert werden, sind bald
keine grossen zusammenhaengenden Plaetze mehr frei.
 2 GB / Partition (Erweiterung auf 4 TB ist schon vorgesehen)
16 MB / Datei



Extended filesystem (extfs):

Bis Anfang 93 verwendet. Verkettete Liste: langsam und
fehleranfaellig, wenn die Kette mal zerbricht.



Minix:

Eine Art "Bitmap" (mit 2Byte / "bit") aehnlich wie FAT, aber
durch Hierarchie etwas komplizierter.
65536 Eintraege * 1 kB/cluster = 64 MB (maximal!)



FAT: siehe Anhang B

=================================================================



B:  Groessen, mit denen man rechnen muss:                              |Sektoren
-----------------------------------------                              |  aus
                                                                       |Beispiel
--------------------------------------------------------------------------------
Bootsektor:      1 Sektor                          =   0.5 kB          |     1
16-bit-FAT:  65536 Eintraege a  2   Byte * 2 FAT's = 256   kB (max!)   |    66
12-bit-FAT:   4096 Eintraege a  1.5 Byte * 2 FAT's =  12   kB (max!)   |
root-dir:      512 Eintraege a 32   Byte           =  16   kB          |    32
                                                   ----------          |
Groesse der Formatierung  (12-bit-FAT):            =  48.5 kB (maximal)|
                                                                       |
+ ggf.:                                                                |
Kopf der extended partition:  1 sec, aber Rest der Spur ist reserviert |
                                                   =  31   kB          | +  62
                                                                       | -----
CHKDSK E:    16 MB gesammt,                                            | = 161
                 2 kB/cluster,                                         |
              8205 cluster                                             |
== > 16-bit=FAT (was man mit Norton Disk Doctor nachpruefen kann)      |
              8205 Eintraege a  2   Byte * 2 FAT's =  33   kB (SEKTORgrenzen !)
Summe fuer Beispiel-Partitionen mit 16-bit-FAT:    =  80.5 kB          |
                                                   ==========          |
------------------------------------------------------------------------------
Ab hier beginnt der Datenbereich mit clustern (mit cluster 2 !)



Festplatte LPS120A mit 550/7/62 (C/H/S):
1 Zylinder:  7 * 62 sec = 434 sec = 217 kB

Die 4k-Signatur liegt also bei 217 - 80.5          = 136.5 kB.   (qed)
                                                   ==========



Probe:    4096 cluster * 8 kB/cluster =  32 MB (=max fuer 12-bit-FAT)
         65536         * 8            = 512 MB (=max fuer 16-bit-FAT-DATEISYSTEM)
(1024 cyl * 16 h * 63 sec * 512 B/sec = 504 MB (=max fuer PARTITION!))

Es geht neuerdings auch noch groesser, aber das sollte man
tunlichst vermeiden, auch wenn das BIOS mitspielt: Die Zahl der
cluster ist einfach zu klein fuer "Riesen-Partitionen". Eine
540 MB-Partition erhaelt sonst 16 kB grosse cluster, eine
1.2 GB-Partition sogar 32 kB. Das heisst, dass jede kleine Fuzzel-
Datei (wie config.sys oder clock.ini) 32 kB Plattenplatz frisst.
Bei einer mittleren Dateigroesse unter DOS von ca. 40 kB/Datei
(kann man leicht mit den chkdsk-Ausgaben ausrechnen) und 10000
Dateien werden im statistischen Mittel 10000 * clustergroesse/2
= 160 MB (MEGA-BYTES !!!) VERSCHENKT - nur durch schlechte
Blockgroesse beim unuebelegten Partitionieren!

Mit Troublespace sieht das etwas besser aus: clock.ini belegt
dann nicht mehr 32 kB, sondern nur noch einen Sektor: Daher die
aberwitzig hohe "Kompression", die "dir /c" anzeigt.

Noch ein Hoch auf Winzig-Weich's Fenster 95 mit extended FAT: 
lange Dateinamen, aber ... KOMPATIBEL (!) zu FETT   =>:-((
Das heisst, dass alte DOS-Programme solche Laufwerke als FAT-LW
ansehen duerfen!

Das ist mal wieder Fortschritt a la MS: in Maeuseschritten!
Kompatibilitaet ist der Hemmschuh des Fortschritts! Wenn Win95 in
einer eigenen Partition angelegt wuerde, waere diese
Kompatibilitaet gar nicht noetig! Die DOS-Programme bleiben auf C:.
Aber MS muss ja immer alles in einer Partition haben und duldet
keine anderen Goetter neben sich. Komisch: Bei NT ist es gegangen!
Wenn wir dummen Anwender erst mal wissen wuerden, wie man das
KRIMINELLE (!!!)  DOS-FDISK bedienen muss, sieht MS ziemlich alt
aus. Ich habe den Eindruck, dass fdisk absichtlich dumm gehalten
wird, damit niemand auf den frevlerischen Gedanken kommmt, sich
von MS abwenden zu wollen! (Mail an William G.: "ALT-F4!")


Weniger wichtig, aber fuer manchen interessant:

kleinste Einheit, die das Dateisystem (FAT) schreiben kann:    1 cluster
kleinste Einheit, die alle BS'e  (auch DOS) schreiben koennen: 1 Sektor

Wenn weniger als  1 Sektor veraendert werden soll, wird der ganze
Sektor in einen Puffer von 512 Byte Groesse im RAM eingelesen,
geaendert und zurueckgeschrieben. Die Zahl der Puffer wird in der
unfug.sys mit buffers=__ festgelegt. Sie liegen in der HMA, wenn
sie vollstaendig dort reinpassen, sonst im den UMB. files=__ hat
damit nichts zu tun: files sagt nur, wieviele Dateien MSDOOF
gleichzeitig geoeffnet halten kann.

Linux-Swap hat kein Dateisystem also auch keinen Bootsektor (oder
auch Bootblock). Der Bootsektor des DS wird vom MBR (DOS, lilo,
Mark Williams Loader), Bootmanager oder von einem DOS-Programm
(loadlin, Netware!?) angesprungen und enthaelt unter anderem auch
das Volume-Label. So kann man manchmal das Label sehen, obwohl
die Formatierung vollkommen zerstoert ist. Bei den neueren DOS-
Versionen ist der BS selbst auch nur ein Sprungbrett zum
eigentlichen Kernel MSDOS.SYS und IO.SYS - so wie bei ext2fs und
HPFS auch.

=================================================================



C   Vorschlag einer Partitionierung:
------------------------------------


Partitionen, die jeder haben sollte:
====================================

         Was        Wofuer                    Wieviel (Vorschlag)
-----------------------------------------------------------------
 1.) pri DOS  C:    (DOS + Windows + Programme)      halbe Platte
 2.)   erweiterte Partition (Container fuer alle besseren BS'e)
 3.)   Bootmanager                                           1 MB
 4.)   frei


logische Laufwerke in der erweiterten Partition:
------------------------------------------------

 5.) log DOS  D:    (Daten + Temp)                       20-30 MB
 6.) log DOS  E:    (Swap)                                  16 MB


Fuer Warp-Nutzer:
=================

 7.) log HPFS F:    (System + Programme)
 8.) log HPFS G:    (Daten + Service)                    20-30 MB


Fuer linux-Nutzer:
==================

 9.) ext2fs   /     (alles, was WIRKLICH wichtig ist)     < 20 MB
10.) ext2fs   /usr
11.) linux-swap     (besser Variante 1 oder 3 nutzen!)      16 MB


... und je nach Gusto und freiem Plattenplatz (lach' ins
Faeusstchen: hhh) Win95, Neues Testament oder was einem
sonst noch wichtig ist.



Das sieht viel zwar aus, ist aber eine Beschraenkung auf das
wirklich Notwendige. Unter DOS hat man dann ein Programm-LW
und ein Daten-LW (und eine Auslagerungspartition, um die man sich
nicht kuemmert). Ein eigenes Daten-LW schuetzt die mit viel
Arbeit erstellten eigenen Werke besser vor amoklaufenden
Programmen. Bei Warp sieht's genauso aus.

Unter linux sollte man aus Sicherheitsgruenden eine _kleine_
Boot-Partition haben: Nach der Installation ist sie mit ca.
5,3 MB belegt, die mit der Zeit auf 7-9 MB anwachsen. In diesen
5,3 MB ist alles, was _wirklich_ wichtig ist: kernel, /lib, /bin,
/sbin, /etc und /dev. Alles andere liegt in /usr! Die
/usr-Partition wird in die /etc/fstab eingetragen und beim Booten
automatisch montiert. Alles, was gross werden kann (/home, /root
+ evtl. /tmp und /var/spool) verlagert man physikalisch auf die
/usr-Part. Nach setzen von symbolischen Links (z.B.: rm /home;
mkdir /usr/home; ln -s /usr/home /home) bleibt der logische Ort
erhalten und braucht sich um nichts mehr zu kuemmern: Die
Programme "sehen" die Verschiebung nicht.

Aber Achtung! Auf merkwuerdige Weise schluckt das
Installations-Script von Slackware ca. 2,5 MB pro Partition!
16 MB Partition == > 13,5 MB Dateisystem, abzueglich
weiterer 5% Reserve fuer Root.

