Vi vet alle at Raspberry Pi ikke eier noen intern lagring og alle dataene inkludert OS er lagret på SD -kortet. Mens du bruker en SD -kortlagring, må brukerne være årvåken som du aldri vet når SD -kortet ditt blir ødelagt. Så det anbefales alltid å lagre rootfs -dataene dine som er dine viktigste Raspberry Pi -data til en annen stasjon. Dette vil hjelpe deg å være i et tryggere rom hvis Raspberry Pi har noen veldig viktige data lagret i den.
Den komplette prosessen for å flytte Raspberry Pi Rootfs til en annen stasjon er gitt i denne skrivingen.
Hvordan flytte Raspberry Pi Rootfs til en annen stasjon/partisjon
Du trenger en ekstern stasjon for å bli koblet til Raspberry Pi for å flytte Raspberry Pi Rootfs til den. Så før du starter prosessen, sørg for at du minst har en 8 GB ekstern stasjon Koblet til Raspberry Pi.
Når du har koblet til den eksterne stasjonen, åpner du Raspberry Pi-terminalen og følg de underskrevne trinnene:
Trinn 1: Kjør først den underskrevne kommandoen for å vise alle tilkoblede lagringsenheter og diskpartisjoner sammen med -p Flagg som vil sikre at hele navnet på hver enhet vises på terminalen:
$ LSBLK -P | grep "disk \ | del"
I kommandoen ovenfor vil du se alle partisjonene med MMCBLK0 (P1 for partisjon 1 og P2 For partisjon 2) og den eksternt tilkoblede stasjonen vises også øverst, blir min fremhevet på bildet nedenfor. Dittnavnet ditt kan variere, men sannsynligvis vil det begynne med Dev/Sda:
Steg 2: Etter å ha funnet ut navnet på den eksternt tilkoblede enheten, kjører du nå den nedenfor-skrevne kommandoen for å demontere den:
$ sudo umount /dev /sda1
Trinn 3: Monter deretter Raspberry Pi-diskpartisjonene ved å kjøre den nedenfor-nevnte kommandoen:
$ sudo umount /dev /mmcblk0p1
$ sudo umount /dev /mmcblk0p2
Trinn 4: Vi må lage en stor partisjon på vår eksterne stasjon der vi skal kopiere alle rootfs data. Men før du oppretter partisjonen, er det viktig å formatere disken, så kjør den nedenfor-nevnte kommandoen for å formatere den eksterne stasjonen.
$ sudo parted /dev /sda mklabel msdos
Tast inn Ja Når du blir bedt om det.
Merk: Husk at formatering vil slette alle tidligere lagrede data på den eksterne stasjonen, så sørg for at du ikke har noe viktig lagret i din eksterne stasjon.
Trinn 5: Etter å ha formatet den eksterne stasjonen, oppretter du nå en stor partisjon (SDA1) På den ved å kjøre den underskrevne kommandoen:
$ sudo parted /dev /sda mkpart primær 0% 100%
Trinn 6: Nå er det på tide å formatere vår nyopprettede SDA1-partisjon til Ext4 og for den kjørte den nedenfor-nevnte kommandoen:
$ sudo mkfs.ext4 /dev /sda1
Trinn 7: La oss nå lage separate monteringspunkter for hver av partisjonene en etter en:
I: For Drive Partition
$ sudo mkdir -p /mnt /USBDrive
II: For oppstartspartisjon
$ sudo mkdir -p /mnt /sdboot
III: For rootfs
$ sudo mkdir -p /mnt /sdrootfs
Trinn 8: Monter nå alle partisjonene ved å bruke de under-nevnte kommandoene:
I: Montering SDA1 (ekstern drivpartisjon)
$ sudo mount /dev /sda1 /mnt /USBDrive
II: Montering MMCBLK0P1 (Systempartisjon 1)
$ sudo mount /dev /mmcblk0p1 /mnt /sdboot
III: Montering MMCBLK0P2 (System Partition 2)
$ sudo mount /dev /mmcblk0p2 /mnt /sdrootfs
Trinn 10: For å bekrefte at alle partisjoner er montert vellykket, kjører du den underskrevne kommandoen:
$ LSBLK -P | grep "disk \ | del"
I utgangen kan du se den eksterne drivpartisjonen SDA1, som vi har opprettet er montert med suksess som en USBDRIVE Mount Point. Tilsvarende er de andre partisjonene også montert perfekt:
Trinn 11: Nå kan du endelig kopiere alle RootFS-dataene til den eksterne stasjonen/partisjonen ved å kjøre den underskrevne kommandoen:
$ sudo rsync -axv/mnt/sdrootfs/*/mnt/USBDrive
Så snart kommandoen ovenfor kjøres, vil prosessen med å kopiere hele rotfilsystemet starte, og det kommer til å ta litt tid som kan variere for hver bruker, avhengig av hvor mye data en bruker har lagret i rootfs:
Trinn 12: Når alle rootfs -dataene er kopiert til ekstern stasjon nå er det på tide å gjenskape root -partisjonen vår slik at operativsystemet vil bli informert om å bruke denne nyopprettede partisjonen fra nå og fremover. For det må vi oppdatere Partuuid (Universelt unik partisjonsidentifikator) i kommandolinjen og filsystemtabellen (fstab). For å finne partuuiden for partisjonen din, kjør den nedenfor-skrevne kommandoen:
$ sudo blkid | grep "/dev/sda1"
Merk: Husk at Partuuid er annerledes for hver enhet, det er derfor den kalles en unik identifikator.
Trinn 13: Før du endrer partuuiden i cmdline.TXT -fil som inneholder alle disse kjerneparametrene, la oss opprette en sikkerhetskopi for vår originale fil bare for å være på den tryggere siden:
$ sudo cp/mnt/sdboot/cmdline.txt/mnt/sdboot/cmdline.org
Trinn 14: Etter sikkerhetskopien, kan vi nå redigere cmdline.tekst fil ved å bruke Nano-redigereren, og for den kjører den undergitte kommandoen:
$ sudo nano/mnt/sdboot/cmdline.tekst
I cmdline.TXT -fil Endre partuuidnummeret med en ny partuuid som du har funnet i trinn 12.
Når du er ferdig, lagre den nye modifiserte filen av Ctrl+x og Y nøkler.
Trinn 15: Som cmdline.TXT -fil, la oss raskt opprette en kopi av FSTAB også:
$ sudo cp/mnt/USBDrive/etc/fstab/mnt/usbdrive/etc/fstab.org
Åpne deretter FSTAB ved å bruke Nano Editor:
$ sudo nano/mnt/USBDrive/etc/fstab
Og bare endre partuuiden samme som du gjorde i forrige trinn og lagre.
Trinn 16: Når omarbeidsprosessen er fullført, kan alle de opprettede partisjonsmonteringspunktene slettes ett etter en, ettersom de ikke lenger er nødvendig. Kjør under-kommandoene for å slette dem en etter en:
I: Memontering av USB Drive Mount Point
$ sudo umount /mnt /USBDrive
II: Montering av Sdboot Mount Point
$ sudo umount /mnt /sdboot
III: Memontering av SDROOTFS Mount Point
$ sudo umount /mnt /sdrootfs
Trinn 17: Etter å ha demontert alle partisjonene monteringspunkter, fjerner/slett disse monteringspunktene ved å bruke den nedenfor-nevnte kommandoen:
I: Fjerner USB -stasjonsmonteringspunktet
$ sudo rmdir /mnt /USBDrive
II: Fjerning av oppstartspunkt
$ sudo rmdir /mnt /sdboot
III: Fjerning av rootfs monteringspunkt
$ sudo rmdir /mnt /sdrootfs
Trinn 18: Siste trinn er å starte opp systemet slik at bringebærpi -systemets oppstart med alle rootfs flyttes til stasjonen.
$ omstart
I tilfelle du vil gå tilbake til de første endringene, kan du gjenopprette CMDline -sikkerhetskopifilen fra trinn 13.
Konklusjon
For å flytte Raspberry Pi Rootfs til en annen stasjon/partisjon kobler du bare en ekstern stasjon til Raspberry Pi -systemet ditt, og oppretter en stor partisjon i denne eksterne stasjonen etter formatering. Monter deretter partisjonene på stasjonen så vel som SD -kortpartisjonene. Til slutt, kopier alle rootfs -dataene til stasjonspartisjonen og gjør omvendelsen av dataene ved å bruke partuuid. Bruk deretter alle endringene ved å starte systemet på nytt.