Hallo,
um Platz für eine Haiku-Partition zu schaffen, habe ich gestern meine Linux-Partition von 275 auf 274 GB verkleinert, die ich zwar großzügig angelegt habe, jedoch fast leer ist. Hier bei musste ich den Anfang der Partition verschieben, da die neue Partition aufgrund mangelnder GUID-Kompatiblität seitens Haiku im Bereich der ersten vier Partitionen liegen muss.
Wegen einer kleinen Änderung an einer riesigen Partition war der Abend dann gelaufen: Parted brauchte etwa 4 Stunden, um alle Aktionen durchzuführen. Gibt es keinen anderen Weg, der für den Fall dass eine Partition fast leer ist, auch nur die wirklichen Daten verschiebt statt ungenutzte Null-Bereiche ebenso?
Das Verkleinern war in Deinem Fall nicht die zeitraubende Aktion, sondern das Verschieben nach hinten. Beim Verschieben der Partition kann man das wirklich nur so machen, wie parted vorgegangen ist: Sektor um Sektor, denn einer Partition ist nicht wirklich anzusehen, was darin enthalten ist, welche Blöcke also belegt sind und welche nicht. Das könnte man nur mittels der Filesystem-Informationen, aber die sind auch Inhalt der Partition. Klar könnte man ein Tool schreiben (gibt es meines Wissens noch nicht), das sich mit Partitionen und den darin enthaltenen Filesystemen auskennt und mit beiden Informationen dann in möglichst optimiertem Vorgehen eine solche Verschiebung vornimmt, aber das wäre eine sehr komplexe Sache und ich würde einem solchen Tool wahrscheinlich erst nach unzähligen Tests halbwegs vertrauen.
Eine Möglichkeit, die sich geboten hätte, wäre die Verkleinerung der Partition auf Minimalgrösse (Dein Inhalt plus ein paar hundert MB), dann verschieben und danach wieder auf volle Grösse “aufblasen”. Die kleine Partition wäre relativ schnell verschoben gewesen. Die Verkleinerungs- bzw. Vergösserungs-Operationen wären aller Voraussicht nach auch mit vertretbarem Zeitaufwand durchgegangen, aber…
Das grosse “ABER” musste ja kommen. Du hättest anstatt einer gleich drei Möglichkeiten für einen Totalverlust Deiner Daten gehabt. Mit einem guten und aktuellen Backup wärst Du womöglich aber deutlich schneller am Ziel gewesen.