Erstellen einer ext4-Partition von der Konsole aus

74

Ich habe ein Volume /dev/sda1(1,2 TB), das eine NTFS-Partition mit 0,6 TB Speicherplatz enthält.

Ich möchte eine ext4Partition im verbleibenden Speicherplatz von 0,6 TB erstellen.

Ich habe noch nichts ausprobiert, weil ich nicht riskieren möchte, Daten zu verlieren, wenn ich einen falschen Befehl drücke. (Ich kann gparted nicht verwenden, da ich keine GUI habe.)

Kannst du mir den richtigen Befehl geben, oder zumindest die richtigen Parameter für mkfs.ext4.

root @ rasp: ~ # fdisk -l / dev / sda

Disk /dev/sda: 1500.3 GB, 1500299395072 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930272256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000303ee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  2930272255  1465135104    7  HPFS/NTFS/exFAT
Daniel W.
quelle
Vielen Dank für das Update, ich bin auf der Suche in die Details , aber in der Zwischenzeit, Sie haben eine Sicherungskopie Ihrer NTFS Daten richtig? Wenn nicht, MACHEN SIE JETZT EINEN! Dies sollte ohne Datenverlust möglich sein, aber Sie wissen es nie ... Haben Sie auch vollen Zugriff auf die Maschine? Können Sie zum Beispiel eine Live-Sitzung neu starten?
Terdon
@terdon Ich habe Root-Zugriff, aber keinen physischen Zugriff. Das / dev / sda ist nicht das, von dem ich boote. Ich kann kein Backup erstellen oder von nichts anderem booten. Unter ubuntuforums.org/showthread.php?t=1244058 habe ich gelesen, dass ich die Partition aus der Tabelle löschen und eine neue Partition im Bereich der NTFS-Größe festlegen und dann eine neue Partition hinzufügen muss, die ich mit ext4 initialisieren muss.
Daniel W.
Ja genau. Auch einen Blick auf diese . Sobald Sie die Größe mit geändert haben, können ntfsresizeSie die Partition theoretisch mit löschen fdiskund sie kleiner neu erstellen, solange sie auf demselben Zylinder gestartet wird . Löschen Sie also zunächst die vorhandene Partition und folgen Sie dann den Schritten in meiner Antwort, um die neue Partition zu erstellen. Sie tun dies auf eigenes Risiko. Ich habe es noch nie persönlich ausprobiert, aber es sollte funktionieren. Ich würde wirklich empfehlen, Clonezilla oder ein ähnliches Tool zu verwenden, um zuerst ein Backup zu erstellen .
Terdon
@terdon Ich bemerkte , dass ntfsresizerichtig mit Erfolg lief , aber es muss etwas gelöscht hat , weil ich die Fehler der Integrität erhalten scheitern .. Failed to load $MFT: Input/output error.
Daniel W.
Sorry, keine Ahnung davon. Vielleicht dies helfen.
Terdon

Antworten:

104

Zuerst müssen Sie eine Partition erstellen, dann können Sie das Dateisystem erstellen .

  1. Erstellen Sie eine neue Partition

    sudo fdisk /dev/sda
    

    Dadurch wird das fdiskMenü aufgerufen. Sie sollten sich damit vertraut machen und nach Tutorials suchen ( hier eines ). Die grundlegenden Optionen sind:

    Command action
       a   toggle a bootable flagL
       b   edit bsd disklabel
       c   toggle the dos compatibility flag
       d   delete a partition
       l   list known partition types
       m   print this menu
       n   add a new partition
       o   create a new empty DOS partition table
       p   print the partition table
       q   quit without saving changes
       s   create a new empty Sun disklabel
       t   change a partition's system id
       u   change display/entry units
       v   verify the partition table
       w   write table to disk and exit
       x   extra functionality (experts only)
    

    Wenn alles in Ordnung ist N, können Sie durch Drücken von eine neue Partition im leeren Bereich erstellen. Wenn der einzige nicht zugewiesene Speicherplatz derjenige ist, den Sie verwenden möchten, sollten die Standardeinstellungen in Ordnung sein, und Sie können einfach fdiskauswählen lassen .

  2. Da Sie eine extPartition erstellen möchten, müssen Sie nichts tun. Wenn Sie einen anderen Typ erstellen möchten (Swap oder NTFS oder was auch immer), müssen Sie tden Partitionstyp ändern. Ich erwähne dies nur für den Fall.

  3. Überprüfen Sie, ob Ihre Änderungen Ihren Erwartungen entsprechen, indem Sie Pdie Partitionstabelle drucken.

  4. Wenn alles in Ordnung ist, schreiben Sie die neue Partitionstabelle auf die Festplatte ( W) und beenden Sie sie ( Q).

