Linux dd SD卡 容量不足 使用磁區重新分割法

Raspberry Pi 作業系統用 SD Card, 但是遇到 SD Card 損壞時, 要將原本製作好的 image 放到新的 SD Card, 雖然容量相同、品牌不同, 但是容量就會有差異, 於是作業系統 dd 進去就無法開機.

下述兩篇有寫 dd 和 之前遇過 resize 的解法

但是此次用上面 resize 的解法也修不好, 於是再來找其它解法.

閱讀全文〈Linux dd SD卡 容量不足 使用磁區重新分割法〉

Linux dd 遇到 容量不足 的 resize 解法

SD 記憶卡的品牌不同, 容量多少也會有些差異, 於 dd 要將容量小的塞到大的沒問題, 但是大的塞到小的就肯定行不通, 此篇的作法可能會有資料流失的風險, 使用起來請自行注意~

  • 註1: 我是因為記憶卡後面的空間大多都沒用到(16G 大概有 12G 都還沒用到, 所以後面遺失的空間不會有差別)
  • 註2: 這個只適用在容量差異不大的狀況 (16G vs 16G), 容量差異太大, resize 也沒有任何意義~
  • 註3: 除了 resize 外的解法, 如果有 dd 前的原始 SD Card, 可以考慮把作業系統整個 tar 過去 或 cp -a 來製作.

先講講 dd 備份 和 還原, 下面再來紀錄容量不足的解法.

  • 備份: sudo dd bs=4M if=/dev/sdc | gzip > /tmp/backup.gz # bs=4M 跑起來比較快, 另外硬碟容量不夠用, 所以備份順便丟入壓縮.
  • 還原: sudo gzip -dc /tmp/backup.gz | dd of=/dev/sdc # 這邊 bs=4M 不要加, 容量不夠的話, 會遺失更多資料. (註: bs(預設 4k) 不加, 會跑很久)
  • 相關參考: 使用 dd 來 備份 / 還原 SD 卡的作業系統

閱讀全文〈Linux dd 遇到 容量不足 的 resize 解法〉