linux dd提示空间不足,Linux dd SD卡 容量不足 使用磁區重新分割法

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

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

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

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

dd 完成後, 插入電腦就應該要自動 mount 起來, 就出現下述錯誤訊息:

Error mounting /dev/mmcblk0p1 at /media/3865-6637: Command-line `mount -t "vfat" -o "uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush"

"/dev/mmcblk0p1" "/media/3865-6637"' exited with non-zero exit status 32: mount: /dev/mmcblk0p1: can't read superblock

於是就來修復此問題.

參考作法: 此作法忘記是哪邊找到的, 找不到出處了. orz, 下面成功的作法基本上部份參考自此作法.

sudo losetup /dev/loop0 ./image.img

sudo fdisk -l /dev/loop0

sudo fdisk /dev/loop0

p d 2 n p 2 122880 enter p

sudo losetup -d /dev/loop0

sudo losetup -o $((122880*512)) /dev/loop0 ./image.img

sudo e2fsck -f /dev/loop0

sudo resize2fs /dev/loop0

sudo losetup -d /dev/loop0

下述是我成功完成 resize + 正常開機使用, 一切正常運作的操作紀錄:

# 註: 下面砍掉分割區、重建分割區, 是不會影響到資料的

# (分割區設定是在硬碟磁軌的前面, 那邊跟資料是無關的(當然分割區切到資料還是會炸掉))

sudo losetup -f --show image.img

sudo fdisk -l /dev/loop0

所用裝置 開機      開始         結束      區塊   識別號  系統/dev/loop0p1            8192      122879       57344    c  W95 FAT32 (LBA)/dev/loop0p2          122880     5785599     2831360   83  Linux

sudo fdisk /dev/loop0 # 把第二個分割區砍掉在重新建立

p

d # 砍掉

2 # 砍掉第二個分割區

n # 新建分割區

p

2 # 新建第二分割區

122880 # fdisk 會寫 SD card 最後位置可以設到哪裡, 寫最後的就對了

enter

p

sudo fdisk -l /dev/loop0

sudo dd if=image.img of=/dev/mmcblk0

相關網頁

相關

b636a9bf35d30f7781db075f241e6fb2?s=42&d=mm&r=g

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.檢視「Tsung」的全部文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值