Datenträger mittels Terminal formatieren


#1

Hallo, ich versuche gerade Informationen zusammentragen, wie man einen Datenträger über das Terminal formatiert (ext4):

#Bezeichnung des Datenträgers ermitteltn
df
#oder
sudo fdisk -l

#fdisk ausführen (X durch Buchstaben des Datenträgers ersetzen)
sudo fdisk /dev/sdX

# Erstellung einer leeren DOS-Partitionstabelle (Typ msdos)
o

# Erstellung einer primären Partition
n
p

#Partition number 1 (Standardwert) mit Enter bestätigen
#First sector 2048 (Standardwert) mit Enter bestätigen
#Last sector (Standardwert) mit Enter bestätigen

# Änderungen ausführen
w

Der Datenträger soll z.B. zum Austausch von Daten zwischen Linux Rechnern dienen. Sind die oben angeführten Anweisungen in Ordnung? Ist es auch möglich eine ‘GPT’ Partitionstabelle anstelle von ‘DOS’ zu verwenden?

Schöne Grüße und vielen Dank!


Nicht belegte Partition bei Formatierung eines Datenträgers mit KDE-Partitionsverwaltung
#2

Ja und GPT ist oft zu bevorzugen. Wenn es aber nur eine einfache kleine Festplatte mit einer Partition werden soll macht es nicht so einen großen unterschied.

Falls du GPT verwenden willst, kannst du allerdings nicht fdisk benutzen. Dieses Programm unterstützt kein GPT. Verwende dann gdisk . Wie der Name schon andeutet ist es ein fdisk clone für GPT. Die Kommandos sind sehr ähnlich, nur das o eine GPT erzeugt.

Wie immer, das erzeugen einer msdos- oder GUID-Partitionstabelle löscht alle vorher vorhanden Daten auf der Festplatte. n erzeugt einen neue Partition, w schreibt die Änderungen auf die Festplatte und mit p kann man sich vorher alles ansehen. q beendend das Programm, ohne etwas auf die Festplatte zu schreiben, falls vorher nicht w verwendet wurde. Ein Zusatz bei GPT ist der “Hex code” oder einfach GUID. Wenn du danach gefragt wirst benutze Lum eine Auflistung der verschieden Nummer zu erhalten. Du willst im Normalfall ein “Linux filesystem”. Die Nummer ist glaube ich “8300”, das solltest du aber mit L überprüfen.

Wenn du es etwas einfacher willst verwende cgdisk

Danach musst du nur noch mit mkfs (mkfs.ext4) ein Dateisystem erzeugen.


Wenn du vorher df verwendest, bedeutet das alte Dateisystem von der Festplatte ist noch eingehängt. Du musst das alte Dateisystem vorher unmounten/aushängen. Sonnst klappt es nicht. Vielleicht ist es besser du verwendest lsblk um die richtige Festplatte zu finde. Das Dateisystem muss natürlich trotztem ausgehängt werden.


#3

Danke für die super ausführliche Antwort! Ich habe mich zwischenzeitlich noch in ‘parted’ eingelesen und mir jetzt folgende Anweisungen notiert:


# Datenträger ermitteln (z.B. /dev/mmcblk2)
lsblk

# Eingehängte Partition aushängen
umount /dev/mmcblk2p1

# parted für gewünschten Datenträger öffnen
sudo parted /dev/mmcblk2

# Partitionstabelle Typ 'GPT' erstellen
mklable gpt

# Partionstabelle anzeigen
print

# Primärpartition Typ 'ext4' erstellen
mkpart

# 'Partitionsname? []?' mit Enter überspringen
# 'Dateisystemtyp?  [ext2]?' mit 'ext4' bestätigen (?)
# 'Anfang?' mit '0% bestätigen
# 'Ende?' mit '-1s' bestätigen

# Nachfolgende Nachricht bestätigen
    #Warnung: Sie wollen eine Partition von 0,00B bis 7745MB (Sektoren 0..15126527).
    #Das Beste, was Parted bieten kann, ist von 17,4kB nach 7745MB (Sektoren 34..15126494).
    #Ist dies noch akzeptabel für Sie?
Yes

# Nachfolgende Nachricht ignorieren (?)
    # Warnung: Die Partition ist nicht sauber ausgerichtet, gemessen an bester Performance.
Ignore

