GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So ersetzen Sie eine Festplatte unter Linux

Ich habe meinen aktuellen Desktop vor etwa drei Jahren erstellt und ein Solid-State-Laufwerk (SSD) installiert. Später brauchte ich mehr Speicherplatz, also installierte ich ein zweites Laufwerk – ein älteres Spindel- und Platter-Festplattenlaufwerk (HDD), das zufällig herumlag. Kürzlich habe ich mich entschieden, diese HDD durch eine SSD zu ersetzen.

Dieser Artikel führt Sie durch die Schritte zum Ersetzen des Laufwerks, einschließlich einiger Befehle, die zum Identifizieren und Konfigurieren eines Laufwerks und zum Bearbeiten der von Linux verwendeten Konfigurationsdatei verwendet werden.

Laufwerke und Partitionen identifizieren

Verwenden Sie zu Beginn das parted Befehl mit dem Argument -l um die physischen Laufwerke in Ihrem System aufzulisten.

root@workstation:~# parted -l
Modell:ATA Samsung SSD 850 (scsi)
Festplatte /dev/sda:512GB
Sektorgröße (logisch/physisch):512B/ 512B
Partitionstabelle:gpt
Festplatten-Flags:

Nummer  Start   Ende    Größe    Dateisystem  Name                  Flags
 1      1049 KB  538 MB  537 MB   fat32        EFI-Systempartition  boot, esp
 2      538 MB   495 GB   494 GB   ext4


Modell:ATA WDC WD1500HLFS-0 (scsi)
Festplatte /dev/sdb:150 GB
Sektorgröße (logisch/physisch) :512B/512B
Partitionstabelle:gpt
Disk-Flags:

Nummer  Start   Ende     Größe    Dateisystem     Name              Flags
 1      1049 KB 4296 MB 4295 MB  linux-swap(v1) Linux swap
 2      4296 MB   150 GB   146 GB   ext4            Linux-Dateisystem

Sie können sehen, dass mein System zwei Laufwerke hat:sda , bei der es sich um eine SSD handelt, und sdb , das ist eine Festplatte. Die Nummer listet die Partitionen auf, die auf jedem Laufwerk vorhanden sind. Auf jede Partition wird durch eine Nummer verwiesen; zum Beispiel der vollständige Name der ersten Partition auf sda ist /dev/sda1 , die zweite ist /dev/sda2 .

Ordnen Sie Partitionen Mount-Punkten zu

Da Sie nun die Laufwerke und ihre Partitionen kennen, verwenden Sie die findmnt Befehl, um Details über jede Partition anzuzeigen und wo sie im Dateisystem gemountet sind.

findmnt --fstab --evaluate 

Die fstab Option weist findmnt an um nach /etc/fstab zu suchen Datei und die auswerten Option konvertiert lange Universally Unique Identifiers (UUIDs) in echte Gerätenamen.

# findmnt --fstab --evaluate
TARGET        SOURCE    FSTYPE OPTIONS
/             /dev/sda2 ext4   error=remount-ro,noatime,discard
/boot/efi     /dev/sda1 vfat   umask=0077,noatime,discard
none          /dev/sdb1 swap   sw
/raptor       /dev/sdb2 ext4   defaults,noatime

In der Ausgabe von findmnt , QUELLE ist die Partition, auf die Sie auf die Ausgabe von parted zurückverweisen können Befehl von früher. ZIEL ist der Pfad innerhalb des Dateisystems, wo jeder gemountet ist; dies wird auch als Einhängepunkt bezeichnet .

Speicherplatz tauschen

In der obigen Ausgabe zeigt die Swap-Partition none für sein Ziel. Überprüfen Sie Details zu Ihrem Auslagerungsbereich mit der Katze Befehl.

root@workstation:~# cat /proc/swap
Dateiname                                Typ            Größe    Verwendet    Priorität
/dev/sdb1               Partition       4194300 0      >

Die /etc/fstab-Datei

