Übertragen des Betriebssystems von einem Medium auf ein anderes

Übertragen des Betriebssystems von einem Medium auf ein anderes

Ich habe ein USB-Laufwerk mit Manjaro ARM (das für das Raspberry Pi 4-System verwendet wird) und eine leere SD-Karte. Gibt es eine Möglichkeit, das Betriebssystem vom USB-Laufwerk auf die SD-Karte zu übertragen und dabei die Partitionen beizubehalten? Wenn dies möglich ist, kann dies durchgeführt werden, während Manjaro ausgeführt wird?

Hier ist die Ausgabe von lsblk:

$ lsblk # partitions on USB Drive
sda      8:0    1  14.9G  0 disk 
├─sda1   8:1    1 213.6M  0 part /boot
└─sda2   8:2    1  14.7G  0 part /
zram0  254:0    0  11.2G  0 disk [SWAP]

Antwort1

  1. Gibt es eine Möglichkeit, das Betriebssystem vom USB-Laufwerk auf die SD-Karte zu übertragen und dabei die Partitionen beizubehalten?

Ja, vorausgesetzt, die SD-Karte ist mindestens so groß wie das USB-Laufwerk. Sie können blockdev --getsize64 /dev/sdadie Größe Ihres USB-Laufwerks in Bytes ermitteln und durch Ändern des Gerätepfads zur SD-Karte sicherstellen, dass sie mindestens so groß ist.

Es ist vielleicht nicht sehr wahrscheinlich, dass die Geräte genau die gleiche Größe haben, daher würde ich vorzugsweise eine identische Partitionstabelle (mit denselben Partitionsnummern für minimalen Aufwand) manuell auf der SD-Karte erstellen. Dadurch wird sichergestellt, dass der möglicherweise auf der SD-Karte verfügbare zusätzliche Speicherplatz später beispielsweise zum Erweitern der Root-Partition oder zum Erstellen neuer Partitionen verwendet werden kann. Verwenden Sie, sfdisk -l /dev/sdaum eine Liste der Partitionen auf /dev/sda in Sektoreinheiten abzurufen, und verwenden Sie dann, fdisk /dev/sdbum dieselben Partitionen auf der SD-Karte zu erstellen (vorausgesetzt, Ihr SD-Kartengerät ist /dev/sdb, bitte aktualisieren Sie es nach Bedarf).

Nachdem Sie die Partitionen neu erstellt haben, können Sie den Inhalt jeder Partition einzeln kopieren.

  1. Wenn es möglich ist, kann es durchgeführt werden, während Manjaro ausgeführt wird?

Ja, aber in diesem Fall sollten Sie die Dateisysteme schreibgeschützt mounten, um das Risiko zu vermeiden, dass das Betriebssystem die Kopie beschädigt, wenn es während des Kopiervorgangs etwas auf die Festplatte schreibt.

Hier sind die Befehle, um genau das zu tun und die beiden Partitionen zu kopieren, die Sie in Ihrer Frage aufgelistet haben, vorausgesetzt, Sie haben die Partitionen wie oben beschrieben erstellt und wiederum vorausgesetzt, dass Ihre SD-Karte /dev/sdb ist:

mount /dev/sda1 -oremount,ro
dd if=/dev/sda1 of=/dev/sdb1 bs=1048576
mount /dev/sda2 -oremount,rw

mount /dev/sda2 -oremount,ro
dd if=/dev/sda2 of=/dev/sdb2 bs=1048576
mount /dev/sda2 -oremount,rw

Möglicherweise gefällt es mancher Software nicht, dass das Root-Dateisystem vorübergehend schreibgeschützt gemountet wird. Ein Neustart behebt dieses Problem.

verwandte Informationen