Istnieje dwuczęściowy mechanizm, który bierze za to odpowiedzialność na Raspbian; prawdopodobnie najlepszym pomysłem jest dbanie o obie części, jeśli są one włączone.
Po pierwsze, oryginał /boot/cmdline.txt
zawiera to:
init=/usr/lib/raspi-config/init_resize.sh
Odwoływanie się do skryptu z tą ścieżką na partycji głównej, który będzie używany jako proces inicjujący podczas rozruchu. Bez tego bitu domyślnie byłaby to wartość wbudowana w jądro /sbin/init
, do którego w Raspbian jest dowiązaniem symbolicznym /lib/systemd/systemd
.
Po usunięciu tej części cmdline.txt
system powinien następnie uruchomić się normalnie.
Skrypt faktycznie zmienia rozmiar partycji na karcie SD. Jest to proces odmienny od zmiany rozmiaru systemu plików na partycji 1, co dzieje się później.
Sposób, w jaki się to dzieje, polega na tym, że system jest natychmiast ponownie uruchamiany normalnie (to znaczy przez systemd), a init.d
skrypt jest uruchamiany wcześnie, co należy usunąć z drugiej partycji:
/etc/init.d/resizefs_once
I symboliczny link do niego, który również należy usunąć:
/etc/rc3.d/S01resizefs_once
Możesz zachować kopię do późniejszego użytku, jeśli chcesz, ale raspi-config
możesz utworzyć ją ponownie dla siebie (jest osadzona w raspi-config
skrypcie powłoki). Jeśli faktycznie działa, usuwa się, więc nie powtórzy się.
Zmienia również rozmiar systemu plików na nowo zmienionej partycji.
Nie należy wyrządzać szkody, jeśli zdarzy się tylko jedna lub druga część; w pierwszym przypadku skończysz z systemem plików, który nie wypełnia powiększonej partycji, w drugim nic się nie stanie, ponieważ system plików już wypełnia partycję.
Jeśli później użyjesz raspi-config
do powiększenia systemu plików, rozmiar partycji zostanie natychmiast zmieniony, a następnie skonfigurowany skrypt init (jak już wspomniano).
Edycja cmdline.txt
na pierwszej partycji jest prosta na dowolnym komputerze, ponieważ jest to partycja VFAT. Usunięcie init.d
pliku wymaga systemu, który może uzyskiwać dostęp i edytować systemy plików ext4.
Oba zadania można zamiast tego wykonać w samym pliku obrazu przed wypaleniem karty; aby zamontować i zmodyfikować obraz Raspbian w systemie GNU / Linux, patrz tutaj . Istnieje równoległe pytania i odpowiedzi dla systemu Windows .
Jest to również odwracalne, ale musisz odłożyć obie części mechanizmu, jak opisano powyżej, ponieważ pierwszy nie obejmuje automatycznego ustawiania drugiego.
- Chociaż komunikat o błędzie z tego skryptu prawdopodobnie myli te warunki, twierdząc, że nie udało się zmienić rozmiaru głównego systemu plików , ale tak naprawdę nie udało się zmienić rozmiaru partycji z głównym systemem plików. Wykonanie jednego nie powoduje automatycznie osiągnięcia drugiego.