Die /etc/fstab file speichert Linux Informationen über Ihre Laufwerke, Partitionen und Ihr Dateisystem, sodass sie jedes Mal bearbeitet werden muss, wenn Sie Änderungen daran vornehmen. Nachdem Sie nun die aktuellen Laufwerke, Partitionen und Einhängepunkte in Ihrem System identifiziert haben, suchen Sie diese Elemente in Ihrer fstab Datei.

# /etc/fstab:Statische Dateisysteminformationen.
#
# Verwenden Sie 'blkid', um die universell eindeutige Kennung für ein
# Gerät auszugeben; Dies kann mit UUID=als robustere Methode zum Benennen von Geräten verwendet werden,
# die auch dann funktioniert, wenn Festplatten hinzugefügt und entfernt werden. Siehe fstab(5).
#
#        
UUID=818aad1c-fcfc-4be8-9de8- FF6963383FE1 / EXT4-Fehler =Remount-ro, Noatime, Abwurf 0 1
UUID =87B5-E1AE / BOOT / EFI VFAT Umask =0077, Noatime, Verwerfen 0 1
uuid =DC8B85AC-0439-4B60-9267 -58eb69b7f88d keine      swap    sw                                 0 0
UUID=bad318c8-e095-4870-a8bb-c54f5488f569 /raptor   ext4    defaults, noatime                                                  

Die fstab Dateiname ist die Abkürzung für "Dateisystemtabelle". Die Spalten sind von links nach rechts nummeriert:

  1. Dateisystem stellt die Festplattenpartition dar. In den alten Zeiten war der eigentliche Low-Level-Hardwarepfad (wie das, was von der parted ausgegeben wird Befehl, also /dev/sda1 ) wäre hier platziert worden. Heutzutage erhalten alle Partitionen eine UUID, die jetzt die bevorzugte Art ist, auf sie zu verweisen. Dies wird durch den Hinweis oben in der Datei hervorgehoben. Wie der Hinweis sagt, können Sie Ihre System-UUIDs mit blkid anzeigen Befehl. Verwenden Sie das -s Argument, um nur die UUID jedes Geräts anzuzeigen.
    # blkid -s UUID
    /dev/sdb1:UUID="bad318c8-e095-4870-a8bb-c54f5488f569"
    /dev /sda1:UUID="87B5-E1AE"
    /dev/sda2:UUID="818aad1c-fcfc-4be8-9de8-ff6963383fe1"
  2. Einhängepunkt stellt den Ort innerhalb des Linux-Dateisystems dar, an dem die Partition gemountet ist.
  3. tippen beschreibt das Dateisystemformat der Partition. Linux unterstützt viele Typen; Einige gebräuchliche sind ext3, ext4 und XFS, und es gibt noch viele mehr. Ich habe lange Zeit JFS verwendet.
  4. Optionen steuern, wie eine Partition gemountet wird. Zum Beispiel die Optionen ro und rw Bestimmen Sie, ob es als Read-Only oder Read-Write gemountet ist. Eine weitere gängige Option ist noatime , das verwendet wird, um die Aktualisierung der Dateizugriffszeiten zu deaktivieren, normalerweise um die E/A-Leistung der Festplatte zu verbessern.
  5. Dump wird vom Dump-Dienstprogramm verwendet, um festzustellen, ob das Dateisystem gesichert werden muss. Eine Einstellung von Null bedeutet nein. Diese Funktion wird heutzutage nicht mehr oft verwendet.
  6. bestanden wird von fsck verwendet um die Reihenfolge festzulegen, in der Dateisysteme beim Booten auf Fehler überprüft werden. Eine Einstellung von 0 deaktiviert die Prüfung und überspringt das Dateisystem. Im Allgemeinen sollte das Root-Dateisystem (/) auf 1 gesetzt werden, damit es zuerst geprüft wird.

Nachdem Sie nun wissen, welche Laufwerke in Ihrem System vorhanden sind und wie sie gemountet sind, können Sie mit dem Austausch der Festplatte beginnen.

Ersetzen der Festplatte

