linux-l: Festplatten-Partitionierung

Jens Dreger jens.dreger at physik.fu-berlin.de
Di Dez 12 12:03:26 CET 2000


On Tue, Dec 12, 2000 at 09:23:52AM +0100, Andreas Gurk wrote:
> [...]
> Grundsätzliches
> Ich setze voraus daß du den Linux Boot-Manager 'LILO' verwenden
> möchtest. Damit dürfte es egal sein in welchen GByte Bereichen Deiner HD
> die Betriebssysteme liegen. (HD = Festplatte)

LILO kann nur mit 'neueren' Mainboards von Zylindern >1024
booten (benoetigt EDD Bios extensions). Tatsaechlich schliesst
das wahrscheinlich alle Mainboards ein, mit denen man heute so zu tun 
hat. Testen kann man sein BIOS indem man sich die lilo-sourcen
holt und mit 'make floppy' eine Testdiskette erstellt.

> Wichtig ist das die Partitionen mit den Betriebssystemen zwischen den
> Zylindern 1 und 1024 liegen. 

Das kommt auch die Betriebssyteme an. Wir sprechen hier ja ueber Linux
und Windows 98 SE. Ich habe beide schon vollkommen oberhalb Zylinder
4000 installiert. Windows98SE scheint nach meinen Erfahrungen damit
keinerlei Probleme zu haben. Etwas nervig ist, dass bei den meisten
Linux-Distributionen (so war's jedenfall bei mir) ein zu alter LILO
dabei war, so dass man erstmal von Diskette booten musste.

> Zusätzlich ist es für Windows wichtig das es sich um eine Primäre
> Partition handelt.

Windows98SE will unbedingt auf C:. Das ist die erste _aktive_ primaere
Partition auf der ersten Platte. Man kann C: mit dem bootflag
verschieben, somit also mehrere Windows98 installieren. Dann wechseln
aber die Laufwerkbuchstaben beim Wechsel der Windows-Installation.

Windows 2000 verhaelt sich nach meinen Erfahrungen komplett anders. Es
besteht nicht auf einer primaeren Partition, muss aber unbedingt eine
handvoll Dateien unterhalb Zylinder 1024 unterbringen (NTDETECT.COM,
NTLDR, BOOT.INI, usw.) Daher benoetigt man dann doch wenigstens eine 
kleine Windowspartition weit vorne auf der Platte. Der Rest kann
oberhalb Zylinder 1024 liegen. Es wuerde mich sehr interessieren, ob
es hier einen Weg gibt, Win2k auszutricksen. Dies macht auch die
Parallelinstallation von Win2k und WinNT4 nicht gerade einfacher. Hat
das schon jemand gemacht?

> Vorgehensweise
> 1.) Starte die Linux Installation.
> 2.) Partritioniere die HD:
> Device-Name: /dev/hda1
> von: 1
> bis: 512   (das sind Zylinder, nicht Byte)
> Type: 6 DOS   ( 6 gilt bei SuSE, wichtig ist, daß hier DOS steht)
> 3.) Schreibe die veränderten Werte auf die Partitionstabelle
>      n i c h t s   Formatieren
> 4.) Breche die Linux Installation ab.

Das wird sicherlich gehen, aber prinzipiell ist es immer am besten,
zur Installation von BetriebssystemX nur Tools von SystemX zu
verwenden. Nun ist DOS-fdisk anerkanntermassen das duemmste Programm
von hier bis Bagdad Mitte. Und DOS-format unendlich langsam. Ich
empfehle das wunderbare Tool:

	 http://www.users.intercom.com/~ranish/part/

Das Ding formatiert eine FAT32-Partition in Sekundenbruchteilen und
kann noch allerlei mehr. Hat man schon ein Linux installiert, kann man
mit 'mkdosfs -F 32 ...' auch FAT32-Partitionen schnell formatieren. 
Windows98 frisst das.

> 5. Installiere Windows
>     Da Du nur eine für MS bekannte Partition hast, sollte das Windows
> Installations-Programm diese erkennen, formatieren und das Betriebssystem
> aufspielen.
> 6. Teste ob sich Windows nun von HD booten läßt.

