给 RaspberryPi 分配 Swap


发布于

|

分类

这里 提到,需要给 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
  1. 重启,完成

步骤是上面那几步,但是顺序就不一定了。

亲测执行顺序

  1. Ubuntu Mate
    1. 烧卡
    2. /分区
    3. 加Swap分区
    4. 执行
    5. 上Pi,安系统
    6. 编辑fstab
    7. 开始使用
  2. Raspbian
    1. 烧卡
    2. 上Pi,进入系统后关机
    3. /分区, 加Swap,执行
    4. 编辑fstab
    5. 上Pi,开始使用

失败过法办法

直接使用GParted调整大小

本来想直接使用GParted调整大小和新建Swap分区的,多~方~便~但是一点击“执行”,一番检查过后就闪退了。原因未知。有时候报“损坏的超级块”,有时候报其他错误,有时候啥都不报只是闪退。

使用resize2fs调整大小

resize2fs也是一个蛮方便的东西。不过也是失败了。和网上的预期结果不同,我发现它会从磁盘后面占用一块大小,而不是收缩空间。感觉可以用在扩容盘的保护上。

先删除分区,后新建分区,但是不覆盖文件块

利用的是“删除文件只是删除索引”的原理。删除分区再新建,等于说只改变了分区表中记录的分区大小,其他所有东西(包括文件索引块)都没有变。不过我这里一直报“超级块有错误”,各种失败。

使用EasyUS分区魔术师调整大小

哦,这东西不支持对EXT4分区进行调整。


评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注