Weitere Linux-Ressourcen

  • Spickzettel für Linux-Befehle
  • Spickzettel für fortgeschrittene Linux-Befehle
  • Kostenloser Online-Kurs:RHEL Technical Overview
  • Spickzettel für Linux-Netzwerke
  • SELinux-Spickzettel
  • Spickzettel für allgemeine Linux-Befehle
  • Was sind Linux-Container?
  • Unsere neuesten Linux-Artikel

Ein guter Plan ist, die neue SSD zu installieren, die Dateien auf der Festplatte auf die SSD zu kopieren und dann die Festplatte zu entfernen. Sie möchten die SSD letztendlich am selben Punkt wie die Festplatte montieren, damit alle Anwendungen, die auf diesen Pfad angewiesen sind, nicht beschädigt werden.

Installieren Sie das neue Laufwerk

Schalten Sie zuerst den Computer aus und ziehen Sie das Netzkabel ab, um das Risiko einer Beschädigung durch Stromschlag am Computer oder an sich selbst zu vermeiden. Installieren Sie als Nächstes vorübergehend die SSD und schließen Sie sie an ein Stromkabel an.

Schließen Sie dann das Datenkabel zwischen dem neuen Laufwerk und einem offenen SATA-Anschluss auf der Hauptplatine an. Nachdem alles sicher verbunden ist, schließen Sie das System an das Stromnetz an und schalten Sie den Computer ein.

Überprüfen Sie als Nächstes, ob das System das neue Laufwerk im BIOS oder Unified Extensible Firmware Interface (UEFI) Ihres Computers erkennt. Die Taste oder Tastenkombination zum Aufrufen des System-BIOS oder UEFI variiert je nach Computerhersteller. Normalerweise erkennen moderne Computer automatisch Laufwerke und andere Geräte, die an das System angeschlossen sind, sodass wahrscheinlich nichts geändert werden muss. Das war mein Fall; mein System sieht das neue Laufwerk als SATA SSD .

Nachdem Sie überprüft haben, dass alle Laufwerke vom System erkannt und angezeigt werden, starten Sie neu und lassen Sie Linux laden. Stellen Sie dann sicher, dass Linux das Laufwerk erkennt, indem Sie parted wiederholen Befehl. Der Befehl parted -l zeigt, dass ich drei Laufwerke installiert habe:sda, sdb und sdc. Hier ist die Ausgabe für mein neues sdc-Laufwerk:

Modell:ATA SATA SSD (scsi)
Festplatte /dev/sdc:240GB
Sektorgröße (logisch/physisch):512B/512B
Partitionstabelle:msdos
Festplatte Flags:

Anzahl  Start   Ende     Größe    Typ     Dateisystem  Flags
 1      1049 KB  1075 MB  1074 MB  Primär  ext4         Boot
 2      1075 MB  240 GB   239 GB  >      

Diese Ausgabe listet die Partitionstabelle als msdos auf und zeigt an, dass zwei Partitionen vorhanden sind; Dies liegt daran, dass ich eine SSD verwende, die zuvor in einem anderen System verwendet wurde. Dies wird sich alles ändern, sobald das Laufwerk für sein neues Leben neu formatiert wird.

Bereiten Sie die neue SSD vor

Nachdem Sie bestätigt haben, dass Linux die neue SSD identifiziert, verwenden Sie die Datei parted Befehl erneut ausführen – aber dieses Mal, um das Laufwerk neu zu konfigurieren. In meinem Fall habe ich die Partitionstabelle in GPT geändert, was neuer ist. Ich habe auch eine neue Partition für die allgemeine Speicherung mit dem XFS-Dateisystem erstellt. Sie müssen die vorhandenen Partitionen nicht zuerst löschen, da sie automatisch gelöscht werden, wenn die neue Partitionstabelle, auch label genannt, erstellt wird , wird geändert und gespeichert.

Stellen Sie die Partitionstabelle ein

Geben Sie den Befehl ein:parted /dev/sdc .

# parted /dev/sdc
GNU Parted 3.2
Verwendung von /dev/sdc
Willkommen bei GNU Parted! Geben Sie „Hilfe“ ein, um eine Liste mit Befehlen anzuzeigen.

