Sappiamo tutti che Raspberry Pi non possiede alcuna memoria interna e tutti i suoi dati, incluso il sistema operativo, sono memorizzati sulla scheda SD. Durante l'utilizzo di un archivio di schede SD, gli utenti devono essere vigili come non si sa mai quando la tua scheda SD viene danneggiata. Quindi, si consiglia sempre di archiviare i dati rootfs, che sono i dati principali di Raspberry Pi a un'altra unità. Questo ti aiuterà a trovarti in uno spazio più sicuro se il tuo Raspberry Pi ha alcuni dati molto importanti archiviati.
Il processo completo per spostare Raspberry Pi Rootfs su un'altra unità è riportato in questo articolo.
Come spostare Raspberry Pi Rootfs su un'altra unità/partizione
Avrai bisogno di un'unità esterna per essere collegata al tuo Raspberry Pi per spostare il Raspberry Pi Rootfs su di esso. Quindi prima di iniziare il processo assicurati di avere almeno un Azionamento esterno da 8 GB connesso al tuo Raspberry Pi.
Dopo aver collegato l'unità esterna, apri il terminale di Raspberry Pi e segui i passaggi di seguito:
Passo 1: Esegui prima il comando di seguito per visualizzare tutti i dispositivi di archiviazione e le partizioni del disco collegate insieme a -P Flag che garantiranno il nome completo di ciascun dispositivo sul terminale:
$ lsblk -p | grep "disco \ | parte"
Nell'output del comando sopra, vedrai tutte le partizioni con MMCBLK0 (P1 per la partizione 1 e P2 Per la partizione 2) e l'unità connessa esternamente verrà visualizzata nella parte superiore, la mia è evidenziata nell'immagine seguente. Il nome del tuo disco potrebbe variare, ma molto probabilmente inizierà con dev/sda:
Passo 2: Dopo aver scoperto il nome del dispositivo collegato esternamente, ora eseguire il comando sotto scrittura per sconosciuto:
$ sudo umount /dev /sda1
Passaggio 3: Quindi sconvolgere le partizioni del disco di Raspberry Pi eseguendo il comando di seguito:
$ sudo umount /dev /mmcblk0p1
$ sudo umount /dev /mmcblk0p2
Passaggio 4: Dobbiamo creare una grande partizione sulla nostra unità esterna in cui copriremo tutto il rootfs dati. Ma prima di creare la partizione, è importante formattare il disco, quindi eseguire il comando di seguito per formattare l'unità esterna.
$ sudo sepated /dev /sda mklabel msdos
accedere SÌ quando richiesto.
Nota: Ricorda che la formattazione cancellerà tutti i dati precedentemente memorizzati sull'unità esterna, quindi assicurati di non avere nulla di importante memorizzato nella tua unità esterna.
Passaggio 5: Dopo aver formattato l'unità esterna, ora crea una grande partizione (SDA1) su di esso eseguendo il comando sotto scrittura:
$ sudo separato /dev /sda mkpart primario 0% 100%
Passaggio 6: Ora è il momento di formattare la nostra partizione SDA1 appena creata su EXT4 e per quella eseguire il comando di seguito:
$ sudo mkfs.ext4 /dev /sda1
Passaggio 7: Ora creiamo punti di montaggio separati per ciascuna delle partizioni una per una:
I: Per la partizione di guida
$ sudo mkdir -p /mnt /usbdrive
II: per la partizione di avvio
$ sudo mkdir -p /mnt /sdboot
III: per rootfs
$ sudo mkdir -p /mnt /sdrootfs
Passaggio 8: Ora montare tutte le partizioni usando i comandi di seguito:
I: Montaggio SDA1 (partizione dell'unità esterna)
$ sudo monte /dev /sda1 /mnt /usbdrive
II: Montaggio MMCBLK0P1 (partizione di sistema 1)
$ sudo mount /dev /mmcblk0p1 /mnt /sdboot
III: Monting MMCBLK0P2 (partizione di sistema 2)
$ sudo mount /dev /mmcblk0p2 /mnt /sdrootfs
Passaggio 10: Quindi per verificare che tutte le partizioni siano montate correttamente, eseguire il comando di seguito:
$ lsblk -p | grep "disco \ | parte"
Nell'output, puoi vedere quella partizione di unità esterna SDA1, che abbiamo creato è montato con successo come a chiavetta USB Punto di montaggio. Allo stesso modo, anche le altre partizioni sono montate perfettamente:
Passaggio 11: Ora finalmente puoi copiare tutti i dati di rootfs nell'unità/partizione esterna eseguendo il comando sotto scrittura:
$ sudo rsync -axv/mnt/sdrootfs/*/mnt/usbdrive
Non appena viene eseguito il comando sopra, il processo di copia l'intero spot system inizierà e ci vorrà del tempo che potrebbe variare per ciascun utente a seconda di quanti dati ha archiviato un utente rootfs:
Passaggio 12: Una volta che tutti i dati di rootfs vengono copiati su unità esterna ora è tempo di rimodellare la nostra partizione di root in modo che il sistema operativo venga informato per utilizzare questa partizione appena creata da ora in poi. Per questo, dobbiamo aggiornare il Partuidico (Identificatore di partizione universalmente univoco) nella riga di comando e nella tabella del file system (fstab). Per trovare il partuuide della tua partizione, eseguire il comando di seguito:
$ sudo blkid | grep "/dev/sda1"
Nota: Ricorda che Partuidid è diverso per ogni dispositivo, ecco perché è chiamato un identificatore univoco.
Passaggio 13: Prima di cambiare il partuuide in cmdline.file txt che contengono tutti questi parametri del kernel, creiamo un backup per il nostro file originale solo per essere sul lato più sicuro:
$ sudo cp/mnt/sdboot/cmdline.txt/mnt/sdboot/cmdline.org
Passaggio 14: Dopo il backup, ora possiamo modificare il cmdline.TXT File utilizzando l'editor Nano e per quell'esecuzione del comando di seguito:
$ sudo nano/mnt/sdboot/cmdline.TXT
Nella linea cmd.TXT File Modifica il numero di parte con un nuovo partuuid che hai trovato nel passaggio 12.
Una volta terminato Salva il nuovo file modificato da Ctrl+X E Y tasti.
Passaggio 15: Come cmdline.file txt, creiamo rapidamente anche una copia di fstab:
$ sudo cp/mnt/usbdrive/etc/fstab/mnt/usbdrive/etc/fstab.org
Quindi apri Fstab usando Nano Editor:
$ sudo nano/mnt/usbdrive/etc/fstab
E semplicemente modifica il partuuide come hai fatto nel passaggio precedente e salva.
Passaggio 16: Una volta completato il processo di rimapping, tutti i punti di montaggio della partizione creati possono essere eliminati uno per uno, poiché non sono più necessari. Esegui i comandi sotto per eliminarli uno per uno:
I: USB Drive Mount Point USB Drive
$ sudo umount /mnt /usbdrive
II: UN MONTENZIONE DI SCHBOOT SNUPONTI
$ sudo umount /mnt /sdboot
III: UN MONTENZIONE DI SCROOTFS SNOTAMENTI
$ sudo umount /mnt /sdrootfs
Passaggio 17: Dopo aver sgraziato tutti i punti di montaggio delle partizioni, rimuovere/eliminare quei punti di montaggio utilizzando il comando di seguito:
I: Rimozione del punto di montaggio USB Drive
$ sudo rmdir /mnt /usbdrive
II: Rimozione del punto di montaggio del avvio
$ sudo rmdir /mnt /sdboot
III: rimozione del punto di montaggio rootfs
$ sudo rmdir /mnt /sdrootfs
Passaggio 18: L'ultimo passo è l'avvio del sistema in modo che il nostro sistema di sistema Raspberry Pi con tutti i rootf vengano spostati sull'unità.
$ riavvia
Nel caso in cui si desideri tornare alle modifiche iniziali, recuperare il file di backup CMDline dal passaggio 13.
Conclusione
Per spostare Raspberry Pi Rootfs su un'altra unità/partizione basta collegare un'unità esterna al tuo sistema Raspberry Pi e creare una grande partizione in questa unità esterna dopo la formattazione. Quindi montare le partizioni dell'unità e le partizioni della scheda SD. Infine, copia tutti i dati rootfs nella partizione dell'unità e esegui la rimappatura dei dati utilizzando Partuuid. Quindi applicare tutte le modifiche riavviando il sistema.