• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] Umzug von hdd auf ssd

rohrmoos

Member
Hallo,
ich habe einen AMD Ryzen3 Rechner mit einer
internen HDD-Festplatte mit 1TB. Auf dieser Festplatte
befinden sich "Windows10" und "Leap15.3" (mit GPT und EFI).

Nachträglich habe ich eine neue interne SSD-Platte mit 1TB eingebaut.
Nun möchte ich vollständig von der HDD auf die SSD umziehen.
Mein Absicht ist die HDD anderweitig zu verwenden.

Mit einer Rescue-CD habe ich mit dd=/dev/sda of=/dev/nvme0n1 bs=128k
die HDD auf SSD gespiegelt. Danach habe ich das Stromkabel
von der HDD entfernt und den Rechner von der SSD gestartet.

Der Bootloader wird angezeigt.
Auswahl Windows10: funktioniert einwandfrei. (kein Zugriff auf HDD erforderlich)
Auswahl Leap15.3: Leap15.3 startet bleibt noch vor der Anmeldung hängen.
(Erst nach Anschaltung der HDD ist der Startvorgen erfolgreich)

Frage: Muss ich Leap15.3 auf der SSD vollständig neu installieren,
oder kann ich durch Eingriffe in bestimmte Dateien eine Neuinstallation
vermeiden? Bisher habe ich keine Eingriffe an der SSD vorgenommen.
Gruß rohrmoos
 
Auswahl Leap15.3: Leap15.3 startet bleibt noch vor der Anmeldung hängen.
(Erst nach Anschaltung der HDD ist der Startvorgen erfolgreich)
Ist die HDD noch in der /etc/fstab eingetragen?
Code:
cat /etc/fstab
soll die alle Partitionen dir anzeigen.
 

susejunky

Moderator
Teammitglied
Hallo rohrmoos,


rohrmoos schrieb:
... Mit einer Rescue-CD habe ich mit dd=/dev/sda of=/dev/nvme0n1 bs=128k
die HDD auf SSD gespiegelt. Danach habe ich das Stromkabel
von der HDD entfernt und den Rechner von der SSD gestartet.

Der Bootloader wird angezeigt.
Auswahl Windows10: funktioniert einwandfrei. (kein Zugriff auf HDD erforderlich)
Auswahl Leap15.3: Leap15.3 startet bleibt noch vor der Anmeldung hängen.
(Erst nach Anschaltung der HDD ist der Startvorgen erfolgreich)

Frage: Muss ich Leap15.3 auf der SSD vollständig neu installieren,
oder kann ich durch Eingriffe in bestimmte Dateien eine Neuinstallation
vermeiden? Bisher habe ich keine Eingriffe an der SSD vorgenommen.
Gruß rohrmoos
eine Neuinstallation sollte nicht notwendig sein.

Meine Vermutung:

In der initrd Deines Systems fehlt der Treiber für NVMe-Geräte (schließlich wurde er für die HDD-Installation nicht benötigt).

Wahrscheinlich kannst Du Dein Problem einfach dadurch lösen, dass Du ein LIVE/Rescue-System startest, ein chroot in Dein installiertes System durchführst und die initrd neu erstellst.

Sollte das nicht funktionieren, müssen wir Dein Problem näher untersuchen.

Viele Grüße

susejunky
 
OP
R

rohrmoos

Member
Danke Heinz-Peter und susejunky für die schnellen Antworten

