ubuntuusers.de

Schnellste Variante von HDD auf kleinere SSD zu clonen

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

san04

Anmeldungsdatum:
19. Januar 2010

Beiträge: 1255

Hallo zusammen,

nach → diesem Beitrag möchte ich meine HDD auf eine SSD clonen.

  • Die SSD ist schon vorhanden, aber leider kleiner als die HDD.

  • Auf der HDD befinden sich zwei OS vollverschlüsselt und zwei Boot-Partitionen (beides BIOS-Installationen)

  • Das erste OS (ich nenne es mal OS1) hat noch Platz, aber der LUKS-Container nutzt die gesamte Größe

Mein Vorgehen wäre jetzt:

  1. Den LUKS-Container von OS1 öffnen (sdb5)

  2. Darin die Partition verkleinern (mit gparted)

  3. Dann den LUKS-Container und LVM verkleinern

  4. sdb6 und sdb7 um den frei gewordenen Platz an sdb5 ranschieben (gparted)

  5. die Erweiterte Partition sdb2 verkleinern um den frei gewordenen Platz, der jetzt am Ende liegen sollte (geht das einfach so?)

  6. Mit Clonezilla eine disk-to-disk copy

Kann man diesen Kopiervorgang mit Clonezilla machen? Die source-Platte ist ja immer noch größer als die target Platte, auch wenn alle Partitionen drauf passen? Oder meckert Clonezilla in jedem Fall? Alternativ dd?

Hab ich was vergessen, oder habt ihr einen Vorschlag wie es schneller/einfacher geht? ("Neue SSD kaufen!" mal ausgeklammert 🤓 )

Aus einem Live-System:

ubuntu@ubuntu:~$ sudo fdisk -l # um loop-devices bereinigt

Festplatte /dev/sda: 256,18 GiB, 275064201216 Bytes, 537234768 Sektoren # das ist die SSD
Festplattenmodell: Crucial_CT275MX3
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes




Festplatte /dev/sdb: 298,9 GiB, 320072933376 Bytes, 625142448 Sektoren # das ist die HDD
Festplattenmodell: SAMSUNG HM320II 
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0xd4c88598

Gerät      Boot    Anfang      Ende  Sektoren  Größe Kn Typ
/dev/sdb1  *         2048    499711    497664   243M 83 Linux # Boot von OS1
/dev/sdb2          501758 625141759 624640002 297,9G  5 Erweiterte
/dev/sdb5          501760 549631999 549130240 261,9G 83 Linux # OS1, diese hat Platz und könnte verkleinert werden
/dev/sdb6  *    549634048 550043647    409600   200M 83 Linux # Boot von OS2
/dev/sdb7       550045696 625141759  75096064  35,8G 83 Linux # OS2


Festplatte /dev/sdc: 14,33 GiB, 15376318464 Bytes, 30031872 Sektoren
Festplattenmodell: Ultra USB 3.0   
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0xf80eccb4

Gerät      Boot   Anfang     Ende Sektoren Größe Kn Typ
/dev/sdc1  *        2048 29966335 29964288 14,3G  7 HPFS/NTFS/exFAT
/dev/sdc2       29966336 30031871    65536   32M ef EFI (FAT-12/16/32)


Festplatte /dev/mapper/ventoy: 2,61 GiB, 2785017856 Bytes, 5439488 Sektoren
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x56f48570

