Partitionieren und Formatieren
Inhaltsverzeichnis
Einleitung
Hier finden sich Anleitungen, die sich an den Linux-Anfänger wenden.
- Sie gehen zurück auf 2 Quellen: ein Wiki der PUG Mainz/Wiesbadenz.wiki. festplatte.html
- einen Crashkurs - einer e-Mail-Kommunikation aus dringendem Anlaß, zwischen Konya/Türkei und Mainz/Wiesbaden, im August 2005.
Festplatte testen
Der nachstehend zitierte Text ist ein Ausschnitt aus der Kommunikation auf unserer Mailliste <talk@pug.org>. Ein Teilnehmer saß verzweifelt in Konya in der Türkei vor einer alten Kiste seines türkischen Freundes Memduh, deren 2. Platte nicht richtig reagierte. Hier die Anweisungen der PUGler, was man da zu tun hat.
Schreibfunktion auf /dev/hdd prüfen
Der folgende Text ist sicher interessant zu lesen. Nur braucht man diese Funktion wirklich nur dann, wenn man begründete Zweifel daran hat, dass die Hardware beschrieben werden kann!
Ansonsten bitte diesen Punkt überspringen und direkt weiterlesen bei MBR und/oder Partitionstabelle sichern!
[PUG] partitionshilfe Von: Klaus Klein An: talk@pug.org Datum: 23.08.2005 21:47 grundsätzlich hat Bernhard wohl recht mit dem Ansatz das ganze mal 'Schritt für Schritt' durchzugehen. 1. Schritt -> neuer thread (nu passiert) 2. Schritt -> lass uns mal den Stand Deiner HW-Config verifizieren Platte 1 noch immer als Master (/dev/hda) am ersten IDE-Kanal CD-Rom noch immer als Master am zweiten IDE-Kanal Platte 2 noch immer als Slave (/dev/hdd) am zweiten IDE-Kanal ( Das mit dem CD-Rom und der Geschwindigkeit ist erstmal ok) ( Das mit dem Eintrag der Platte im BIOS sollte auch erstmal kein Problem darstellen da Linux das BIOS eh nicht verwendet) Was kannst Du zur Zeit von wo booten ?? 3. Schritt -> Schreibfunktion auf /dev/hdd prüfen - Am besten mal unter Linux mit 'vi loop' den folgenden Script erstellen: ------------------------------------------------ #!/bin/bash COUNTER=0 while [ $COUNTER -lt 512 ];do echo -n U >> sector.bin let COUNTER=COUNTER+1 done ------------------------------------------------- - anschliessend 'chmod 755 loop' und './loop' - damit solltes Du in dem Verzeichniss eine 512 byte große Datei names 'sector.bin' haben - nun mit 'dd if=sector.bin of=/dev/hdd bs=512 count=1' den ersten Sector deiner 2. Platte überschreiben. - mit 'dd if=/dev/hdd of=verify.bin bs=512 count=1' den ersten Sector wieder einlesen und mit 'cat verify.bin' nachsehen was drin steht (sollten lauter 'U's sein) - Rechner neu starten - mit 'dd if=/dev/hdd of=nochmal.bin bs=512 count=1' den ersten Sector wieder einlesen und mit 'cat nochmal.bin' nachsehen was drin steht (sollten wieder lauter 'U's sein) - wenns bis hierher funktioniert kannst Du den MBR auf die 2. Platte schreiben und dann sollt auch das partitionieren klappen. Aber das dann mit der nächsten email !! Gruß, Klaus -------------------------------------------------------------------------- Re: [PUG] partitionshilfe Von: Klaus Klein An: Mailingliste der Penguin User Group Datum: 23.08.2005 23:20 Memduh wrote: >Dein Tip hat wunderbar funktioniert. Ich glaube sogar verstanden zu haben >wasda ablief. Na prima. Habe auch Deine emails an Bernhard gelesen, und da schauts das Ihr schon viel weiter seit. >Freilich habe ich es nicht mit vi, sondern mit kwrite gemacht und >die Arbeitsfläche auf den Desktop gelegt. 'die Arbeitsfläche auf den Desktop gelegt' ?? (Anmerkung später: die Konsole mit 'cd /home/user/Desktop' auf den Desktop bewegt) >Ich zitiere jetzt stattdessen nocheinmal.bin: >UÿUÿUÿUÿUÿUÿUÿ > Da sollte eigentlich nur UUUUUUU... drin stehen. vieleicht das '-n' nach echo vergessen ?? >Das heißt bis hierhin hat es funktioniert, ohne dass man das Hüpferle >anfassen mußte. (Anmerkung später: gemeint waren die Jumper auf der Festplatte. Von Manfred Kuberczyk auch als "Hüpfkasperle" bezeichnet...) Dann lass die mal wie/wo sie sind. >wie man irgendeinen MBR mit dd auf die Platte schreiben kann glaube ich zu >wissen. Da dies aber eine leere Platte ist: welchen MBR ? >(dd if=/dev/hda of=backup-hda.mbr count=1 bs=512 >dd if=backup-hda.mbr of=/dev/hda >- das meinte ich. In diesem Fall hätte ich den MBR von /dev/hda als >backup-hda.mbr gesichert und wieder auf die Platte geschrieben) >Die Frage ist: welchen MBR sollte ich auf diese bisher leere Platte schreiben? Eigentlich brauchts Du auf dieser Platte keinen MBR (die ersten 448 byte des ersten Sectors) sondern nur eine Partitionstabelle (die restlichen/letzten 64 byte des ersten Sectors). Das BIOS lädt beim booten ('stiefeln' - autsch) den MBR (first stage) von der ersten verfügbaren Platte. (manchmal auch im BIOS über die Bootreihenfolge auf zweite oder dritte Platte einstellbar). Da Du aber von der ersten Platte bootest ist ein MBR auf der zweiten Platte nicht zwingend notwendig. Die Partitionstabelle wird beim partitionieren mit fdisk geschrieben. In der Regel schreibt Linux den MBR wenn Du z.B. LILO in den MBR installierst. Gruß, Klaus
MBR und/oder Partitionstabelle sichern
In diesem Abschnitt geht es darum, wie man den MBR bzw. die Partitionstabelle einer Festplatte sichern kann. Achtung:
Dabei gibt es eine Tücke:
- Der MBR (Master Boot Record) wird, wenn die Festplatte bootfähig ist, im gleichen Sektor (erstes
- 512 byte großes Segment der Festplatte) gespeichert, in dem auch die Partitionstabelle der
- Festplatte untergebracht ist.
Man merke sich: MBR und Partitionstabelle bilden zusammen den ersten Sektor und haben unterschiedliche Funktionen!
Hierbei werden die ersten 448 byte des Sektors vom MBR belegt und die restlichen 64 byte als Partitionstabelle genutzt. Beim Installieren eines Betriebssystems wird in der Regel zuerst die Struktur der Partitionen festgelegt (Schreiben einer neuen Partitionstabelle), bzw. die bestehende Struktur übernommen, und später der MBR (448 byte) in den ersten Sektor geschrieben. So überschreibt z.B. Windows ohne Nachfrage den bestehenden MBR mit eigenem Code, was bei PCs mit mehreren Betriebssystemen normalerweise darin endet, dass nur noch Windows gestartet werden kann.
Häufig ändert sich auch die Partitionstabelle, ohne dass der MBR neu geschrieben wird. So z.B. beim Verkleinern bestehender Partitionen oder um weitere Partitionen hinzuzufügen, z.B. zur Installation von zusätzlichen Betriebssystemen.
Hat man nun ein Problem und braucht einen funktionsfähigen MBR, nimmt man normalerweise den früher gesicherten Sektor. Das geht sehr einfach:
- Man geht mit der Konsole in den Ordner, in welchem sich dieser Sektor, nennen wir ihn hda.mbr, befindet.
- Nun gibt man in die Konsole ein (Achtung, bitte erst weiterlesen):
dd if=./hda.mbr of=/dev/hda
Schwupp, schon sind alle nach der Sicherung des Sektors durchgeführten Änderungen der Partitionstabelle durch Überschreiben mit alten Informationen weg. Die vom PC aus der Partitionstabelle entnommene Einteilung der Festplatte entspricht nicht mehr dem letzten Stand und massiver Datenverlust ist abzusehen!
Um das zu verhindern, sollte man auch eine separate Sicherung des MBR ohne die Partitionstabelle durchführen! Das ist nicht weiter schwierig. Man gibt in die Konsole ein:
dd if=/dev/hda of=hda.mbr bs=448 count=1
Sofort findet man den MBR als Datei hda.mbr in dem Ordner, in welchem sich die Konsole befindet:
[root@localhost ~]# pwd /root [root@localhost ~]# dd if=/dev/hda of=hda.mbr bs=448 count=1 1+0 Datensätze ein 1+0 Datensätze aus [root@localhost ~]# ls hda.mbr [root@localhost ~]# file hda.mbr hda.mbr: MS-DOS executable (COM)
Zusätzlich sollte nach jeder Änderung der Bootkonfiguration oder der Partitionsstruktur auch eine Sicherung des gesamten ersten Sektors (MBR + Partitionstabelle) durchgeführt werden. Hierbei sollte man sich die Möglichkeit langer, beschreibender Dateinamen zunutze machen. Will man z.B. heute, am 3.8.2006, zusätzlich den MBR mit Partitionstabelle sichern, kann man so vorgehen:
- Mit einer root-Konsole in das Home-Verzeichnis wechseln:
cd /root
- Dann gibt man in die Konsole ein:
dd if=/dev/hda of=mbr.mit.partitionstabelle.060803.bin bs=512 count=1
Zusätzlich sollte man eine kleine Textdatei (z.B. mbr.mit.partitionstabelle.060803.txt) schreiben, in welcher man erläutert, was man zuvor geändert hat, um bei einer Rücksicherung Anhaltspunkte zur Auswahl der geeignetsten Kombination MBR/Partitionstabelle zu haben.
Und das Wichtigste zum Schluss:
Bei einer defekten oder falschen Partitionstabelle kann man unter Umständen auch nicht mehr auf die 'Sicherungen' zugreifen, wenn sich diese auf der problembehafteten Platte befinden.
Deshalb:
Die Sicherungen und Informationsfiles immer auch extern sichern!!
Partitionieren und formatieren
Bitte beachtet, die Angaben wie hda1 etc an eure Konfiguration anzupassen!
Hier soll gezeigt werden wie man eine Festplatte (angenommen wird hier, es sei die 2. auf einem Rechner), auf der sich nur eine Windows-Partition befindet, unter Linux partitioniert. Man benutzt die Konsole und die Werkzeuge, die man damit aufrufen kann.
Meine Empfehlung hierfür ist die Benutzung einer Linux-Live-CD, etwa Knoppix oder SLAX. Man bootet den PC mit Hilfe dieser CD, erhält die Linux-Oberfläche und kann dann arbeiten.
Schritt: root-Konsole
Zunächst einmal braucht man eine Root-Konsole mit Administratorrechten. Man tippt in eine normale Konsole:
su
Nun gibt man das root-Paßwort ein. Dann sieht man so etwas:
[root@localhost ~]#
Es klappt also. Weiter geht es!
Schritt: Partition einrichten
Nun tippt man in die root-Konsole:
fdisk /dev/hdb
und dann nacheinander die folgenden Buchstaben, genauso!:
d (: dann jeweils return!) n p 1 dann 2 mal Enter w
nun rebooten:
Man tippt in die root-Konsole entweder "reboot" oder "init 6", return.
Schritt: Partition formatieren
Wir nehmen an, die neue Partition solle mit dem journaling filesystem ext3 formatiert werden. Wir prüfen erst einmal, ob das Einrichten geklappt hat - hier ein Beispiel von einem alten PC:
[root@localhost root]# fdisk -l /dev/hdb Platte /dev/hdb: 3249 MByte, 3249340416 Byte 128 Köpfe, 63 Sektoren/Spuren, 787 Zylinder Einheiten = Zylinder von 8064 * 512 = 4128768 Bytes Gerät boot. Anfang Ende Blöcke Id Dateisystemtyp /dev/hdb1 * 1 787 3173152+ c Win95 FAT32 (LBA) Partition 1 hat unterschiedliche phys./log. Enden: phys=(785, 127, 63) logisch=(786, 127, 63)
Hat geklappt. Weiter geht es!
mkfs.ext3 /dev/hdb1(bitte mit der 1!)
Das dauert einen Moment. Was passiert, sieht man in der Konsole - dass es für einen Anfänger wie chinesisch aussieht, macht nichts!
fsck.ext3 /dev/hdb1(bitte auch hier mit der 1!)
Das Werkzeug fsck.ext3 prüft, ob die Formatierung fehlerfrei abgelaufen ist.
Schritt: die neue Partition mounten
Dafür schlage ich eine Methode vor, die mir für Anfänger geeignet erscheint. Sie verwendet die Linux-Editoren vi und emacs nicht! Wir nehmen an, die neue Partition soll als Datenspeicher eingesetzt werden. Deshalb erhält sie den Namen "data". Dann also in die root-Konsole eintippen:
mkdir /mnt/data
Jetzt müssen wir die unter Linux so wichtige Datei /etc/fstab verändern. Vorher speichern wir die vorhandene zur Sicherheit unter einem anderen Namen ab:
mv /etc/fstab /etc/fstab.backup
Nun öffnen wir diese Datei /etc/fstab.backup mit einem anfängerfrendlichen Texteditor, z.B. kwrite. Das geht so:
kwrite /etc/fstab.backup &
Es öffnet sich der Editor kwrite mit dieser Datei. In die mit kwrite geöffnete Datei fügen wir jetzt die Zeile ein:
/dev/hdb1 /mnt/data ext3 defaults 0 0
und gehen dann im Menüpunkt "Datei" auf "Speichern unter...". Wir speichern die Datei ab im Ordner /etc mit dem Namen fstab.
Alternativ können wir die Datei /etc/fstab auch mit
cp -i /etc/fstab /etc/fstab.backup
kopieren. Nun öffnen wir das Original /etc/fstab mit kwrite, fügen die obige Zeile ein und speichern die Datei einfach über das Menü mit "Datei" - "Speichern" ab.
Dieser Weg hat den kleinen Vorteil, dass die Datei etc/fstab immer existiert - sie wird zum Booten von Linux benötigt. Das ist sehr nützlich für so seltene Dinge wie Stromausfälle oder ähnliches - dass Linux abstürzt, ist eher noch unwahrscheinlicher :-))
Wenn wir jetzt rebooten, werden wir diese Partition eingerichtet und beschreibbar vorfinden.
Windows-Partition mounten
Dazu ist folgendes in die Datei /etc/fstab einzutragen:
/dev/hda1 /mnt/windows vfat umask=0,iocharset=iso8859-15,codepage=850 0 0
Auf diese Weise kann der normale User auf diese Windows-Partition zugreifen, d.h. lesen und schreiben.
Schritt: benutzen...
Partitionierungshilfe
Mailinglisten Zusammenschnitt Partitionierungshilfe
Beispiel PCLinuxOS
Für Diejenigen, die Englisch verstehen, möchte ich an dieser Stelle auf eine ausgezeichnete Anleitung
hinweisen, die für die Linux-Distribution PCLinuxOS Version 0.93+ geschrieben worden ist:
http://www.pclinuxonline.com/wiki/PartiTioning93
Diese Distribution betreibt, wie viele andere inzwischen auch, eine eigene Wiki-Seite , die weitere Fragen beantworten kann:
http://www.pclinuxonline.com/wiki/HomePage
Die Anleitung bezieht sich auf den Fall, daß man die Live-CD 0.93+ dieser Distribution gebootet hat und nun fest installieren will.
Links
Tipps zum Thema Festplatte könnt ihr hier finden.