Newsgroup: it.comp.os.linux.iniziare
Titolo: Clonare sistema su nuovo SSD

Ciao NG,
 
Ho preso un SSD di maggiore capacità su cui spostare il 
sistema. Ho cercato in rete come si possa fare e l'unico 
tutorial a me non incomprensibile comporta l'uso di dd.
 
Ma gli esempi che ho trovato riguardano un disco con la 
sola partizione / mentre io ho anche la home e un'altra di 
lavoro che ho creato in NTFS in modo da facilitare la 
condivisione con Windos (so che esiste samba e potrei 
usare ext4 eccetera, ma preferisco tenere NTFS fino a che 
non avrò buona confidenza con linux).
 
La situazione è: PC con ssd da 250 GB e sopra sda1, sda2, 
sd3. Nuovo disco da 500 GB che posso connettere solo 
tramite USB dato che si tratta di un mini pc e ha solo uno 
slot per l'hard disk. Vorrei inoltre lasciare lo spazio 
eccedente non partizionato, perché in seguito a disco 
installato vorrei creare un'ulteriore partizione.
 
Nella mia situazione come posso fare? So che la domanda è 
semplice ma il PC è messo su un soppalco scomodissimo e 
ogni volta dovrei staccare tutto. Ogni trial-error è una 
fatica fisica e vorrei tanto il "buona la prima".
 
Ovviamente ho la chiavetta USB mint-live pronta accanto a 
me che mi ha salvato più volte :D
 
Grazie per qualsiasi suggerimento
 
Apx.
 
 
-- 
- Amore, tu piangi. Che hai fatto?
- Non mi ascolti mai, per te sono solo
   un oggetto...
- Intendevo, che hai fatto per cena?

Il 20/06/22 10:23, Archaeopteryx ha scritto:

E' un'operazione che ho fatto in diverse occasioni, sia con sistemi 
windows che con linux.
 
Con la distro live avviata, collego il nuovo SSD con un adattatore USB, 
col comando dd gli copio sopra il contenuto di quello originale.
Poi sostituisco l'ssd con il nuovo.
Lo spazio eccedente lo ritrovo non partizionato.
Questo ti consente di non toccare il disco originale, qualora andasse 
male puoi sempre tornare indietro.
Il comando dd sara' di questo tipo:
 
dd if=/dev/sda of=/dev/<nuovo_disco_usb> bs=4k
 
L'esatta denominazione dei dischi si ottiene col comando
 
sudo fdisk -l
 
angelo
 

 Lo spazio eccedente lo ritrovo non partizionato.
Immagino che poi la partizione si possa espandere andando a recuperare
anche lo spazio eccedente... giusto?
 
-- 
Per contattarmi, togliere -NOSPAM- dall'indirizzo.
To contact me, remove -NOSPAM- from address.

 sudo fdisk -l
 
 
Mi sembra un miracolo, ma come fa a fare il boot con
quello che di fatto sembra un normale "cp" customizzato?
Per queste cose Linux è meraviglioso. Con windows bisogna
occuparsi del MBR o cose simili e difatti a mano credo sia
impossibile e serve sempre software apposito.


 impossibile e serve sempre software apposito.
 
Con la tua chiavetta USB mint-live fai partire il sistema e, una volta 
connesso il nuovo SSD a un'altra porta USB, col comando dd crei una 
copia bit-to-bit del vecchio sul nuovo disco.
Una volta sostituito il disco il sistema si dovrebbe allineare e 
riconoscere le partizioni identiche come sul vecchio disco, con lo 
spazio extra puoi espandere la partizione (sempre con la live) o 
aggiungere una partizione.
L'ultima volta l'ho fatto sul nuovo laptop con win10 e prima con win7, e 
lo uso sempre per clonare il disco home di linux quando lo devo 
incrementare di capacita'.
 
angelo

 anche lo spazio eccedente... giusto?
 
Si', io per questo uso gparted, e lo faccio solo sul disco smontato 
lanciando una live.
 
angelo
 

 
 
E' abbastanza semplice, in unix in generale le periferiche sono file
Un file e' un flusso sequenziale di bytes
Ovviamente e' il kernel che fornisce questa rappresentazione
Quindi anche una partizione od un intero disco sono un file tanto che si 
potrebbe usare anche lo stesso comando cp
Ma dd (che in pratica e' un cp) ha piu opzioni per il controllo della 
copia riguardo ai dispositivi
 
 
 
-- 
|___|

Eccomi qua. Non riesco a credere che sia bastata una riga 
di comando in shell per clonare un disco. "dd" ha 
funzionato perfettamente e ci ha messo pure un attimo o 
quasi. Provenendo da windows mi sembra incredibile.
 
Ora però vorrei capire cosa è successo. Appena ho fatto il 
reboot mi aspettavo che il PC si piantasse perché gli UUID 
in fstab che avevo inserito a manina non potevano più 
coincidere con quelli del nuovo disco. Invece è partito, e 
sono andato a controllare. In fstab ci sono gli UUID 
giusti del nuovo disco.
 
Come è stato possibile se l'UUID è univoco? Linux si è 
accorto del cambio disco sotto il naso, ha visto che non 
potevano esserci ambiguità sui punti di mount e ha 
modificato d'ufficio fstab? Oppure cosa? Sì potrei andare 
a vedere sul vecchio disco ma adesso il mio problema è 
usare i file manager e anche spostarmi di una directory è 
una tortura medievale, confesso, sono pigro, svogliato e 
approfittatore per cui prima di arrampicarmi sul trespolo 
e riaprire il box per il disco mettendoci quello vecchio 
provo a chiedere. Poi chiederò anche in merito ai file 
manager ma una cosa per volta.


> dd if=/dev/sda of=/dev/<nuovo_disco_usb> bs=4k
 
Ha funto perfettamente, grazie :)


 gli UUID giusti del nuovo disco.
 
Credo che la sincronizzazione avvenga a livello di boot prima di 
caricare il SO, non so come funziona ma, siccome a me ha funzionato 
anche con windows, non dipende dal SO. O meglio, in fase di boot il boot 
loader aggiusta le cose, poi il SO si adegua. Credo.
 
angelo

 dd if=/dev/sda of=/dev/<nuovo_disco_usb> bs=4k
 
 dd if=/dev/sda of=/dev/sdb bs=1MB  conv=notrunc,noerror   status=progress
un pň meglio


 shell per clonare un disco. "dd" ha funzionato perfettamente e ci ha
]zac[
 
Clonando un disco viene fatta una copia totale, partizioni, uuid, label, 
ecc. .
 
Quindi è altamente sconsigliabile mantenere collegati sia il vecchio che 
il nuovo disco.
 
E quindi clonando da un disco a un disco più grande, lo spazio in più (in 
coda) risulta non utilizzato.