Ändern Sie die Größe der NTFS-Partition in Richtung Laufwerk, ohne dass Daten verschoben werden

1181
Kozuch

Angenommen, ich habe eine imaginäre 200-GB-Festplatte (keine SSD) mit zwei 100-GB-Partitionen (A ist die Faust, B ist die zweite). Partition A ist leer. Partition B ist halb voll. Ich möchte Partition A löschen und Partition B ganz bis zum Anfang des Laufwerks ändern, so dass B 200 GB hat.

Meine Frage ist folgende: Kann ich die Größe von B ändern, ohne den Inhalt von B an den Anfang des Laufwerks verschieben zu müssen? Kann die Größenänderung schnell ablaufen? Ich habe bereits die Partition "gegen Ende des Laufwerks" (z. B. Löschen von B und Ändern der Größe von A auf das gesamte Laufwerk) geändert, und es war immer sehr schnell. In meinem Fall befürchte ich jedoch, dass alle Daten verschoben werden müssen, damit der Speicherort der Partition nicht in MBR aktualisiert wird, da sich der Startort der Partition ändert.

Ich möchte einige frei verfügbare Windows / Linux-Software für den Job verwenden.

BEARBEITEN: Das Laufwerk wird nur für Daten verwendet. Die Partitionen sind nicht installiert.

-1
Dateisysteme haben ihre Informationen im Allgemeinen am Anfang der Partition. Wenn Sie die Partition nur nach links erweitern, schweben Ihre Dateisystemsektoren in der Mitte der Partition. Ihr Kernel wird es wahrscheinlich ohne einen benutzerdefinierten Dateisystemtreiber nicht verstehen können. jiggunjer vor 7 Jahren 0
Bei einer SSD dauert das Verschieben von 100 GB Daten keine Zeit. Darren vor 7 Jahren 0

2 Antworten auf die Frage

1
Binarus

Ich bin kein Experte für NTFS, aber ich möchte einige allgemeine Richtlinien geben.

1) Ich habe eine Menge Dinge in Bezug auf PC-Software gesehen, habe aber noch nie von einer Anwendung gehört, die NTFS-Partitionen an den Anfang eines Laufwerks erweitern könnte, ohne die Daten zu verschieben.

2) Ob eine solche Anwendung vorhanden ist oder nicht: Sie sollten solche Dinge unbedingt tun, ohne vorher eine vollständige Sicherung der Festplatte zu erstellen.

Das Erweitern, Verkleinern oder Verschieben von Partitionen stellt immer ein hohes Risiko dar. Es wird daher dringend empfohlen, eine Sicherungskopie der gesamten Festplatte zu erstellen, bevor Sie solche Aktionen ausführen. Sie sollten die Zeit, die die Operation benötigt, so kurz wie möglich halten.

Selbst wenn es eine solche Anwendung geben würde, die das tun könnte, was Sie angefragt haben, müsste es trotzdem (rekursiv) eine große Anzahl von Zeigern anpassen, und dies würde seine Zeit in Anspruch nehmen, und daher würde ich es nicht verwenden.

In Ihrem Fall würde ich Folgendes tun:

Minimale (schlechte) Lösung

a) Löschen Sie Partition A

b) Erstellen Sie Partition A mit einer Größe neu, die genügend Platz für Partition B lässt (nach diesem Schritt wird zwischen Partition A und Partition B etwas Platz sein).

c) Kopieren Sie alle Daten von Partition B auf Partition A (dies kann fehlschlagen, wenn Partition A jetzt zu klein ist; in diesem Fall ist diese Lösung tatsächlich keine).

c) Löschen Sie Partition B

d) Erstellen Sie Partition B mit größerer Größe neu (nach diesem Schritt ist kein Platz mehr zwischen Partition A und Partition B).

e) Kopieren Sie alle Daten von Partition A nach Partition B

Bessere Lösung

a) Machen Sie mindestens eine vollständige Sicherung der Partition B

b) Löschen Sie beide Partitionen

c) Erstellen Sie beide Partitionen nach Bedarf neu

d) Stellen Sie die Sicherung der alten Partition B auf der neuen Partition B wieder her

Gute Lösung

a) Kaufen Sie eine neue Festplatte

b) Partitionieren Sie die neue Festplatte, und erstellen Sie so Partitionen mit erforderlichen Größen

c) Machen Sie eine vollständige Sicherung der Partition B der alten Festplatte

d) Stellen Sie dieses Backup in Partition B der neuen Festplatte wieder her

e) Bewahren Sie die alte Festplatte an einem sicheren Ort auf, falls etwas schief gelaufen ist. Wenn Sie wissen, dass alles in Ordnung ist, nachdem Sie ungefähr einen Monat mit der neuen Festplatte gearbeitet haben, können Sie die alte Festplatte für andere Zwecke verwenden .

