Warum dauert das Kopieren zwischen Partitionen auf derselben Festplatte so lange?

Warum dauert das Kopieren zwischen Partitionen auf derselben Festplatte so lange?

Dies ist ein mögliches Duplikat vonVerschieben von Dateien von einer Partition auf eine andere auf einer SSD

Wenn ich Dateien von C:\...\Downloads\nach kopiere C:\...\Desktop\, geschieht das sofort.Aberwenn ich die gleiche Datei (1,12 GB) kopiere, D:dauert es ziemlich lange. Warum ist das so?

Antwort1

Ihre Kernfrage lautet zunächst:

Warum dauert das Kopieren zwischen Partitionen auf derselben Festplatte so lange?

Ich werde weiter unten näher darauf eingehen, aber eine einzelne Festplatte mit mehreren Partitionen ist aus Sicht des Dateisystems nicht „dieselbe Festplatte“. Aus Sicht des Dateisystems ist eine Partition einfach eine weitere „physische Festplatte“, auch wenn es sich lediglich um einen „logisch“ zugewiesenen Speicherplatz auf einer größeren, übergeordneten physischen Festplatte handelt, auf der sich zwei Partitionen befinden:

  • Festplatten haben Partitionen,
  • Partitionen haben Dateisysteme.
  • Dateisysteme haben Dateien.

Lesen Sie weiter, um weitere Einzelheiten zu erfahren.

Hinweis: Ich verwende die Terminologie von Linux/Unix/Mac OS X, da dies mein Kernwissen ist, das grundlegende Konzept gilt jedoch für Windows und eigentlich jedes andere Betriebssystem.

Warum verschiebt das Betriebssystem/der Kernel die dieser Datei zugewiesenen Informationen zu Bytes/Sektoren/Adresszeigern/was auch immer nicht einfach von einer Dateisystemtabelle in die Dateisystemtabelle einer anderen Partition?

Dies liegt daran, dass die Inode-Tabelle, die steuert und verwaltet, welche Sektoren mit welchen Dateien verbunden sind, eine Konstruktion pro Festplatte und pro Partition ist.

  • C:Wenn Sie also etwas von nach kopieren, C:wird lediglich ein Inode-Eintrag auf dem C:Laufwerk bearbeitet, um den neuen Pfad zur Datei auf demselben C:Laufwerk anzugeben.

  • Wenn Sie jedoch etwas von C:nach kopieren D:, müssen die Daten kopiert und ein neuer Inode-Eintrag auf dem D:Laufwerk erstellt werden.

Angenommen, Sie fragen sich, warum Sie nicht einfach alle Laufwerksdaten auf dem Hauptlaufwerk speichern, C:anstatt sie auf Geräte- und Partitionsbasis zu speichern? Was passiert dann, wenn dieses Laufwerk oder diese Partition auf eine andere Maschine verschoben wird? D:Ohne die Daten der Zuordnungstabelle würde das Laufwerk wie leerer und ungenutzter Speicherplatz aussehen. Und wenn das Laufwerk C:in einem solchen Szenario abstürzt, verlieren Sie nicht nur das C:Laufwerk, sondern auch die tieferen Dateisysteminformationen, die mit dem D:Laufwerk verbunden sind.

Sie haben Ihre Frage auch wie folgt bearbeitet:

Ich nehme an, die Partitionierung ist logisch, nicht physisch.

Ja und nein. Partitionierungist logischauf der Seite der Partitionstabelle. Aber auf Dateisystemebene sieht das Dateisystem eine Partitionals wäre es eine weitere physische Festplatte.

Und Sie fragen auch Folgendes:

Warum kopiert das Betriebssystem oder der Dateisystem-Controller diese Metadaten nicht einfach helloKitty.txtin die Tabelle anderer Partitionen?

Estutkopiert die Metadaten von einem Ort zum anderen. Aber es kopiert auch die eigentlichen Dateidaten, da diese Daten D:erst existieren, wenn sie von kopiert werden C:. Und die Metadaten, die es kopiert, beschränken sich auf die Grundlagen des Dateiinhalts, da sich Byte- und Sektordaten ändern, wenn sie von der C:Festplatte/Partition auf die D:Festplatte/Partition kopiert werden.

