Jak przenieść rootfy Raspberry Pi na inny napęd/partycję

Jak przenieść rootfy Raspberry Pi na inny napęd/partycję

Wszyscy wiemy, że Raspberry Pi nie posiada żadnej pamięci wewnętrznej, a wszystkie jego dane, w tym system operacyjny, są przechowywane na karcie SD. Podczas korzystania z pamięci karty SD użytkownicy muszą być czujni, ponieważ nigdy nie wiadomo, kiedy karta SD zostanie uszkodzona. Tak więc zawsze zaleca się przechowywanie danych rootfs, które są głównymi danymi Raspberry Pi na innym dysk. Pomoże ci to być w bezpieczniejszej przestrzeni, jeśli twoje Raspberry Pi ma w sobie bardzo ważne dane.

Pełny proces przenoszenia rootfs Raspberry Pi na inny dysk jest podany w tym zapisie.

Jak przenieść rootfy Raspberry Pi na inny napęd/partycję

Będziesz potrzebował podłączenia zewnętrznego dysk, który można podłączyć do swojego Raspberry Pi, aby przesunąć do niego korzeni Raspberry Pi. Więc przed rozpoczęciem procesu upewnij się, że masz co najmniej 8 GB Dysk zewnętrzny Połączone z twoim malinowym pi.

Po podłączeniu napędu zewnętrznego otwórz terminal Raspberry Pi i wykonaj poniżej napisane kroki:

Krok 1: Najpierw uruchom poniżej napisane polecenie, aby wyświetlić wszystkie podłączone urządzenia pamięci i partycje dyskowe wraz z -P Flagi, które zapewnią, że pełna nazwa każdego urządzenia jest wyświetlana na terminalu:

$ lsblk -p | grep „dysk \ ​​| część”



Na wyjściu powyższego polecenia zobaczysz wszystkie partycje za pomocą MMCBLK0 (P1 dla partycji 1 i P2 dla partycji 2), a podłączony zewnętrznie dysk będzie również wyświetlany u góry, kopalnia jest podświetlona na poniższym obrazku. Twoja nazwa dysku może się różnić, ale najprawdopodobniej zacznie się od Dev/SDA:


Krok 2: Po znalezieniu nazwy zewnętrznie podłączonego urządzenia, teraz uruchom poniżej napisane polecenie, aby go nie zrobić:

$ sudo umount /dev /sda1



Krok 3: Następnie pozbawione partycji dysku Raspberry Pi, uruchamiając poniżej wspomniane polecenie:

$ sudo umount /dev /mmcblk0p1
$ sudo umount /dev /mmcblk0p2



Krok 4: Musimy utworzyć dużą partycję na naszym napędu zewnętrznym, w którym skopiujemy wszystkie Rootfs dane. Ale przed utworzeniem partycji ważne jest sformatowanie dysku, więc uruchom poniżej wspomniane polecenie, aby sformatować napęd zewnętrzny.

$ sudo się rozdzielił /dev /sda mklabel msdos


Wchodzić Tak gdy pojawi się monit.


Notatka: Pamiętaj, że formatowanie usunie wszystkie wcześniej przechowywane dane na dysku zewnętrznym, więc upewnij się, że nie masz nic ważnego na swoim napędu zewnętrznym.

Krok 5: Po sformatowaniu napędu zewnętrznego stwórz teraz duża partycja (SDA1) Na nim uruchamiając poniżej napisane polecenie:

$ sudo rozstał się /dev /sda mkpart podstawowy 0% 100%



Krok 6: Teraz nadszedł czas, aby sformatować naszą nowo utworzoną partycję SDA1 do Ext4, a dla tego uruchom poniżej wspomniane polecenie:

$ sudo mkfs.ext4 /dev /sda1



Krok 7: Teraz utwórzmy osobne punkty montażu dla każdej z partycji jeden po drugim:

I: W przypadku partycji jazdy

$ sudo mkdir -p /mnt /usbdrive



II: W przypadku partycji rozruchowej

$ sudo mkdir -p /mnt /sdboot



iii: dla rootfs

$ sudo mkdir -p /mnt /sdrootfs



Krok 8: Teraz zamontuj wszystkie partycje za pomocą poniższych poleceń:

I: Montaż SDA1 (zewnętrzna partycja napędu)

$ sudo Mount /dev /sda1 /mnt /usbdrive



II: Montaż MMCBLK0P1 (partycja systemowa 1)

$ sudo Mount /dev /mmcblk0p1 /mnt /sdboot



III: Montaż MMCBLK0P2 (partycja systemowa 2)

$ sudo Mount /dev /mmcblk0p2 /mnt /sdrootfs