Gerät                    Boot  Anfang    Ende Sektoren Größe Kn Typ
/dev/mapper/ventoy-part1 *          0 5439487  5439488  2,6G  0 Leer
/dev/mapper/ventoy-part2      5017392 5025327     7936  3,9M ef EFI (FAT-12/16/3
ubuntu@ubuntu:~$ 
ubuntu@ubuntu:~$ sudo parted -l
Fehler: /dev/sda: unbekannte Partitionstabelle
Modell: ATA Crucial_CT275MX3 (scsi)                                       
Festplatte  /dev/sda:  275GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: unknown
Disk-Flags: 

Modell: ATA SAMSUNG HM320II (scsi)
Festplatte  /dev/sdb:  320GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Typ       Dateisystem  Flags
 1      1049kB  256MB  255MB   primary   ext2         boot
 2      257MB   320GB  320GB   extended
 5      257MB   281GB  281GB   logical
 6      281GB   282GB  210MB   logical   ext4         boot
 7      282GB   320GB  38,4GB  logical


Modell: SanDisk Ultra USB 3.0 (scsi)
Festplatte  /dev/sdc:  15,4GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      1049kB  15,3GB  15,3GB  primary               boot
 2      15,3GB  15,4GB  33,6MB  primary  fat16        esp


Modell: USB Flash Disk (scsi)
Festplatte  /dev/sdd:  2005MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: msdos
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Typ      Dateisystem  Flags
 1      1049kB  2005MB  2004MB  primary  fat32        boot, LBA


Warnung: Der Treiberdeskriptor sagt, dass die physische Blockgröße 2048 Bytes
ist. Linux sagt, dass es 512 Bytes sind.
Ignorieren/Ignore/Abbrechen/Cancel? i                                     
parted: Unbekanntes Zeichen: i
Ignorieren/Ignore/Abbrechen/Cancel? a                                     
Modell: Linux device-mapper (linear) (dm)
Festplatte  /dev/mapper/ventoy:  2785MB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: unknown
Disk-Flags: 

ubuntu@ubuntu:~$ 

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9608

Wohnort: Münster

san04 schrieb:

[…] clonen

  • Die SSD ist schon vorhanden, aber leider kleiner als die HDD.

Dann kannst Du nicht klonen (= mit 1:1-Kopie arbeiten). Dieses Verfahren erfordert zwingend Quelle ≤ Ziel. Du musst eine andere Methode wählen, z.B. die Dateien aus dem ursprünglichen Dateisystem extrahieren und in ein neues Dateisystem einfügen.

von.wert

Anmeldungsdatum:
23. Dezember 2020

Beiträge: 11824

san04 schrieb:

  • Die SSD ist schon vorhanden

...und defekt, wie man lesen kann.

san04

(Themenstarter)

Anmeldungsdatum:
19. Januar 2010

Beiträge: 1255

Kleine Operation am offenen Herzen, aber der Patient lebt, aber mal von Anfang an... 😉

kB schrieb:

Dieses Verfahren erfordert zwingend Quelle ≤ Ziel.

Das hatte ich befürchtet und bin dann zunächst so wie → hier zur Verkleinerung von LVM-Partition und LUKS-Container vorgegangen:

sudo e2fsck -f /dev/mapper/ubuntu--vg-root
sudo resize2fs -p /dev/mapper/ubuntu--vg-root Xg
sudo e2fsck -f /dev/mapper/ubuntu--vg-root
sudo lvdisplay
sudo lvreduce -L -XG /dev/ubuntu--vg/root
pvdisplay
sudo pvresize --setphysicalvolumesize XG /dev/mapper/crypt1
sudo cryptsetup status crypt1
sudo cryptsetup -o 2056 -b XXXXXX resize crypt1
sudo vgchange -an
sudo cryptsetup luksClose crypt1

Das komplizierteste war wohl die Berechnung der Sektorengröße für den verkleinerten LUKS-Container.

  • Jetzt kam der scary part: Mit fdisk die Partitionstabelle wie beschrieben vollständig gelöscht und händisch neu angelegt. Das war spannend und im ersten Anlauf war auch offenbar ein Zahlendreher drin.

  • Ganz elementar war wohl Schritt 6: "<Say prayer here>"

Und siehe da, beide OS booten, ich hatte es nicht für möglich gehalten...

  • Also weiter: Mit gparted den frei gewordenen Platz in der erweiterten Partition ans Ende geschoben und dann die erweiterte Partition entsprechend verkleinert. Somit war am Ende des Datenträgers ein unpartitionierter Bereich von ca. 50GB entstanden.

  • Jetzt clonezilla im expert-mode angeworfen und neben den Standard-Optionen am Anfang dann noch diese hier aktiviert:

-icds           Skip checking destination disk size before creating partition table 

(Außerdem noch mit -j2 den Bereich zwischen MBR und erster Partition mitgeclont, vermutlich nicht notwendig, aber ich dachte schaden kann es auch nicht)

  • Platte zurückgebaut

  • SG2D bereitgelegt (man weiß ja nie...)

Zweite große Überraschung (zumindest für mich), beide Systeme starten anstandslos!! Genial! 😊

Ich hatte mich zu Beginn des Vorhabens auf Neuinstallation eingestellt, aber der Exkurs hat sich gelohnt, wieder viel gelernt...


von.wert schrieb:

  • Die SSD ist schon vorhanden

...und defekt, wie man lesen kann.

"Defekt" klingt etwas hart, sagen wir mal "nicht mehr in allerbester Verfassung" 😉

Aber egal, keinerlei wichtige Daten drauf und wenn sie morgen abraucht hab ich ja jetzt sogar ein Image auf HDD liegen, was ich zur Not innerhalb von Minuten einspielen kann.

Ich nehme gerne noch Wetten entgegen, wie lange die SSD noch macht (ich werde die SMART-Werte mal im Auge behalten):

sudo smartctl -A /dev/sda
smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.3-arch1-1] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF READ SMART DATA SECTION ===
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x002f   100   100   000    Pre-fail Always       -       347
  5 Reallocate_NAND_Blk_Cnt 0x0032   092   092   010    Old_age Always       -       95
  9 Power_On_Hours          0x0032   100   100   000    Old_age Always       -       975
 12 Power_Cycle_Count       0x0032   100   100   000    Old_age Always       -       520
171 Program_Fail_Count      0x0032   100   100   000    Old_age Always       -       1
172 Erase_Fail_Count        0x0032   100   100   000    Old_age Always       -       0
173 Ave_Block-Erase_Count   0x0032   099   099   000    Old_age Always       -       16
174 Unexpect_Power_Loss_Ct  0x0032   100   100   000    Old_age Always       -       53
183 SATA_Interfac_Downshift 0x0032   100   100   000    Old_age Always       -       0
184 Error_Correction_Count  0x0032   100   100   000    Old_age Always       -       0
187 Reported_Uncorrect      0x0032   100   100   000    Old_age Always       -       782
194 Temperature_Celsius     0x0022   077   057   000    Old_age Always       -       23 (Min/Max 13/43)
196 Reallocated_Event_Count 0x0032   100   100   000    Old_age Always       -       95
197 Current_Pending_ECC_Cnt 0x0032   100   100   000    Old_age Always       -       0
198 Offline_Uncorrectable   0x0030   100   100   000    Old_age Offline      -       1
199 UDMA_CRC_Error_Count    0x0032   100   100   000    Old_age Always       -       2
202 Percent_Lifetime_Remain 0x0030   099   099   001    Old_age Offline      -       1
206 Write_Error_Rate        0x000e   100   100   000    Old_age Always       -       1
246 Total_LBAs_Written      0x0032   100   100   000    Old_age Always       -       5072584500
247 Host_Program_Page_Count 0x0032   100   100   000    Old_age Always       -       158522288
248 FTL_Program_Page_Count  0x0032   100   100   000    Old_age Always       -       116949012
180 Unused_Reserve_NAND_Blk 0x0033   000   000   000    Pre-fail Always       -       1165
210 Success_RAIN_Recov_Cnt  0x0032   100   100   000    Old_age Always       -       616 
Antworten |