Die Zeiger des Bytes ändern sich nicht, sie sind absolut, da die Partition logisch und nicht physisch ist.

Die Partition ist im Kontext einer Partition „logisch“. Die im Dateisystem dieser Partition gespeicherten Daten sind im Kontext von Daten über einzelne Dateien, die in die Partitionstabelle eingehen, nicht „logisch“. So ist es einfach und Partition –wie in Wikipedia definiert– wird wie folgt beschrieben; die Hervorhebung stammt von mir:

Bei der Festplattenpartitionierung handelt es sich um die Aufteilung einer Festplatte (HDD) in mehrere logische Speichereinheiten, die als Partitionen bezeichnet werden.ein physisches Festplattenlaufwerk so zu behandeln, als ob es mehrere Festplatten wären, sodass auf jeder Partition ein anderes Dateisystem verwendet werden kann.

Antwort2

Ein Dateisystem besteht aus mehr als nur Adressen für den Inhalt jeder Datei. Es muss auch nachverfolgen, welche Teile der Partition nicht zugeordnet sind („freier Speicherplatz“) und wie viel freier Speicherplatz insgesamt verfügbar ist. Wenn das Dateisystem in Partition C:einige Dateidaten innerhalb von Partition speichern würde D:, müsste es zuerst in den D:Strukturen des Dateisystems nach freiem Speicherplatz suchen und diesen Speicherplatz als im Dateisystem zugeordnet markieren, D:damit die Daten nicht von einer anderen in erstellten Datei überschrieben werden D:. Wenn Sie später die Datei löschen, die sich im Dateisystem zu befinden scheint C:, müsste es D:erneut auf das Dateisystem zugreifen, um diesen Speicherplatz als frei zu markieren.

Die Fehlerprüfung wäre problematisch: Normalerweise wird es als Fehler angesehen, wenn Speicherplatz als zugewiesen markiert ist, aber nicht Teil einer Datei in der Verzeichnisstruktur des Dateisystems ist. Ein Konsistenzprüfer (z. B. Windows chkdskoder Linux/Unix fdisk) markiert den Speicherplatz entweder als frei oder erstellt eine diesem Speicherplatz zugeordnete Datei, damit ein Mensch die Daten prüfen und manuell löschen kann. Wenn die betreffenden Daten jedoch tatsächlich Teil einer Datei in einem anderen Dateisystem sind, würde dies dazu führen, dass der Speicherplatz als frei markiert wird (entweder sofort oder wenn jemand die „wiederhergestellte“ Datei löscht), obwohl er noch von einer Datei verwendet wird.

Um Dateien sicher über Dateisystemgrenzen hinweg zuzuweisen, müssten die beiden Dateisysteme permanent über die Strukturen des jeweils anderen „im Bilde“ sein, sodass sie genauso gut ein einziges Dateisystem sein könnten, das mehrere Partitionen umfasst. Einige Dateisysteme unterstützen das tatsächlich: SiehezfsUndbtrfs. Diese verhalten sich wie eine Art RAID, das in das Dateisystem integriert ist: Sie können mehrere Partitionen, sogar auf mehreren Festplatten, als ein einziges logisches Laufwerk erscheinen lassen. Aber die Partitionen – und Festplatten – sind voneinander abhängig; Sie können nicht einfach eine nehmen und sie allein verwenden.

Antwort3

In dieser Hinsicht sind verschiedene Partitionen wie verschiedene Festplatten.

Die Blöcke werden den einzelnen Partitionen fortlaufend zugewiesen. Sie schlagen vor, dass die Festplatte sich automatisch neu partitioniert und die Sektoren, die zu einer Partition gehören, einer anderen zuweist.

Dieser Ansatz wäre sehr fehleranfällig, würde die Festplattenleistung verschlechtern und andere Funktionen wie das Journaling beschädigen.

verwandte Informationen