Ubuntu auf anderen Datenträger clonen

Crys

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.661
Hallo Freunde der Technik,

ich habe versucht mein bestehendes Ubuntu 16 von einer HDD auf eine andere HDD (später NVMe) zu klonen. Hierzu habe ich in einem Live-System mit gparted die alten Partitionen ( "/" und "/boot") ausgewählt, kopiert und boot-flag bei der boot-Partition wiederhergestellt.

Alten Datenträger abgesteckt und neu gebootet. Leider passiert gar nichts beim Starten, man sieht nur ein _ das blinkt. Sonst gar nichts.

Da das alte OS noch den MBR verwendet, habe ich auch versucht diesen wiederherzustellen. Hierzu habe ich die beiden Partitionen in mein bestehendes System gemountet und versucht per grub-install dieses zu erstellen. Ohne Erfolg:
Bash:
root@NAS:/# grub-install -d /mnt/new-ubuntu/usr/lib/grub/x86_64-efi /dev/nvme0n1p1
Installing for x86_64-efi platform.
grub-install: Fehler: Kann EFI Verzeichnis nicht finden.
root@NAS:/# grub-install -d /mnt/new-boot/grub/i386-pc /dev/nvme0n1p1
Installing for i386-pc platform.
grub-install: Fehler: »/mnt/new-boot/grub/i386-pc/kernel.img« kann nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden.

Mein Ziel ist es, einfach das bestehendes OS 1zu1 zu kopieren.

Was für Tipps habt ihr noch?

Vielen Dank.
 
Zuletzt bearbeitet: (NVMe zu HDD, da dies auch nicht geht)
NVME läuft doch nur mit GPT und damit mit einer EFI-Partition.
 
  • Gefällt mir
Reaktionen: Crys
1. Ubuntu 1604 ist seit eine jahr end of life. DRINGEND updaten. Du hast da einen riesen BLumenstrauss an Sicherheitsluecken. Kannst direkt auf 20.04 gehen. Es sei denn du magst die Daten nicht oder willst sie eh publik machen

2. Das ist ein NAS. mit 5gbit/s lastet du eine SATA SSD aus wenn alles gut Laeuft. eine NVMe SSD braucht eher so 40 GBIt/s

3. Sicher das die pfade existieren?
 
@madmax2010 du bist aber ein ganz gescheiter 🤓
1. Ubuntu 16 LTS ESM wird offiziell noch bis 2026 unterstützt! @TechX dito
2. mein NAS laste ich mit max 1Gb/s aus. Die Latenz einer NVMe ist aber wesentlich geringer als die einer HDD
3. selbstverständlich ...
5. Disqualifiziert: da Frage nicht beantwortet :stock:

Ergänzung ()

@ all
An der NVMe selbst liegt es nicht. Von einer anderen HDD lässt sich der identische Klon auch nicht booten
 
Zuletzt bearbeitet:
Wenn du das 1:1 überträgt stimmen die Geräte in der fstab vieleicht nicht mehr. Bei Pfaden statt UUID steht dann dort /dev/sdaX, muss aber nun /dev/nvmeXnXpX heißen.
 
  • Gefällt mir
Reaktionen: 0815burner und Crys
Wenn du ESM bezahlst: gut. tun wenige :)

Crys schrieb:
2. mein NAS laste ich mit max 1Gb/s aus. Die Latenz einer NVMe ist aber wesentlich geringer als die einer HDD
1 Gb/s oder 1 Gbit/s?
War aber auch nur als kleiner Hinweis gemeint, da viele aeltere Systeme nicht von NVMe laufwerken booten. Dazu kommt das hier immer mal wieder threads aufpoppen, bei denen leute irritiert sind, dass sie immernoch nur im Peak ~110MB/s schaffen. IOPS und Latenzen von SSDs allgemein ja. HDD habe ich nie behaptet

Crys schrieb:
3. Disqualifiziert, da Frage nicht beantwortet :stock:
naja, war ja nicht komplett falsch was du versucht hast. Der pfad existierte halt nicht ¯\(ツ)/¯.

deine loesung findest du in #5

wie exakt hast du geklont? dd?
 
Dassie schrieb:
Bei Pfaden statt UUID steht dann dort /dev/sdaX, muss aber nun /dev/nvmeXnXpX heißen.
In der fstab stehen nur UUID, welche durch das Klonen identisch sind. Deshalb die HDD abgeklemmt, sonst kommt es in jeden fall (auch beim Starten der alten HDD) zu fehlern.
In grub dasselbe, nur UUIDs, die stimmen.
Wo könnte das noch sein?
 
madmax2010 schrieb:
Wenn du ESM bezahlst: gut. tun wenige

ESM is [...] is free for personal use
https://ubuntu.com/security/esm

madmax2010 schrieb:
1 Gb/s oder 1 Gbit/s?
Gb == Gbit
https://en.wikipedia.org/wiki/Gigabit

madmax2010 schrieb:
In der Tat.
madmax2010 schrieb:
naja, war ja nicht komplett falsch was du versucht hast. Der pfad existierte halt nicht
Ok, ich hab an den eingegeben Pfad gedacht (mein Fehler), dieser existiert. Es existiert kein EFI Pfad, da ja MBR.
Ergänzung ()

madmax2010 schrieb:
zeig doch mal fdisk -l
Alt:
Code:
root@NAS:/# fdisk -l /dev/sdr
Medium /dev/sdr: 698,7 GiB, 750156374016 Bytes, 1465149168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: dos
Medienkennung: 0xcb46379a