Verwenden Sie das mklabel Befehl, um die Partitionstabelle oder das Label in gpt zu ändern . Sie werden gewarnt, dass diese Aktion alle vorhandenen Daten auf der Festplatte zerstört. Antworten Sie mit Ja.

(parted) mklabel gpt
Warnung:Das vorhandene Plattenlabel auf /dev/sdc wird zerstört und alle Daten auf dieser Platte gehen verloren. Möchten Sie fortfahren?
Ja/Nein? y

Änderungen an der Laufwerkskonfiguration können Sie über Drucken überprüfen Befehl. Sie werden auch feststellen, dass alle Partitionen verschwunden sind.

Modell:ATA SATA SSD (scsi)
Festplatte /dev/sdc:240GB
Sektorgröße (logisch/physisch):512B/512B
Partitionstabelle:gpt
Festplatte Flags:

Nummer  Start   Ende     Größe    Typ     Dateisystem  Flags

Partition erstellen

Mit dem mkpart können Sie neue Partitionen erstellen Befehl. Ich habe nur eine Partition erstellt, da ich beabsichtige, das gesamte Laufwerk für zusätzlichen Speicherplatz zu verwenden.

Die kostenlos drucken Der Befehl ist auch nützlich, um den freien Speicherplatz auf einem Laufwerk anzuzeigen. Da ich keine Partitionen definiert habe, stehen die gesamten 240 GB zur Verfügung.

(parted) print free
Modell:ATA SATA SSD (scsi)
Festplatte /dev/sdc:240GB
Sektorgröße (logisch/physisch):512B/512B
Partitionstabelle:gpt
Datenträger-Flags:

Nummer  Start   Ende    Größe   Dateisystem  Name  Flags
        17,4 KB  240 GB  240 GB  Freier Speicherplatz

Ich nenne die Partition storage und setzen Sie den Dateisystemtyp auf xfs . Da ich nur eine Partition habe, gebe ich den Anfang und das Ende der Partition an, um den gesamten verfügbaren freien Speicherplatz in Prozenten zu verwenden. Dies kann mit einem einzeiligen Befehl erfolgen.

mkpart storage xfs 0% 100% 

Bestätigen Sie anschließend mit Drucken Befehl.

(parted) print
Modell:ATA SATA SSD (scsi)
Festplatte /dev/sdc:240GB
Sektorgröße (logisch/physisch):512B/512B
Partition Tabelle:gpt
Datenträger-Flags:

Nummer  Start   Ende    Größe   Dateisystem  Name     Flags
 1      1049 KB  240 GB  240 GB  xfs          Speicher

Als Sie aufhörten sich zu trennen , werden Sie darüber informiert, dass die Datei /etc/fstab Datei muss möglicherweise aktualisiert werden.

(parted) quit
Information:Möglicherweise müssen Sie /etc/fstab aktualisieren.

Partition formatieren

Als nächstes formatieren Sie die neue Linux-Partition mit dem xfs Dateisystem mit mkfs.xfs .

mkfs.xfs /dev/sdc1 

Das neue Laufwerk wird vollständig formatiert. Wie ich bereits erwähnt habe, ist es derzeit Standard, auf eine Partition mit ihrer UUID und nicht auf den physischen Gerätepfad zu verweisen. Ermitteln Sie daher mit blkid die UUID der neuen Partition .

# blkid -s UUID

/dev/sdc1:UUID="d98abe0a-f641-4331-a3dc-b89ebc60bfb5"

Kopieren Sie die Dateien

Das neue Laufwerk ist formatiert und kann in das System eingebunden werden. Aber der Prozess, ein anderes Laufwerk durch dieses zu ersetzen, ist nicht ganz so einfach. Zunächst müssen beide Laufwerke gleichzeitig gemountet werden, um Dateien vom alten Laufwerk auf das neue zu kopieren.

