在Raspbian上,有一个由两部分负责的机制。如果启用了这两个部分,最好的办法可能就是照顾这两个部分。
首先是原始文件/boot/cmdline.txt
包括以下内容:
init=/usr/lib/raspi-config/init_resize.sh
引用在根分区上具有该路径的脚本,该脚本将在引导时用作初始化进程。如果没有该位,它将默认为内核中内置的值/sbin/init
,在Raspbian上该值是的符号链接/lib/systemd/systemd
。
通过删除该部分cmdline.txt
,系统应该可以正常启动。
该脚本的实际作用是调整SD卡上分区的大小。这是从调整大小的独特处理的文件系统中的分区,1是下会发生什么。
发生的方式是立即立即正常重启系统(即通过systemd),并将init.d
脚本设置为尽早触发,应将其从第二个分区中删除:
/etc/init.d/resizefs_once
以及指向它的符号链接,也应将其删除:
/etc/rc3.d/S01resizefs_once
您可以保留副本,以备以后使用,但raspi-config
可以再次为您创建副本(该副本嵌入在raspi-config
Shell脚本中)。如果它实际运行,它将删除自身,因此不会再次发生。
它还可以在新调整大小的分区中调整文件系统的大小。
如果只有其中一部分发生,则不会造成任何伤害;在第一种情况下,您最终得到的文件系统无法填充扩大的分区,在第二种情况下,则不会发生任何事情,因为文件系统已经填充了分区。
如果以后使用它raspi-config
来扩大文件系统,它将立即调整分区大小,然后设置初始化脚本(如前所述)。
cmdline.txt
在第一个分区上进行编辑在任何计算机上都很简单,因为它是VFAT分区。删除init.d
文件需要一个可以访问和编辑ext4文件系统的系统。
可以在刻录卡之前对图像文件本身完成这两项任务;要在GNU / Linux系统上挂载和修改Raspbian映像,请参见此处。Windows有一个并行的问答环节。
这也是可逆的,但是您需要像刚刚描述的那样放回机制的两个部分,因为第一个不包括自动登台第二个。
- 尽管该脚本发出的错误消息声称可以调整根文件系统的大小失败,从而使这些术语混淆,但实际上无法做到的是保留根文件系统上的分区的大小。做一个不会自动完成另一项。