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
KUNST
quelle

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 .

Frostschutz
quelle
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
Vorschläge für diese unix.stackexchange.com/questions/248939/…
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.

Khrystoph
quelle
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