① 在树莓派上查看SD卡已用空间(或在PC上挂载后查看,然后卸载),然后确定备份文件的大小,执行:
df -h
如下图,已用3.6G,则备份文件的大小可定为4G。
② 将SD卡接入PC,不要挂载。如果自动挂载的需要执行命令卸载:
umount /dev/sdb1
umount /dev/sdb2
用fdisk查看扇区情况,执行:
fdisk -l /dev/sdb
结果如下图,记录分区2的起始扇区号(此处是98304):
1、重新分区
① 使用e2fsck检查分区信息:
sudo e2fsck -f /dev/sdb2
② 使用resize2fs调整分区大小为4GB:
sudo resize2fs /dev/sdb2 4G
③ 使用fdisk重建分区
sudo fdisk /dev/sdb
根据提示,依次进行:
⑴ d命令删除分区2
⑵ n命令重建分区,类型为p,分区号为2,起始扇区是第一步看到的扇区号(98304),结束扇区为+4G。
注意:此时提示是否删除已存在的ext4分区表示,一定要选择no。
⑶ w命令写入修改
此时再用fdisk命令查看SD卡,分区2大小已经变成4G。
2、备份
方法1(推荐):在Windows上使用Win32DiskImager读取,注意要勾选“仅读取已分配分区”。
方法2:在Ubuntu上使用dd命令。
首先使用fdisk查看分区2的结束扇区号:
sudo fdisk -l /dev/sdb
结束扇区号为8486911,扇区大小为512字节,那么空间大小为(8486911 + 1) * 512 / 1024 / 1024 = 4144 MB
执行:
sudo dd if=/dev/sdb of=~/raspberrypi-backup.img bs=1M count=4144
3、将SD卡的分区2改回原大小
备份完成后的SD卡分区2仍为4G,需要改回原大小。同理,将img还原到SD卡后分区2也是4G,同样需要修改。
方法1(推荐):在树莓派上操作,执行:
sudo raspi-config
选择 7 Advanced Options - A1 Expand Filesystem,然后reboot。
方法2:在Ubuntu上操作
① 使用fdisk重建分区
sudo fdisk /dev/sdb
根据提示,依次进行:
⑴ d命令删除分区2
⑵ n命令重建分区,类型为p,分区号为2,起始扇区仍然使用第一步的起始扇区号,结束扇区使用默认值即可。
注意:此时提示是否删除已存在的ext4分区表示,一定要选择no。
⑶ w命令写入修改
②如果挂载了SD卡需要先卸载。
使用e2fsck检查分区信息:
sudo e2fsck -f /dev/sdb2
③使用resize2fs调整分区大小:
sudo resize2fs /dev/sdb2