Auf dieser Seite finden Sie Kurzanleitungen/Howtos zu verschiedenen Themen.
Die folgende Anweisungen richten sich ausschließlich an fachkundige Personen.
Bei jedem Schritt kann es zum kompletten Datenverlust kommen. Alle Angaben ohne Gewähr.
Möchte man seine bereits auf einer normalen Festplatte fertig eingerichtete Linux-Partition auf eine schnellere SSD umziehen, die HDD aber weiterhin im System behalten, ergeben sich hieraus ein paar zu beachtende Punkte. Diese Kurzanweisung zeigt exemplarisch den Umzug einer Linux- und zugehöriger UEFI-Partition von /dev/sda auf /dev/nvme0n1. Die folgenden Schritte sollten unter einem Live-Linux durchgeführt werden, damit Quell- und Ziellaufwerk nicht eingebunden sind.
Sie sollte auch hier – wie immer bei solchen Systemeingriffen – vorher eine Sicherung anlegen. Alle Daten auf der SSD gehen verloren!
Partitionstabelle von /dev/sda sichern
Mit folgendem Befehl wird die Partitionstabelle von im Format von sfdisk als Textdatei gespeichert:
Hinter den kryptischen Werten nach "type" verbergen sich die Partitionstypen wie Linux-Swap oder EFI. Hier ist /dev/sda1 die EFI-Partition, /dev/sda2 das Linux-System und /dev/sda3 eine Daten-Partition.
Partitionstabellendatei ändern
Nun können/müssen Sie die Partitionstabellendatei ändern:
Löschen Sie ggf. Zeilen mit Partitionsdefinitionen, wenn die Ziel-SSD kleiner ist oder Sie einige Partitionen nicht auf die SSD übernehmen wollen
Ersetzen Sie bei den "uuid="-Werten, die ersten Zeichen z.B. durch "ABC", damit sich alle von ihren Originalwerten unterscheiden
Löschen Sie die "last-lba:"-Zeile
Partitionstabelle auf /dev/nvme0n1 anwenden
Achtung: Vergewissern Sie sich, daß das richtige Ziellaufwerk angeben, da es dort zu Datenverlust kommt.
sfdisk /dev/nvme0n1 < sda.part
Partitionen kopieren
Der Inhalt der Partitionen kann effizient mit Partclone übertragen werden, wobei Partclone nur die verwendeten Sektoren kopiert. Das partclone-Kommando gibt es in einer Version für jedes unterstützte Dateisystem. Zum Kopieren der Beispielpartitionen (EFI-Partition mit vfat und Linux-Partition mit ext4-Dateisystem) sieht das Kopieren wie folgt aus:
Nach dem Kopieren der Partitionsdaten von der Festplatte auf die SSD bleiben zwar die PARTUUIDs unverändert und so, wie sie durch sfdisk geschrieben wurden, die UUIDs der Dateisysteme sind aber nun mit denen der Quellpartitionen identisch. Die UUIDs auf den Zielpartitionen müssen daher geändert werden, damit die Zuordnung von UUID zur Partitionsgerät (z.B. /dev/nvme0n1p1) eindeutig ist und es zu keinen Problemen kommt. Die aktuell verwendeten UUIDs und PARTUUIDs erhalten Sie mit:
Für das Ändern der PARTUUID von VFat-Partitionen gibt es leider kein entsprechendes Programm, weshalb Sie die UUID direkt in die Partition schreiben müssen. Glücklicherweise hat Rod Smith einen Zweizeiler veröffentlicht, der das Ändern vornimmt:
Nachdem Sie die geänderten UUIDs in die Partitionen geschrieben haben, müssen Sie diese in Konfigurationsdateien auf der Ziel-SSD ebenfalls eintragen, damit der Rechner zukünftig von der SSD und nicht mehr von der HDD bootet.
Erstellen Sie zuerst Mountpunkte für die auf die SSD geklonten EFI- und Linux-Partition und mounten diese anschließend:
mkdir /tmp/nvme0n1p1
mkdir /tmp/nvme0n1p2
mount /dev/nvme0n1p1 /tmp/nvme0n1p1
mount /dev/nvme0n1p2 /tmp/nvme0n1p2
Ändern Sie die UUIDs in den folgenden Dateien (sofern vorhanden):
/tmp/nvme0n1p2/etc/fstab
/tmp/nvme0n1p2/etc/default/grub
/tmp/nvme0n1p2/etc/grub.d/*
/tmp/nvme0n1p2/etc/crypttab
ggf. weitere von Ihnen verwendete Konfigurationsdateien und Skripte /tmp/nvme0n1p2/...
Bootmanager auf SSD installieren
Damit der Rechner auch von der SSD booten kann, müssen Sie den Bootmanager grub direkt auf der SSD installieren, nachdem Sie in die Linux-Partition der SSD "gechrootet" sind:
# Zum Mountpunkt der Linux-Partition der SSD wechseln
cd /tmp/nvme0n1p2
# Pseudodateisysteme einbinden, aus denen grub Informationen auslesen muß
mount -t proc proc proc/
mount -t sysfs sys sys/
mount -o bind /dev dev/
# Aktuelles Wurzelverzeichnis wechseln
chroot .
# EFI-Partition einbinden
mount /boot/efi/
# grub installieren
grub-install /dev/nvme0n1
# Vorhandene Linux-Kernel suchen und ins grub-Menü aufnehmen
update-grub
# chroot-Umgebung verlassen
exit
# Rechner neustarten
reboot
Neustart
Wählen Sie aus dem BIOS-Bootmenü die SSD als zu startendes System aus. Am wahrscheinlich deutlich beschleunigten Start sollte ersichtlich sein, daß nun statt der HDD die SSD verwendet wird. Wirkliche Gewißheit erhalten Sie aber erst über die Ausgabe der folgenden Befehlszeile:
mount | grep ' / '
Hier sollte nun stehen, daß das root-Dateisystem auf /dev/nvme0n1p2 liegt.
Speicher der HDD wiederverwenden
Nachdem Sie sich – vorzugsweise über mehrere Wochen – vom korrekten Funktionieren Ihrer SSD-Installation überzeugt haben, können Sie die (ausgediente) Linux-Partition auf HDD neu formatieren und für andere Zwecke verwenden.