这里 提到,需要给 RaspberryPi 分配一个 Swap 区。32G 的 SD 卡,并且把 /home
外挂到了移动硬盘上,看着不到 10G 的占用,确实感觉浪费。
那么就想办法划出 4G 给 Swap 吧。
更新: 最简单办法
我发现 2018-04-18-raspbian-stretch
已经启用了swapfile,那么剩下的事情就超级简单了:
打开 /etc/dphys-swapfile
,找到 CONF_SWAPSIZE
变量,由默认的100改为4096。 SD卡小的话可以改为1024。
之后使用下面两句话更新SwapFile大小:
sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
下面的东西不用看了。 本文完。
重要说明
先做个全盘镜像!
最终版解决办法
- 烧写镜像
- 开机启动
- 使用 GParted,在尾部创建一个 4G 的 Swap,最好起个名字(
PI_SWAP
) - 继续用 GParted,将
PI_ROOT
分区调整到合适的大小。(即,把所有未分配空间都划分给它) - 编辑
/etc/fstab
,加入
/dev/mmcblk0p3 none swap sw 0 0
- 重启,完成
步骤是上面那几步,但是顺序就不一定了。
亲测执行顺序
- Ubuntu Mate
- 烧卡
- 改
/
分区 - 加Swap分区
- 执行
- 上Pi,安系统
- 编辑
fstab
- 开始使用
- Raspbian
- 烧卡
- 上Pi,进入系统后关机
- 改
/
分区, 加Swap,执行 - 编辑
fstab
- 上Pi,开始使用
失败过法办法
直接使用GParted调整大小
本来想直接使用GParted调整大小和新建Swap分区的,多~方~便~但是一点击“执行”,一番检查过后就闪退了。原因未知。有时候报“损坏的超级块”,有时候报其他错误,有时候啥都不报只是闪退。
使用resize2fs调整大小
resize2fs也是一个蛮方便的东西。不过也是失败了。和网上的预期结果不同,我发现它会从磁盘后面占用一块大小,而不是收缩空间。感觉可以用在扩容盘的保护上。
先删除分区,后新建分区,但是不覆盖文件块
利用的是“删除文件只是删除索引”的原理。删除分区再新建,等于说只改变了分区表中记录的分区大小,其他所有东西(包括文件索引块)都没有变。不过我这里一直报“超级块有错误”,各种失败。
使用EasyUS分区魔术师调整大小
哦,这东西不支持对EXT4分区进行调整。
发表回复