今天准备把树莓派 4B 的系统从 64G 内存卡完整迁移到 500G SSD 上。主要原因有几个:
- SD 卡稳定性较差,长期读写容易损坏
- 量化策略需要下载和处理海量 K 线数据,对存储容量要求更高
- SSD 通过 USB3.0(蓝色接口)连接,读写速度明显优于 SD 卡
系统完全迁移 + SSD 启动 + 扩容剩余空间
1. Windows 下使用 dd 进行整盘克隆
为了实现系统级迁移,这里使用 dd 做整盘复制。
工具准备
下载 dd 工具:
下载后解压得到 dd.exe,并加入系统环境变量。
以 管理员 PowerShell 运行。
查看磁盘信息
1 | Get-Disk | Format-Table -AutoSize Number, FriendlyName, Size, BusType |
输出示例:
1 | Number FriendlyName Size BusType |
⚠️ 执行 dd(关键步骤)
1 | dd if=\\.\PhysicalDrive3 of=\\.\PhysicalDrive2 bs=4M --progress |
⚠️ 非常重要:
if = 源盘(SD卡)
of = 目标盘(SSD)
写反会直接覆盖数据,基本不可恢复
执行后会看到类似输出:
1 | rawwrite dd for windows version 0.6beta3. |
克隆后的磁盘状态
进入 Linux 后查看:
1 | lsblk |
结果类似:
1 | sda 8:0 0 465.8G 0 disk |
可以看到:
SSD 已经成功 clone,但主分区仍然只有原 SD 卡大小。
(也可以用 DiskGenius 做整盘克隆,但 dd 更“干净”)
2. SSD 启动与系统配置
初始准备
建议不要直接从 SSD 启动,先用 SD 卡进入系统,再插 SSD 进行检查与修复。
检查 /etc/fstab(一般无需修改)
如果是 完整 dd 克隆:
- UUID / PARTUUID 通常已经一致
- 一般不需要修改 fstab
如果出现启动问题,则需要检查:
/etc/fstab/boot/cmdline.txt- 确认 root= 指向正确分区
开启 USB/SSD 启动
1 | sudo raspi-config |
路径:
1 | Advanced Options → Boot Order → USB / NVMe Boot |
注意:树莓派 4B 的 bootloader 是独立 EEPROM,不完全依赖 SD 卡系统
检查 bootloader 配置
1 | vcgencmd bootloader_config |
示例输出:
1 | BOOT_ORDER=0xf14 # 表示 USB boot 生效 |
如果看到类似 0xf14,说明启动顺序已经正确配置。