Gerät      Boot      Start       Ende   Sektoren Größe Id Typ
/dev/sdr1  *          2048    2000895    1998848   976M 83 Linux
/dev/sdr2          2002942 1465147391 1463144450 697,7G  5 Erweiterte
/dev/sdr5          2002944  102000639   99997696  47,7G 83 Linux

Neue HDD:
Code:
root@NAS:/# fdisk -l /dev/sdt
Medium /dev/sdt: 1,8 TiB, 2000398934016 Bytes, 3907029168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: dos
Medienkennung: 0xa67a8d1f

Gerät      Boot     Start       Ende   Sektoren Größe Id Typ
/dev/sdt1  *         2048    2000895    1998848   976M 83 Linux
/dev/sdt2         2000896  101998591   99997696  47,7G 83 Linux

NVMe:
Code:
root@NAS:/# fdisk -l /dev/nvme0n1
Medium /dev/nvme0n1: 232,9 GiB, 250059350016 Bytes, 488397168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes
Typ der Medienbezeichnung: dos
Medienkennung: 0x28027929

Gerät          Boot   Start      Ende Sektoren Größe Id Typ
/dev/nvme0n1p1 *       2048   2000895  1998848  976M 83 Linux
/dev/nvme0n1p2      2000896 101998591 99997696 47,7G 83 Linux
Die alte OS Partition ist hinter "Erweiterte" (nicht die neue).

Grub verweist aber ja nur auf die UUID:
Code:
title           Ubuntu 16.04.7 LTS, kernel 4.15.0-133-generic
root            (hd0)
kernel          /vmlinuz-4.15.0-133-generic root=UUID=3db06741-238f-492c-a1ec-7d07a0c25457 ro console=hvc0
initrd          /initrd.img-4.15.0-133-generic
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: madmax2010
Na wie in #5 beschrieben brauchst du jetzt noch eine EFI-Partition, die du dann unter /boot/efi einbindest, damit grub da installiert werden kann.
 
Für die NVME auf jeden Fall. So weit ich weiß, liegt der Bootloader bei MBR auch nicht in /boot und müsste daher dort auch noch mal installiert werden.

Statt klonen würde ich auch einfach neue Partitionen anlegen, alles in die jeweiligen Partitionen kopieren, die fstab anpassen und dann mit chroot grub neuinstallieren.
 
  • Gefällt mir
Reaktionen: madmax2010
root@NAS:/# grub-install -d /mnt/new-ubuntu/usr/lib/grub/x86_64-efi /dev/nvme0n1p1
Installing for x86_64-efi platform.
grub-install: Fehler: Kann EFI Verzeichnis nicht finden
Du versuchst hier einen GRUB für Booten im EFI-MODUS zu installieren. Da braucht es eine EFI-System-Partition die als EFI-Verzeichnis gemountet ist und bei deinem bisher im Legacy-Modus gebooteten System nicht vorhanden ist. Wenn du von der NVME booten willst must du allerdings auf UEFI boot umstellen . Da normalerweise UEFIs in ihrem CSM für Legacy Boot keine Treiber für NVME enthalten. Hilfreich könnte da https://wiki.ubuntuusers.de/GRUB_2_von_BIOS_nach_EFI_umstellen/ sein
Gleichzeitig das Partitonierungsschema vom MBR auf GPT umstellen , wie bei Windows, muß man allerdings nicht.
@Garmor Bei MBR/Legacy-Boot liegt die erste Stufe des Bootloaders immer im MBR selbst.
 
  • Gefällt mir
Reaktionen: Garmor
@mkossmann lassen wir mal wie beschrieben die NVMe außer Acht. Das Klonen auf die andere HDD funktioniert auch nicht. Exakt dasselbe verhalten: es wird kein Fehler angezeigt, nur ein Blinken des: _
 
Hänge mal nur die geclonte HDD an, mounte die Verzeichnisse wieder wie vorher und versuch es mit folgendem:

Bash:
grub-install --directory /mnt/new-ubuntu/usr/lib/grub/i386-pc --boot-directory=/mnt/new-boot /dev/<DEVICE>

<DEVICE> entsprechend mit "sdt" oder "sdr" ersetzen je nachdem was die Platte hat.

Anschließend natürlich noch die Bootreihenfolge checken, dass dort auch die HDD drin steht.

Solche Aktionen führe ich grundsätzlich in einem chroot durch. Also einfach die Partitionen so mounten wie sie gehören, noch die Pseudo Dateisysteme dort mounten und dann ein chroot. So spart man sich die Pfadangaben und kann von vorne herein Probleme vermeiden an die man evtl. gar nicht denkt.

Aber grundsätzlich wäre EFI natürlich besser. Dafür brauchst du aber eine GPT Partitionstabelle und eine kleine zusätzliche EFI Partition, die wird dann nach "/boot/efi" im chroot gemountet und anschließend sollte ein grub-install --target=x86_64-efi ausreichen.
 
Wie hast du geklont ? Da auf der alten Platte die zweite Linux-Partition in einem logischen Laufwerk liegt, auf der Neuen aber eine primäre Partition ist, sieht es danach aus, als hättest du nicht gesamte Platte geklont. Sondern partitionsweise geklont hast. Und damit könnte es sein, das du den Bootcode im MBR nicht mit kopiert hast.
PS: ich schau gerade noch mal in deinen ersten Post: Du hast offensichtlich partitionsweise geklont.
 
Zuletzt bearbeitet:
Zurück
Oben