给 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 大小:

下面的东西不用看了。 本文完。

重要说明

先做个全盘镜像!

最终版解决办法

  • 烧写镜像
  • 开机启动
  • 使用 GParted,在尾部创建一个 4G 的 Swap,最好起个名字(PI_SWAP
  • 继续用 GParted,将 PI_ROOT 分区调整到合适的大小。(即,把所有未分配空间都划分给它)
  • 编辑 /etc/fstab,加入

  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 分区进行调整。

发表评论

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