Partitionieren und Formatieren

aus PUG, der Penguin User Group
Wechseln zu: Navigation, Suche

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

Filetypes.png
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

Filetypes.png
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.