转载自https://www.cnblogs.com/haochuang/p/6066532.html

一、安装需要的软件

dosfstools:fat32分区格式化工具
dump:dump & restore 备份工具
parted & kpartx:虚拟磁盘工具

执行安装脚本

sudo apt-get install dosfstools
sudo apt-get install dump
sudo apt-get install parted
sudo apt-get install kpartx

二、生成新的img文件
先df -h查看下树莓派实际使用空间然后在决定生成文件大小,下面命令生成块大小为1MB总大小为2500MB的镜像文件

sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=2500

三、分割虚拟磁盘

利用parted将刚才生成的虚拟盘分割成两个分区

  • 第一个分割区采用FAT32格式,由sector 8192开始到sector 12879,约62.9MB
  • 第二个分割区采用EXT4,由sector 122880开始到结束。
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 122879s
sudo parted raspberrypi.img --script -- mkpart primary ext4 122880s -1

四、挂载虚拟磁盘并格式化

  • loopdevice:执行 losetup 连接 img 文件的 loop device
  • device:执行完 kpartx 后,虚拟磁盘代号。
  • partBoot:由 device 加上 p1 组合而成的 FAT32 虚拟磁盘分区。
  • partRoot:由 device 加上 p2 组合而成的 EXT4 虚拟磁盘分区。

首先建立虚拟磁盘并分区

loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"

格式化虚拟磁盘分区

sudo mkfs.vfat $partBoot
sudo mkfs.ext4 $partRoot