Stellen Sie dazu das neue Laufwerk an einem temporären Bereitstellungspunkt bereit, kopieren Sie die Dateien, und trennen Sie dann beide Laufwerke. Wieso den? Sie können das neue Laufwerk also am selben Mount-Punkt mounten, an dem das alte Laufwerk gemountet wurde, um den Pfad beizubehalten. Falls Anwendungen mit diesem Pfad konfiguriert sind, ist es auf diese Weise einfacher.

# mkdir /mnt/newssd
# mount UUID="d98abe0a-f641-4331-a3dc-b89ebc60bfb5" /mnt/newssd
# cp -avT /raptor/ /mnt/newssd/

Verwenden Sie diff um den Erfolg der Kopie zu überprüfen.

diff -rqy /raptor/ /mnt/newssd/ 

Entfernen Sie die alte Festplatte

Unmounten Sie beide Laufwerke

Jetzt, da das neue Laufwerk alle alten Dateien enthält, stellen Sie es anstelle des alten Laufwerks wieder bereit. Unmounten Sie zuerst beide Laufwerke.

# umount /dev/sdc1
# umount /dev/sdb2

Swap deaktivieren

Da das alte Laufwerk nicht mehr als Auslagerungsgerät verwendet wird, deaktivieren Sie es mit swapoff Befehl.

# swapoff /dev/sdb1 

Wenn Sie die cat /proc/swap wiederholen Befehl, wird diese Partition nicht mehr aufgelistet.

Aktualisieren Sie die fstab-Datei

Gehen Sie zurück zu /etc/fstab Datei; Es gibt ein paar Änderungen, die Sie vornehmen müssen. Ich empfehle, eine Sicherungskopie der Datei zu erstellen, bevor Sie sie bearbeiten.

cp -a /etc/fstab /etc/fstab.backup 

In der Zeile für /raptor Einhängepunkt, ersetzen Sie die UUID durch die des neuen Laufwerks; Ersetzen Sie das Dateisystem ext4 durch xfs; und fügen Sie verwerfen hinzu zu den Optionen. Es sollte so aussehen:

UUID=d98abe0a-f641-4331-a3dc-b89ebc60bfb5 /raptor  xfs  defaults,noatime,discard  0 2 

Deaktivieren Sie Swap dauerhaft, indem Sie die Datei /etc/fstab bearbeiten Datei und Auskommentieren oder Löschen der Auslagerungszeile.

# UUID=dc8b85ac-0439-4b60-9867-58eb69b7f88d none  swap  sw  0 0 

Auslagerungsspeicher kann auf einem anderen Laufwerk oder einer anderen Partition bereitgestellt werden, wenn er noch benötigt wird. Anstatt diese Zeile zu entfernen, ersetzen Sie in diesem Fall einfach die UUID auf die gleiche Weise wie beim Einrichten des neuen Laufwerks.

Nach dem Speichern der fstab Datei, führen Sie mount aus basierend auf den Änderungen neu zu mounten.

root@workstation:~# mount -av
/                                          :ignoriert
/boot/efi                :bereits gemountet
/raptor            :erfolgreich gemountet

Fahren Sie schließlich den Computer herunter und entfernen Sie die Festplatte, die nicht mehr verwendet wird. Schalten Sie dann das System ein und prüfen Sie, ob das System korrekt hochgefahren ist und alle Laufwerke wie erwartet gemountet sind. Neben dem zusätzlichen Speicherplatz bemerke ich auch einen Leistungsgewinn und eine Geräuschreduzierung.


Linux
  1. Partitionieren Sie ein Laufwerk unter Linux mit GNU Parted

  2. So verwalten Sie eine Swap-Partition unter Linux

  3. Wie verschiebt man eine Partition in GNU/Linux?

  4. Wie aktiviere ich die Linux-Swap-Partition?

  5. Wie ändere ich die Swap-Partition in Linux?

So ändern Sie die UUID der Partition im Linux-Dateisystem

So klonen Sie eine Partition oder Festplatte unter Linux

So finden Sie Festplattendetails in Linux

So mounten Sie ein Laufwerk unter Linux

So konvertieren Sie ein Verzeichnis in eine Partition unter Linux

So verschlüsseln Sie eine Partition unter Linux