Windows98 macht im Gegensatz zu Windows2000 (ungefragt) den 
MasterBootRecord (=MBR) platt, oder besser: installiert dort seinen 
Bootloader. Zu diesem Zeitpunkt wird Windows98 sicherlich
booten. Installiert man aber LILO im MBR und traegt Windows nicht ein,
ist es natuerlich weg.
 
> 7. Installiere Linux
> 8. Beim Partitionieren wählst Du:
> Device-Name: /dev/hda2
> von: 513
> bis: 1024   (das sind Zylinder, nicht Byte)
> Type: 83 Linux native   ( 83 gilt bei SuSE, wichtig ist das hier Linux und
> nicht swap steht)
> Mount-Point: /

Na, das macht dann 4GB root-Partition (wenn wir mal von 255 Heads
ausgehen). Das ist relativ viel. Ich wuerde sowas vorschlagen wie

	   128MB /

	   mind. 2xHauptspeicher fuer swap 
	   (swap unbedingt auf eigene Parition)

	   xGB	 /usr

evtl. /usr/local einzeln, /home einzeln.

> diese Partition mußt Du nun formatieren. (nicht einfach nur in die
> Partitionstabelle schreiben, wie zuvor die Windows Partition.)
> 
> 9.) Nun empfehle ich unter /dev/hda3 eine 'Erweiterte Partition'
> (Extended) anzulegen und dort die Partitionen anzulegen, die nicht
> gebootet werden.

Du kannst (und das ist nicht unbedingt die schlechteste Idee) Linux
komplett in eine Extended Partition packen. In einer solchen Extended
Partition kannst Du so viele logische Laufwerke anlegen wie Du
willst. Diese sind als verkettete Liste organisiert, was den tollen
Effekt hat, dass Du z.B. /hda6 in der Mitte rausloeschen kannst, und
alle eins aufruecken. Damit kann man prima Spass haben. :)

> Da Du von Windows darauf zugreifen möchtest müssen diese natürlich vom
> Typ: DOS sein.

Ich glaube, ich habe Windows mal ziemlich dadurch verwirrt, dass ich
zwei primaere DOS-Partitionen hatte, aber keine logischen 
DOS-Partitionen in der Extended Partition. Als Fausregel gilt: alles
was man mit DOS-Hausmitteln anlegen kann (und das ist ja nicht viel),
macht Windows gluecklich. Eine primaere DOS und der Rest logische
Laufwerke ist OK, das haette auch DOS-fdisk geschafft. Ich glaube, man
kann Windows davon abhalten, sich um eine Extended Partition ohne
DOS-Laufwerke Sorgen zu machen, wenn man als Typ '85 Linux Extended'
statt '5 Extended' waehlt. Zusaetzlich gibt es unter DOS noch ein 
niedliches Feature: die ersten Sektoren logischer Laufwerke muessen
als letzte zwei Bytes irgendsoeine Kennung (ich glaube 0xAA55 oder so) 
enthalten. Wenn diese Kennung bei einem logischen Laufwerk fehlt,
bricht fuer DOS da die ganze Kette ab und alle Laufwerke dahinter
verschwinden im Nirvana. Ganz toller Effekt. Aber darum muss man sich
nur kuemmern, wenn man groben Unfug unternimmt.

Nachdem Du Linux installiert hast, wird (wie schon gesagt) Windows98
erstmal nicht mehr gehen (wenn Du LILO im MBR installierst). 
Wahrscheinlich wird Dir aber die Installation anbieten, einen Eintrag
fuer DOS im Bootmenu vorzunehmen, weil die DOS-Partition erkannt
wurde. Sonst einfach die Zeile

       other=/dev/hda1
	label=win

in der lilo.conf eintragen und lilo aufrufen. Man kann uebrigens mit
LILO auch das bootflag umsetzen und die Platten vertauschen, also
Windows98 auf der 1.,2. und 3. Parition der 2ten Platte installieren,
und Windows merkt's nicht. Man braucht ja eigentlich immer mehrere
Windows, falls mal eins platt geht.

Hoffe, alle Klarheiten sind hiermit beseitig,

Jens.



Mehr Informationen über die Mailingliste linux-l