Krok 10: Następnie, aby sprawdzić, czy wszystkie partycje są pomyślnie zamontowane, uruchom poniżej napisane polecenie:

$ lsblk -p | grep „dysk \ ​​| część”


W wyjściu widać tę zewnętrzną partycję napędu SDA1, które stworzyliśmy, jest pomyślnie zamontowane jako dysk USB punkt montaż. Podobnie pozostałe partycje są również idealnie zamontowane:


Krok 11: Teraz wreszcie możesz skopiować wszystkie dane rootfs do zewnętrznego napędu/partycji, uruchamiając poniżej napisane polecenie:

$ sudo rsync -axv/mnt/sdrootfs/*/mnt/usbdrive



Gdy tylko powyższe polecenie zostanie uruchomione, rozpocznie się proces kopiowania całego systemu plików, i zajmie to trochę czasu, co może się różnić dla każdego użytkownika, w zależności od tego, ile danych przechowywał użytkownik rootfs:



Krok 12: Po skopiowaniu wszystkich danych rootfs do napędu zewnętrznego, nadszedł czas, aby ponownie mapować naszą partycję root, aby system operacyjny został poinformowany o użyciu tej nowo utworzonej partycji od teraz. W tym celu musimy zaktualizować PartuUid (Uniwersalnie unikalny identyfikator partycji) w tabeli wiersza poleceń i systemu plików (fstab). Aby znaleźć partUUID twojej partycji, uruchom poniżej napisane polecenie:

$ sudo blkid | grep "/dev/sda1"


Notatka: Pamiętaj, że PartuUid jest inny dla każdego urządzenia, dlatego jest on nazwany unikalnym identyfikatorem.


Krok 13: Przed zmianą partUUID w cmdline.Plik txt, który zawiera wszystkie te parametry jądra, utwórzmy kopię zapasową dla naszego oryginalnego pliku, aby być po bezpieczniejszej stronie:

$ sudo cp/mnt/sdboot/cmdline.txt/mnt/sdboot/cmdline.org



Krok 14: Po kopii zapasowej możemy teraz edytować CMDLINE.tekst plik za pomocą edytora nano, a dla tego uruchom poniższe polecenie:

$ sudo nano/mnt/sdboot/cmdline.tekst



W CMDLINE.plik txt Zmień numer partuUID z nowym partUUID, który znalazłeś w kroku 12.


Po zakończeniu zapisz nowy zmodyfikowany plik według Ctrl+x I Y Klucze.

Krok 15: Jak cmdline.Plik txt, szybko utwórzmy również kopię FSTAB:

$ sudo cp/mnt/usbdrive/etc/fstab/mnt/usbdrive/etc/fstab.org



Następnie otwórz fstAB za pomocą nano edytora:

$ sudo nano/mnt/usbdrive/etc/fstab



I po prostu zmodyfikuj parUUUID taki sam, jak w poprzednim kroku i zapisz.


Krok 16: Po zakończeniu procesu remapowania wszystkie utworzone punkty mocowania partycji można usunąć jeden po drugim, ponieważ nie są już potrzebne. Uruchom poniżej komendy, aby je usunąć jeden po drugim:

I: Zamontowanie punktu montażu USB

$ sudo umount /mnt /usbdrive



II: Odniszczenie punktu montażu SDBOOT

$ sudo umount /mnt /sdboot



III: Zamontowanie SDrootfs Mount Point

$ sudo umount /mnt /sdrootfs



Krok 17: Po odrzuceniu wszystkich punktów montażu partycji usuń/usuń te punkty montażu za pomocą poniższego polecenia:

I: Usuwanie punktu montażowego napędu USB

$ sudo rmdir /mnt /usbdrive



II: Usuwanie punktu mocowania rozruchowego

$ sudo rmdir /mnt /sdboot



III: Usuwanie punktu montażu rootfs

$ sudo rmdir /mnt /sdrootfs



Krok 18: Ostatnim krokiem jest uruchomienie systemu, aby nasz system Raspberry Pi z przeniesieniem wszystkich korzeni na dysk.

$ reboot



Jeśli chcesz wrócić do początkowych zmian, odzyskaj plik kopii zapasowej cmdline z kroku 13.

Wniosek

Aby przenieść rootfy Raspberry Pi do innego napędu/partycji, po prostu podłącz napęd zewnętrzny do systemu Raspberry Pi i utworzyć dużą partycję na tym zewnętrznym dysku po sformatowaniu. Następnie zamontuj partycje napędu, a także partycje karty SD. Na koniec skopiuj wszystkie dane rootfs do partycji napędu i wykonaj ponowne mapowanie danych za pomocą partUUID. Następnie zastosuj wszystkie zmiany poprzez ponowne uruchomienie systemu.