树莓派SD卡镜像备份与还原

0.准备工作

① 在树莓派上查看SD卡已用空间(或在PC上挂载后查看,然后卸载),然后确定备份文件的大小,执行:

df -h

如下图,已用3.6G,则备份文件的大小可定为4G。

树莓派SD卡镜像备份与还原_第1张图片

② 将SD卡接入PC,不要挂载。如果自动挂载的需要执行命令卸载:

umount /dev/sdb1
umount /dev/sdb2

1. 获得分区2的起始扇区号

fdisk查看扇区情况,执行:

fdisk -l /dev/sdb

结果如下图,记录分区2的起始扇区号(此处是98304):

树莓派SD卡镜像备份与还原_第2张图片

2.重新分区

① 使用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。

3. 备份

方法1(推荐):在Windows上使用Win32DiskImager读取,注意要勾选“仅读取已分配分区”。

方法2:在Ubuntu上使用dd命令。

        首先使用fdisk查看分区2的结束扇区号:

sudo fdisk -l /dev/sdb

        树莓派SD卡镜像备份与还原_第3张图片

        结束扇区号为8486911,扇区大小为512字节,那么空间大小为(8486911 + 1) * 512 / 1024 / 1024 = 4144 MB

        执行:

sudo dd if=/dev/sdb of=~/raspberrypi-backup.img bs=1M count=4144

4. 将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

 

你可能感兴趣的:(树莓派)