Nachdem Sie Ihre neue, leere Partition erstellt haben, können Sie deren Dateisystem erstellen. Wenn Sie also gerade erstellt haben /dev/sdaX(wo Xist beispielsweise die Nummer der Partition, die Sie erstellt haben /dev/sda2), führen Sie Folgendes aus:

sudo mkfs.ext4 /dev/sdaX
terdon
quelle
Ich habe gerade die NTFS-Partition mit dem Befehl verkleinert ntfsresize -s 656511M /dev/sda1. Mit Ihrer netten Anleitung möchte ich eine zweite Partition mit erstellen, fdiskaber beim Drücken von n, p, 2 heißt es:No free sectors available
Daniel W.
Mit cfdisk, es ist mein NTFS ist immer noch 1500000 MB groß. Ich habe gerade die Größe geändert mit ntfsresize?! Was ist los: - (
Daniel W.
@DanFromGermany Bitte fügen Sie die Ausgabe von sudo fdisk -l /dev/sdazu Ihrer Frage hinzu.
Terdon
Ich folge Ihrer Antwort, aber wenn ich sie auswähle n, werde ich informiert to create more partitions, first replace a primary with and extended. Was ich tun möchte, ist ein Abschnitt mit 2 GB von der SSD, der genug zu sparen hat.
Dustin
@dustin Das bedeutet, dass Sie ein GPT-Partitionsschema verwenden, das nur drei primäre Partitionen zulässt. Sie müssen eine der vorhandenen Partitionen in eine logische (erweiterte) Partition konvertieren und die anderen darin erstellen. Das ist ein bisschen zu kompliziert, um es in einem Kommentar zu beantworten. Ich bin sicher, dass es schon einmal gestellt wurde, aber wenn nicht, posten Sie eine neue Frage.
Terdon
21

Die Syntax lautet mkfs.ext4 *partition*

Ein Beispiel wäre, mkfs.ext4 /dev/sda2wo /dev/sda2die fragliche unformatierte Partition ist.

Sie können Informationen über Ihr Dateisystem abrufen, indem Sie lsblkoder ausführen, lsblk --fsum weitere Informationen zu erhalten.

Die letzten beiden Partitionen sind leer und haben noch keine Dateisysteme:

root@augur:/# lsblk --fs --ascii 
NAME        FSTYPE LABEL MOUNTPOINT
mmcblk0                  
|-mmcblk0p1 vfat   boot  /boot
|-mmcblk0p2 ext4         /
|-mmcblk0p3              
`-mmcblk0p4 
Headkase
quelle
Löscht dieser Befehl mein vorhandenes 0,6-TB-NTFS oder belegt es nur so viel Speicherplatz wie möglich, ohne andere Partitionen zu berühren?
Daniel W.
Für die Partitionstabelle muss der freie Speicherplatz bereits reserviert sein, damit mkfs.ext4 ausgeführt werden kann. Wenn Sie nur eine große Partition haben, müssen Sie deren Größe ändern, um Speicherplatz für mkfs freizugeben. Wenn dies der Fall ist, booten Sie in Windows, und wechseln Sie zu den Administrator-Tools für die Datenträgerverwaltung, und ändern Sie die Größe der vorhandenen Partition, um Speicherplatz freizugeben, den Sie dann mit Linux formatieren. Erstellen Sie eine Partition im freien Speicherplatz und formatieren Sie diese.
Headkase
Ich habe weder eine grafische Benutzeroberfläche noch Windows und auch keinen physischen Zugriff auf den Computer. Ich werde es einfach versuchenpartman
Daniel W.
Überprüfe alles noch einmal. Verwenden Sie "lsblk -fs" wie oben angegeben: Verwenden Sie mkfs nicht für Objekte, die als NTFS aufgeführt sind. Sie möchten nach einer leeren Partition suchen.
Headkase