五、开始备份
fat32虚拟磁盘分区建立好后直接用cp命令备份文件

  1. sudo mount -t vfat $partBoot /media
  2. sudo cp -rfp /boot/* /media/
  3. sudo umount /media

ext4 linux虚拟磁盘分区用dump & restore 备份

sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -0uaf - / |  sudo restore -rf -
cd
sudo umount /media

六、卸载虚拟磁盘

sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice

经过以上六步树莓派中的数据文件就全部备份到raspberrypi.img中了,你既可以在Windows中用Win32DiskImager将镜像恢复到SD卡,也可以在Linux用dd还原到SD卡,而且不要求恢复SD卡的大小跟原来的一样(不同品牌相同大小的SD卡实际可用空间不一样的,坑!),这样就可以很方便的更换SD卡。当用此SD卡启动树莓派的时候执行raspi-config ->Expand Filesystem 即可扩展未使用的空间。

这里就是最后的脚本,包含了以上六步,只需要编辑sudo vi backup.sh复制以下内容,sudo chmod 777 genimg.sh,然后sudo ./backup.sh就可以在当前脚本目录中生成树莓派的SD卡镜像了。

#!/bin/sh
sudo dd if=/dev/zero of=raspberrypi.img bs=1MB count=2500
sudo parted raspberrypi.img --script -- mklabel msdos
sudo parted raspberrypi.img --script -- mkpart primary fat32 8192s 122879s
sudo parted raspberrypi.img --script -- mkpart primary ext4 122880s -1loopdevice=`sudo losetup -f --show raspberrypi.img`
device=`sudo kpartx -va $loopdevice | sed -E 's/.*(loop[0-9])p.*/\1/g' | head -1`
device="/dev/mapper/${device}"
partBoot="${device}p1"
partRoot="${device}p2"
sudo mkfs.vfat $partBoot
sudo mkfs.ext4 $partRoot
sudo mount -t vfat $partBoot /media
sudo cp -rfp /boot/* /media/
sudo umount /media
sudo mount -t ext4 $partRoot /media/
cd /media
sudo dump -0uaf - / | sudo restore -rf -
cd
sudo umount /media
sudo kpartx -d $loopdevice
sudo losetup -d $loopdevice
 

其余参考:

【树莓派】制作树莓派最小镜像:img裁剪瘦身: http://www.cnblogs.com/haochuang/p/6380839.html

制作树苺派SD卡备份镜像——树苺派系统备份与还原指南:http://blog.lxx1.com/1450

使用dump和restore来制作树莓派的img镜像:http://www.tyrantek.com/archives/508/

树莓派备份镜像 制作镜像 一键制作 脚本:http://www.jianshu.com/p/c6055f9545fd

(该文所附加脚本:https://github.com/Neutree/note/blob/master/tool/RaspberryPi/backup_system.sh)

使用GHO方式制作镜像:

使用Clonezilla对硬盘进行镜像和克隆:https://linux.cn/article-3888-1.html

Linux下类似ghost的备份与还原系统的工具:http://www.linuxdiyf.com/linux/30498.html

如何制作Ubuntu安装U盘:https://www.sysgeek.cn/make-ubuntu-usb-flash-drive/

制作uefi启动镜像相关推荐

  1. 制作UEFI启动模式的U盘

    制作UEFI启动模式的U盘为什么要制作UEFI模式呢?新型UEFI,全称"统一的可扩展固件接口"(Unified Extensible Firmware Interface),是一 ...

  2. 制作linux启动镜像内核,Linux使用mkisofs制作启动镜像

    1.启动光盘参数 -no-emul-boot Boot image is 'no emulation' image 非模拟模式启动 -b or -eltorito-boot 指定在制作启动光盘时所需的 ...

  3. img文件制作linux启动u盘,如何在Linux系统中制作可启动img/iso镜像文件

    img/iso文件是镜像文件,在Linux系统操作中有时需要制作镜像文件,那么制作镜像文件的方法有哪些呢?下面小编就给大家介绍下如何下Linux下制作可启动img/iso文件. 制作镜像文件有三种方法 ...

  4. linux系统做成iso镜像文件,如何在Linux系统中制作可启动img/iso镜像文件

    img/iso文件是镜像文件,在Linux系统操作中有时需要制作镜像文件,那么制作镜像文件的方法有哪些呢?下面小编就给大家介绍下如何下Linux下制作可启动img/iso文件. 制作镜像文件有三种方法 ...

  5. 安装系统之二 U盘启动盘制作---UEFI版

    第一步: 打开u启动uefi版,将准备好的u盘插入电脑usb接口并静待软件对u盘进行识别,由于此次u启动采用全新功能智能模式,可自动为u盘选择兼容性强与适应性高的制作方式,相较过去版本可省去多余的选择 ...

  6. 在UEFI模式下安装Ubuntu(一)——制作UEFI模式启动U盘

    如果不用UEFI模式的启动盘,很可能导致你安装的Ubuntu并不能使用UEFI模式启动. 本文分两个部分 制作UEFI启动模式的启动盘 设置UEFI启动 1. 制作UEFI启动模式的启动盘 ubunt ...

  7. DellR240服务器U盘引导,【dell uefi u盘引导】dellr730配置uefi引导_dell uefi启动

    2017-06-02 16:46:03 浏览量:125143 很多人会将U盘制作成pe启动盘,用来给电脑装系统或维护系统等操作,不过早期的pe启动盘都是Legacy模式,现在的主板大多支持uefi模式 ...

  8. Linux系统自定义制作ISO安装镜像

    0x00 前言简述 在CentOS6系列版本系统在安装完成后会自动生成一个install.log文件,然后在CentOS7系列版本中就变化为anaconda-ks.cfg文件,它可以作为类似于Wind ...

  9. linux dd目录生成iso文件,Linux下dd + mkisofs 制作可启动 img/iso 映像文件

    总的来说,制作镜像文件有三种方法,cp, cat, dd 和其它专用工具.cp ,cat 和 dd都可以从设备复制文件来创建镜像.而 dd 命令更为强大,可以通过指定块大小,块多少来直接创建镜像. I ...

最新文章

  1. 关于pytorch--embedding的问题
  2. HDU 5988 最小费用流
  3. Java Project和Web Project
  4. .net与mysql,ASP.NET与MySql的连接
  5. 10分钟用python编写贪吃蛇小游戏_牛得一批!10分钟用Python编写一个贪吃蛇小游戏...
  6. python linux开发_python之Linux开发环境安装
  7. Jmater (十九) 分布式测试(性能测试大并发、远程启动解决方案)
  8. cad无法安装_装机必备!免安装CAD迷你看图特别版PC软件
  9. 在pytorch中实现十折交叉验证
  10. 线性电阻软件的伏安特性曲线测试,线性电阻和非线性电阻的伏安特性曲线
  11. C语言:文章各类字符数统计
  12. photoshop cs4 注册
  13. 纪念小企鹅──fcitx
  14. 如何清除远程桌面连接记录
  15. [bzoj4698][SDOI2008]Sandy的卡片
  16. 传输速率和传播速率的理解
  17. notifier_chain 内核通知链的学习与使用
  18. android 百度地图 gps数据转换百度经纬度
  19. Verilog:【7】超详细WaveDrom教程,时序图绘制利器,看这一篇就够了。
  20. SQL server 计算当前日期为一年中的第几周,以周五/周一作为一周中的第一天

热门文章

  1. 广告牌定时器怎么设置时间_广告牌led灯微电脑定时开关怎么调整时间
  2. apk 反编译及重新打包签名
  3. Empfehlung für Artikel “Weihnachtsfilme auf Amazon Prime begleiten Sie durch Weihnachten“
  4. IPCC summary
  5. c编程语言外文翻译及原文,C 语言的预处理[外文翻译]
  6. GOM SCAN TRITOP Professional ATOS Professional GOM Inspect Professional 2016/2018/2020/2021
  7. 苹果12共享位置连接服务器失败,appleid链接服务器失败怎么回事
  8. 源代码——员工信息表
  9. IntelliJ IDEA 2017.3激活与汉化
  10. 亚马逊云科技出海日6月9日盛夏盛启