Warum ist die erste Lösung schlecht?

Wie Sie vielleicht wissen, ist NTFS ziemlich komplex. Es gibt Dinge wie ACLs, feste Links, symbolische Links, Verknüpfungen, spärliche Dateien und alternative Streams, um nur einige zu nennen. Heck, selbst der integrierte Windows Explorer zeigt bei harten Links falsche Verzeichnisgrößen! Ich persönlich kenne genau zwei Programme, die zuverlässig Daten kopieren, ohne solche Informationen zu verlieren. Beide sind Befehlszeilen, und ihre Verwendung ist ziemlich schwer zu verstehen. Ich würde sie definitiv nur für fortgeschrittene Benutzer empfehlen.

Zweitens: Wenn sich auf Ihrer Partition B das Betriebssystem befindet, können Sie durch das Kopieren der Daten (selbst mit einem der genannten Tools) auf Partition A das Betriebssystem nicht von Partition A starten.

Aber selbst diese schlechte Lösung wird die Zeit verkürzen, die für risikoreiche Vorgänge (dh das Ändern der Partition) in angemessenem Umfang erforderlich ist.

Einige zusätzliche Hinweise:

  • Dies sind meine persönlichen Meinungen und Best Practices, die ich im Laufe der Jahre entwickelt habe (ich habe solche Dinge mehr als einmal gemacht).

  • Wenn ich "Vollbackup" sage, meine ich natürlich Image-Typ- Backups (im Gegensatz zu dateibasierten Backups)

  • Es gibt großartige kostenlose und kommerzielle Tools zum Erstellen von Backups auf Image-Basis. Suchen Sie beispielsweise nach dd, CloneZilla oder TrueImage.

  • Bei der Wiederherstellung vollständiger Sicherungen muss die Zielpartition abhängig von der verwendeten Software möglicherweise mindestens die Größe der ursprünglichen Partition haben.

  • Nachdem eine vollständige Sicherung auf einer Partition wiederhergestellt wurde und diese Partition größer ist als die Partition, aus der die Sicherung stammt, müssen Sie (als zweiten Schritt) das Dateisystem erweitern, damit die gesamte Partition verwendet wird (ja, mit ein Dateisystem, das auf einer Partition mit einer Größe von 200 GB auf 100 GB beschränkt ist, ist tatsächlich möglich;); Ob dies erforderlich ist oder nicht, hängt von der verwendeten Sicherungssoftware ab.

  • Und zum Schluss noch einmal darüber nachdenken: Sie könnten über Nacht Backups ausführen. Was ist also das Problem mit der Zeit, verglichen mit dem Verlust wertvoller persönlicher Daten (z. B. der Fotos, die Sie aufgenommen haben, als Sie auf dem Mount Everest waren)? Und wenn Sie nicht das Geld für eine neue Festplatte haben, könnten Sie einen Freund fragen, ob er Sie für ein oder zwei Tage für die Verwendung seiner externen Festplatte zulässt.

Danke für deine Antwort. Auf keiner der Partitionen ist ein System (Windows usw.) installiert. Kozuch vor 7 Jahren 0
Ich hatte ein paar Tippfehler in meiner Antwort und habe in meiner ersten Lösung ignoriert, dass Sie wahrscheinlich * beide * Partitionen behalten möchten. Ich habe meine Antwort aktualisiert. Binarus vor 7 Jahren 0
1
jiggunjer

Verwenden von gparted auf einem Live-Betriebssystem:

  • Löschen Sie A

  • Machen Sie B so klein wie möglich, um Zeit zu sparen.

  • Kopiere und füge B in den freien Raum ein, beginnend beim ersten Sektor. Dadurch wird die UUID der Partition beibehalten, falls der Bootloader sie verwendet. Achten Sie darauf, dass Sie Ihren Bootloader nicht überschreiben. Lassen Sie beim Start möglicherweise etwas MB frei.
  • Löschen Sie B und erweitern Sie das neue B, um den Rest des Laufwerks abzudecken.
  • Je nachdem, wie der Bootloader installiert ist, müssen Sie ihn möglicherweise aktualisieren. Eine Standard-GRUB-Installation sollte auch ohne Aktualisierung funktionieren.
Das Laufwerk wird nur für Daten verwendet. Die Partitionen sind nicht installiert. Kozuch vor 7 Jahren 0
Dann brauchen Sie sich nicht um den Bootloader zu kümmern. Das Dateisystem muss jedoch immer noch nach links verschoben werden. Gparted Kopieren und Einfügen funktioniert ziemlich schnell. Sie können anstelle von Live auch ein normales Linux-Betriebssystem verwenden. Heben Sie zuerst das Ziel ab. jiggunjer vor 7 Jahren 0