Die fstab von der SSD ist identisch mit der von der HDD (aufgrund der Spiegelung)
Code:
/home/***# cat /etc/fstab
UUID=a101da54-3b0a-4d42-b30a-3fb7eb7e04d5  /          ext4  defaults  0  1
UUID=09B9-14F2                             /boot/efi  vfat  utf8      0  2
UUID=9e17d3e8-2a51-41ca-ad8b-e64f1be5a98a  swap       swap  defaults  0  0

Ich habe mich nun doch entschlossen, eine Neuinstallation von Leap15.3
auf der SSD durchzuführen. Für die Erstellung einer neuen "initrd" fehlen
mir leider die Kenntnisse (werde mich jedoch noch in das Thema einlesen).
 

josef-wien

Ultimate Guru
Mit dd wurde 1:1 kopiert (und wenn rohrmoos mit seiner fragwürdigen Aktion Glück hat, ist die neue Platte nicht kleiner als die alte, und den nicht verfügbaren Rest auf der neuen Platte wird er verschmerzen können), damit bleiben alle UUID (GPT, Partitionen, Dateisysteme) unverändert. Wenn beide Platten angeschlossen sind, gibt es durch die doppelten UUID Chaos.
 
OP
R

rohrmoos

Member
Hallo josef-wien,
Deine Vermutung ist richtig. Ich hatte mir vorher mit "gparted" die Partitionen
einzeln angesehen. Die Bezeichnungen waren unterschiedlich
z.B. /dev/sdax bzw. /dev/nvme0n1px (x steht für 1 bis 5),
jedoch die zugehörigen UUIDs.........waren identisch. Ich habe auch
für die /dev/nvme0n1px neue UUIDs erstellen lassen,
und diese in die fstab eingetragen (jedoch ohne Erfolg).

Ich haben nun endgültig beschlossen, die HDD beizubehalten und die
SSD neu zu formatieren und als Datenspeicher zu nutzen.
 

josef-wien

Ultimate Guru
Wenn beide Platten gleichzeitig verwendet werden, dann stelle auf jeden Fall sicher, daß bei
Code:
lsblk -d -o NAME,PTUUID
lsblk -o NAME,UUID,PARTUUID
pro Spalte jede UUID nur einmal vorkommt. Bei Deinem letzten Entschluß ist es am einfachsten, eine neue GPT anzulegen, diese zu partitionieren und die Partitionen zu formatieren. Aber Betriebssysteme auf einer SSD bringen Dir wesentlich mehr Geschwindigkeit als es bei Benutzerdaten der Fall ist (außer Du kopierst die Daten ständig von einem Verzeichnis in ein anderes).
 

susejunky

Moderator
Teammitglied
Hallo rohrmoos,


rohrmoos schrieb:
... Ich haben nun endgültig beschlossen, die HDD beizubehalten und die
SSD neu zu formatieren und als Datenspeicher zu nutzen.
nun, es ist Deine Entscheidung.

Aber vielleicht siehst Du Dir vorher noch einmal das hier an.

Und wie bereits gesagt, wenn Du Unterstützung benötigst ...

Viele Grüße

susejunky
 
rohrmoos schrieb:
[...]

Ich haben nun endgültig beschlossen, die HDD beizubehalten und die
SSD neu zu formatieren und als Datenspeicher zu nutzen.

[sarkasmus an] Ich wünsche dir viel Freude damit, bei jedem langsamen Zugriff, bei jedem Warten auf den Rechner, dir zu Überlegen das dies mit der SSD jetzt deutlich schneller gehen würde... [sarkasmus aus]

susejunky hat dir doch schon Hilfe angeboten... Ernsthaft: Solltest Du annehmen. Eine SSD als Ersatz für ein HDD bringt einen derartigen Schub, dass es sich lohnt.
 

susejunky

Moderator
Teammitglied
Hallo rohrmoos,

wie bereits gesagt, es liegt bei Dir, wie Du die SSD nutzen willst.

Für den Fall, dass Dir die chroot-Lösung "nicht ganz geheuer ist", so gibt es - vorausgesetzt Dein openSUSE-System auf der Festplatte ist noch betriebsbereit - eine weiter Möglichkeit Deine initrd mit den erforderlichen Modulen zu bestücken:

  1. Starte Dein System (das auf der HDD).
  2. Erstelle eine Datei /etc/dracut.conf.d/90-nvme_usb.conf (Eigentümer: root, Benutzergruppe: root, Berechtigungen: -rw-r--r--) mit folgendem Inhalt
    Code:
    # additional kernel modules to the default
    add_drivers+=" nvme nvme-core usb-storage uas "
    Diese Module ermöglichen den Systemstart wenn die NVMe-SSD direkt an einer M.2-Schnittstelle angeschlossen ist, als auch dann, wenn sie einmal in einen externen PCIe-zu-USB-Adapter eingebaut wird.
  3. Erzeuge mit
    Code:
    dracut -f
    eine neue initrd.
  4. Überprüfe mit
    Code:
    lsinitrd | grep -e "nvme" -e "usb"
    ob die neue initrd die gewünschten Module (nvme-core.ko.zst, nvme.ko.zst, usb-storage.ko.zst, uas.ko.zst) enthält.
  5. Falls Deine SSD immer noch eine aktuelle Kopie Deiner HDD ist, ersetze die initrd auf der SSD durch die neu erstellte initrd von der HDD und kopiere die Datei /etc/dracut.conf.d/90-nvme_usb.conf von der HDD auf die SSD (ansonsten erstelle mit dd nochmals eine Kopie von der HDD auf der SSD).
  6. Fahre Dein System herunter und "klemme die HDD ab"
  7. Starte Dein System neu

Bitte beachte, die Datei /boot/initrd ist ein symbolischer Link auf die tatsächliche, aktuelle initrd-Datei (z.B. /boot/initrd-5.15.8-1-default). Die obigen Darstellung bezieht sich stets auf die tatsächliche, aktuelle initrd-Datei.

Sollte bei einem der obigen Schritte Probleme auftreten, mach nicht weiter, sondern zeige hier die aufgetretenen Fehler.

Viele Grüße

susejunky
 
OP
R

rohrmoos

Member
herzlichen Dank an alle Helfer für die vielen nützlichen Hinweise.
Ich habe den Link von susejunky studiert und auch seinen sehr ausführlichen vorstehen Beitrag.

Beim Kopieren mit dd HDD nach SSD erhalte ich jedoch immer noch die doppelten UUIDs.....
Das gilt auch, wenn ich Partition für Partition einzeln bei gleicher Größe und Section mit dd kopiere.
Falls ich die Partitionen vorab einzeln anlege und formatiere habe ich für die Windows-und EFI Partitionen
keine Image-sicherung. Für die Leap-Partition steht eine entsprechende Sicherung zur Verfügung.

Wenn Windows11 für meinen Rechner bereit gestellt wird, werde ich eine Neuinstallation von Windows11
und Leap15.3 auf der SSD durchführen. Bis dahin nutze ich die SSD als Datenspeicher.
 

Sauerland

Ultimate Guru
rohrmoos schrieb:
Wenn Windows11 für meinen Rechner bereit gestellt wird, werde ich eine Neuinstallation von Windows11
und Leap15.3 auf der SSD durchführen. Bis dahin nutze ich die SSD als Datenspeicher.
Das würde ich auch machen, allerdings ohne Windows 11 Installation.

Bringt ein sauberes System.
 

josef-wien

Ultimate Guru
Wenn Du eine Platte mit dd kopierst, bleiben alle Universally Unique Identifier (PTUUID, PARTUUID, UUID) unverändert, denn Du erstellst ja eine 1:1-Kopie.

Wenn Du eine Partitionentabelle erzeugst, erhält sie automatisch eine PTUUID. Wenn Du eine Partition erzeugst, erhält sie automatisch eine PARTUUID.

Wenn Du eine Partition formatierst, erhält sie automatisch eine UUID als Attribut des Dateisystems. Wenn Du eine Partition mit dd kopierst, bleibt deren Dateisystem-UUID unverändert, denn Du erstellst ja eine 1:1-Kopie.

Linux-Distributionen verwenden üblicherweise die Dateisystem-UUID. Das UEFI verwendet die PARTUUID, um die EFI-Systempartition anzusprechen. Daher ist die Eindeutigkeit innerhalb des jeweiligen Typs wichtig.

P. S. Der Begriff "automatisch" trifft dann zu, wenn Du bei der entsprechenden Aktion keinen eigenen Universally Unique Identifier vorgibst.
 
OP
R

rohrmoos

Member
Hallo susejunky,
aufgrund deiner sehr detaillierten Hinweise habe ich noch einen Versuch unternommen, und alle
Punkte aus deinem Vorbeitrag ausgeführt - mit vollem Erfolg. Der Umzug ist also gelungen.
Eine Frage habe ich noch: Was geschieht bei einem Kernel-Update? muss ich die Prozedur
dann jedesmal wiederholen?

Nochmals vielen Dank an alle Helfer und einen guten Rutsch ins neu Jahr.
 

susejunky

Moderator
Teammitglied
Hallo rohrmoos,

schön zu hören, dass Du Dein System nun von der NVMe-SSD aus betreibst. Es wäre wirklich ein Jammer gewesen, die SSD nur als Datenspeicher zu verwenden.


rohrmoos schrieb:
... Eine Frage habe ich noch: Was geschieht bei einem Kernel-Update? muss ich die Prozedur
dann jedesmal wiederholen?
Nein und zwar aus zwei Gründen:

  1. Wenn Du die Datei /etc/dracut.conf.d/90-nvme_usb.conf auf die SSD übernommen hast, dann werden die Module, die notwendig sind, um mit einem Root-Dateisystem, das auf einer NVMe-SSD oder einem USB-Speichergerät liegt, starten zu können, immer in die initrd aufgenommen werden.
  2. Da Dein Root-Dateisystem nun auf einer NVMe-SSD (und nicht mehr auf einer HDD) liegt, werden die erforderlichen NVMe-Treiber auch ohne weiteres zutun in die initrd aufgenommen.

Viele Grüße und auch Dir einen guten Rutsch ins neue Jahr

susejunky
 

susejunky

Moderator
Teammitglied
Hallo josef-wien,


josef-wien schrieb:
Für die Nachwelt: Christina hat eine andere Methode verwendet, um das nicht startende Linux zu aktivieren: findroot
ich habe die SystemRescue-CD schon lange nicht mehr eingesetzt, aber ich vermute, dass sie lediglich das auf der NVMe-SSD installierte System startet.

Wird nach dem Start die initrd (des Systems auf der SSD) aber nicht um die nvme-Module erweitert, dann wird auch der nächste Systemstart ohne SystemRescue-CD nicht möglich sein.

Oder bewirkt die findroot-Option eine automatische Anpassung der initrd des gestarteten Systems?

Viele Grüße

susejunky
 
Oben