# Ausführen
print

# parted beenden
quit

# Meldung beachten?
Information: Möglicherweise müssen Sie /etc/fstab anpassen.

# Partition formatieren
mkfs.ext4 /dev/mmcblk2p1

Ob die Angabe ‘0%’ geschickt ist, weiß ich noch nicht. Die Warnung ‘Die Partition ist nicht sauber ausgerichtet, gemessen an bester Performance.’ und die Meldung ‘Information: Möglicherweise müssen Sie /etc/fstab anpassen.’ irritieren mich noch etwas.

Den Typ ‘ext4’ muss ich zweimal angeben? Unter ‘mkpart’ und ‘mkfs’?


#4

Ich denke es ist wesentlich einfacher, cfdisk (MBR) oder cgdisk (GPT) zum Partitionieren zu nehmen. Die nehmen auch die korrekte Ausrichtung vor (ausgerichtet zum ganzen Megabyte in der Regel, 2048 Sektoren).
Auch werden per Default die Linux ID benutzt (8300).

parted ist wegen der Vorgehensweise ziemlich kompliziert.

Für Datenaustausch zwischen Linux-Computern würde ich einfach MBR und ext4 nehmen, aber grundsätzlich sind auch viele andere Kombinationen möglich.


#5

Für den umount Befehl braucht man im Normalfall auch Root Rechte (sudo davor).

Nein, den das schöne an parted ist, dass dieses Programm zwei Funktionen in sich vereint. Es kann nicht nur eine Partitionstabelle erstellen, sondern die Partition auch gleich mit einem Dateisystem versehen. cgdisk kann nur die Partitionstabelle erstellen, da braucht man noch ein weiteres spezialisiertes Programm (mkfs.ext4) um das Dateisystem zu schreiben.

Ich würde nicht 0% verwenden. Den 0% ist ganz vorne. Aber irgendwo muss auch noch die GPT hin geschrieben werden. Ein guter Wert ist meist 2084s. Dann passt oft auch die Ausrichtung. Gerade bei SSDs oder ähnlichem ist das wichtig.

Eine neue Partitionstabelle und neue Partitionen füren immer nur neuen UUIDs. Falls die alten in der fstab verwenden wurden kann die neue Partition nicht eingehängt werden. Deswegen muss gegebenenfalls die fstab angepasst werden.


#6

Anscheinend sind für Start/Ende die Werte 0% bzw. 100% geeignet, damit ‘parted’ die korrekte Zuordnung automatisch vornimmt:

https://wiki.archlinux.org/index.php/Parted#Alignment

Daraus ergeben sich für mich folgende Werte (abgelesen in der KDE-Partitionsverwaltung):

Erster Sektor: 2 048
Letzter Sektor: 15 124 479
Anzahl Sektoren: 15 122 432


#7

Ich habe gerade bemerkt wenn man parted verwendet muss man am ende doch noch mit mkfs.ext4 ein Dateisystem erstellen. Das war Quatsch was ich in dem Post oben beschrieben habe.

Ich hatte gedacht es ist eher so wie bei gparted. Aber das ist nicht so.


#8

Danke für die Richtigstellung. Ich habe meine Anleitung weitgehend (u.a. die Anweisung mkfs.ext4) aus folgender Quelle:

https://trisquel.info/en/wiki/how-format-external-storage-device-using-parted


#9

Nochmal die Frage meinerseits: wieso parted und nicht cfdisk/cgdisk?


#10

Ich hatte parted bei meiner Recherche entdeckt. cfdiks/cgdisk möchte ich mir noch ansehen!


#11

parted ist ein super Tool, aber nicht ganz leicht zu bedienen, mit diesem befehlsbasierten System.

Mit cfdisk/cgdisk geht das wesentlich komfortabler, wenn auch mit weniger Konfigurationsmöglichkeiten. Lässt sich bequem mit den Pfeiltasten steueren und verlangt weniger Nutzereingaben.


#12

Hallo torvic,
kann mich deiner Meinung nur anschliessen. Klar gibt es bei Linux immer verschiedene Möglichkeiten, zum Glück :slight_smile:
Aber ich finde auch, das die ganze Partitionierung mit cfdisk/cgdisk viel einfacher und komfortabler geht.
Aber das muss eben jeder für sich entscheiden, was mehr zusagt.

viele Grüße gosia