Skriptfähige GPT-Partitionen mit parted


9

Ich partitioniere eMMC mit den folgenden Befehlen im Skript:

parted /dev/mmcblk0 --script mklabel gpt
parted /dev/mmcblk0 --script mkpart primary ext4 32MB 132MB
parted /dev/mmcblk0 --script mkpart primary ext4 233MB 433MB
parted /dev/mmcblk0 --script mkpart primary ext4 433MB 533MB
parted /dev/mmcblk0 --script mkpart primary ext4 533MB 593MB
parted /dev/mmcblk0 --script mkpart primary ext4 593MB 793MB
parted /dev/mmcblk0 --script mkpart primary ext4 793MB 3800MB
parted /dev/mmcblk0 --script align-check min 1
  1. Ist es der richtige Weg, eine Partition im Skript zu erstellen? Gibt es einen besseren Weg?
  2. Nach dem Erstellen der ersten Partition wird folgende Warnung angezeigt

    Warnung: Die resultierende Partition ist für eine optimale Leistung nicht richtig ausgerichtet.

Muss ich mir darüber Sorgen machen? Ich habe es versucht parted /dev/mmcblk0 --script align-check min 1, bin mir aber nicht sicher, ob das die Lösung ist. Irgendwelche Hinweise dafür?
Ich gehe über diesen Link mittlerweile noch andere Vorschläge?

Bearbeiten : Nur eine Kurzreferenz für Frostschutz Antwort,

MiB = Mebibyte = 1024 KiB
KiB = Kibibyte = 1024 Bytes
MB = Megabyte = 1,000 KB
KB = Kilobyte = 1,000 Bytes

Antworten:


18

Es ist im Prinzip richtig, aber Sie können es auf einen einzigen partedAnruf reduzieren .

parted --script /device \
    mklabel gpt \
    mkpart primary 1MiB 100MiB \
    mkpart primary 100MiB 200MiB \
    ...

Ihr Ausrichtungsproblem liegt wahrscheinlich daran, dass Sie MBanstelle von verwenden MiB. Sie sollten keinen tatsächlichen align-checkBefehl benötigen, wenn Sie Partitionen an MiBGrenzen / auf einem bekannten Gerät erstellen .


Vielen Dank für die Antwort, lassen Sie mich es testen. Ich werde das Ergebnis aktualisieren.
— ART

Ich bekomme diese Warnung jetzt nicht, danke :)
— ART


Ich habe versucht, Ihren Code für die Verwendung in einem anderen Kontext zu ändern. Sind Sie bereit zu beraten? Hier ist der Link: unix.stackexchange.com/questions/349833/…
— CodeMed

1
Ich würde '-' zwischen dem Gerät und den Befehlen hinzufügen - auf diese Weise können Sie '-1' für die maximale Größe verwenden.
— niry

3

Ich weiß, dass dies alt ist und eine ziemlich gute Antwort, da Sie MiB verwenden können, aber ich würde gerne eine andere Option für andere Leute herausbringen.

Innerhalb des Skriptaufrufs (--script oder -s für die Kurzversion) können Sie die Option -a hinzufügen, die es anweist, die Option "optimal" beim Erstellen der Partitionen auszurichten und zu übergeben. Etwas wie das:

sudo trennte -s -a optimal - / dev / sdX mkpart primäre 1MiB -2048s

Dies ist nur ein Beispiel dafür, wie Sie am 1. Mebibyte beginnen und am Ende der Festplatte enden, abzüglich des letzten Mebibyte, der die GPT-Tabelle an Ort und Stelle belässt.


Zumindest auf meinem System scheinen die "-2048s" nicht als Notation für den Parameter "end" akzeptiert zu werden, sie scheinen als Option interpretiert zu werden.
— Plugwash

1
Ok, nachdem Sie viele verschiedene Google-Suchanfragen ausprobiert haben, scheint es, dass der einzelne Strich in der Mitte des OPs-Befehls ein doppelter Strich sein muss. Ich würde die Antwort bearbeiten, um diese Probleme zu beheben, aber ich stoße auf die Regel für die Mindestbearbeitungsgröße beim Stapelaustausch.
— Plugwash

FWIW, parted ist intelligent genug, um das GPT-Backup-Label nicht zu beschädigen, wenn Sie die Partition mit -0(jetzt aktiviert) beenden und so eine MiB sparen. Möglicherweise möchten Sie primaryhier auch einen beliebigen Partitionsnamen ändern .
— Asmadeus

1
@plugwash, Sie müssen das "-" im Befehl haben, sonst beschwert es sich über das "-" in den "-2048s", da das Minus angibt, wie weit vom Ende zurück zu gehen. Wenn das "-" nicht vorhanden ist, interpretiert bash es als cli arg und es gibt kein -2 arg in parted. Dies war wahrscheinlich ein Fehler beim Kopieren nach M $ word oder so, dann in das Antwortfeld. iirc, ältere Versionen von parted mochten oder akzeptierten es nicht, den zweiten Parameter auf -1MiB zu setzen, weshalb ich die Sektoranzahl verwendet habe, weil dies erlaubt war. asmadeus: Ich bin mir nicht sicher, ob sich parted immer so verhalten hat, also ist es besser sicher als leid.
— Khrystoph
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.