树莓派tf内存卡扩容方案



树莓派:4b 系统:debian 原16GBtf卡扩容到新的权限32GBtf卡上。

操作步骤:

1,用原有的16GBtf卡启动树莓派,USB插入新的32GBtf卡。

2,执行命令lsblk查看磁盘分区情况:示例输出

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda           8:0    1 29.1G  0 disk
└─sda1        8:1    1 29.1G  0 part
mmcblk0     179:0    0 14.8G  0 disk
├─mmcblk0p1 179:1    0  512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0 14.3G  0 part /

3,确认原卡为mmcblk0 新卡为sda 。确保sda的分区没有挂载,否则应该卸载挂载

sudo umount /dev/sda1

4,执行克隆命令

sudo dd if=/dev/mmcblk0 of=/dev/sda bs=4M status=progress conv=fsync,noatime
  • ​参数说明​​:
    • if=/dev/mmcblk0:输入文件,即源设备(TF 卡1)。
    • of=/dev/sda:输出文件,即目标设备(新的 TF 卡)。
    • bs=4M:块大小,设置为 4MB 以提高复制速度。
    • status=progress:显示复制进度(某些系统可能需要使用 Ctrl + T 查看进度)。
    • conv=fsync,noatime:确保数据同步写入,并在复制过程中不更新访问时间。
  • ​警告​​:
    • ​确保目标设备正确​​:of= 参数后的设备路径必须是新 TF 卡的设备路径,否则可能导致数据丢失。
    • ​操作不可逆​​:dd 命令会覆盖目标设备上的所有数据,请谨慎操作。

5,调整新的分区大小

sudo apt update
sudo apt install parted resize2fs
sudo parted /dev/sda
print

6,修复引导分区 克隆和调整分区后,可能需要修复引导配置,以确保树莓派能够正常启动。

挂载根分区和引导分区​​:

sudo mount /dev/sda2 /mnt
sudo mount /dev/sda1 /mnt/boot/firmware

更新 fstab 文件​

sudo blkid /dev/sda1
sudo blkid /dev/sda2

​-重新安装引导加载程序​​:

sudo chroot /mnt
apt update
apt install --reinstall raspberrypi-bootloader raspberrypi-kernel
update-initramfs -u
exit

卸载分区

sudo umount /mnt/boot/firmware
sudo umount /mnt

7,更换新tf卡启动并验证结果:

lsblk
df -h