在raspberry pi開發中,常常修改系統配置。有時候也不知道該了什麼東西,因此就製做了幾個鏡像來保存進度。linux
問題:ide
所以,須要完成如下內容oop
首先查看分區fdisk -ul xxx.img
,再按p
。.net
Disk ros.ima: 14.9 GiB, 15924142080 bytes, 31101840 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x87ec3003 Device Boot Start End Sectors Size Id Type ros.ima1 8192 93814 85623 41.8M c W95 FAT32 (LBA) ros.ima2 94208 31116287 31022080 14.8G 83 Linux Device: ros.ima2 Start: 94208 End: 31116287 Sectors: 31022080 Cylinders: 1932 Size: 14.8G Id: 83 Type: Linux Start-C/H/S: 5/24/220 End-C/H/S: 1023/63/254
能夠看到ros.ima2的偏移量爲94208*512,鍵入sudo mount -o loop,offset=48234496 ros.ima /mnt/ras/
。
遺憾的是,出現以下錯誤:code
EXT4-fs (loop0): bad geometry: block count 3877760 exceeds size of device (3875954 blocks)orm
因爲磁盤鏡像的容量與內容大小不匹配,因此致使了這個問題。鏡像的實際容量應爲:3877760*4096 + 94208*512
blog
truncate -s 15931539456 ros.ima sudo mount -o loop,offset=48234496 ros.ima /mnt/ras/
到此,成功加載磁盤鏡像。開發
使用tar備份能夠減小系統的體積。 tar -cvpzf ros.tgz -C /mnt/ras/ .
備份時沒有剔除任何目錄,由於另外一個linux沒有運行,裏面沒有臨時文件。get
解壓的時候使用 tar -xvpzf ros.tgz -C /mnt
cmd
樹莓派不是傳統的磁盤引導,而是會自動去尋找啓動分區。啓動分區和root分區的製做
所以只須要在cmdline.txt中填入正確的值就好了。
首先使用fdisk
建立分區。
格式化分區 sudo mkfs.ext4 /dev/sdb2
解壓文件tar -xvpzf ros.tgz -C /media/ras