2020年3月28日补充
写文章时采用的版本见图,目前本人采用的DiskGenus版本为v5.0.0.589,由于本人不使用gui界面,将运行级别改为了3。
针对Starting Show Plymouth Boot Screen卡住的问题
我在boot分区的cmdline.txt加了一些配置,禁用了Plymouth以及splash。可以解决卡在Show Plymouth Boot Screen的问题。其他同学提出的卡在四个树莓的界面,因为本身也是和这两个选项有关,是linux加载前和加载时的loading图,所以可以尝试禁用Plymouth以及Splash,看能否解决问题。
由于该方法也是本人自己摸索出来的,可能会遇到其他问题,大家提出互相解决吧。
cmdline.txt配置项如下:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.enable=0
以下为原文
最近使用树莓派做一个智能硬件设备,其中修改了很多软件包的配置,为了方便备份,所以想使用磁盘镜像克隆的方式备份当前系统的tf卡。最初是使用 WinHex创建整个tf卡的磁盘镜像,这个方法用了一段时间,但实在忍受不了整盘克隆比蜗牛还慢的速度,所以开始寻求新的方法。
搜了一圈,发现一些前辈在linux环境下通过dump命令与restore命令创建img镜像,效果貌似很不错,因为只会备份已存在的文件,不会备份无数据扇区,所以速度很快。
但对于我这等懒人,不到万不得已,实在不想使用linux的命令行界面来做这些事情(其实我懒得装linux虚拟机,233)~于是再仔细阅读了前辈们的文章后,了解了他们的思路 ,我开始在windows环境下寻找方法。此时我突然想起了磁盘分区软件DiskGenius具备创建img的功能,于是决定就用它了!
首先把当前要备份的tf卡插到电脑上,打开DiskGenius。点击硬盘->新建虚拟硬盘文件->新建.img映像文件,见下图。
在创建映像文件对话框中,根据你tf卡的使用情况,创建大小合适的img映像,映像类型 选择磁盘映像。
点击确定等待映像创建。当创建成功后,左侧会显示img映像文件。接下来我们需要对img进行分区。首先删除当前分区,右键点击分区,选择删除当前分区。
之后查看一下tf卡的boot分区格式,右键点击tf卡的PI_BOOT分区,选择更改分区参数,在对话框中记下当前的分区参数,然后关掉。在img镜像中建立新分区,参数按照刚才查的boot分区参数来。见下图。
建立完boot分区后,再建立root分区,root分区直接按照默认参数建立即可,无需配置。
接下来最重要的事就是克隆分区了。右键点击tf卡的boot分区,选择克隆分区,然后目标选择img镜像中刚刚建立的boot小分区,选择按文件复制,点击开始,等待读条完成。然后再克隆root分区,如法炮制。最后克隆完成后,img镜像就做好啦~!
做好img镜像后,进行克隆试验。准备一张新的卡,我使用Win32DiskImager来做这个事,将镜像克隆到存储卡中,然后插入到树莓派进行启动测试。
启动进入系统后,会发现根目录分区容量很小,所以接下来要做的事情就是将根目录分区容量扩充到整个tf卡。
执行sudo raspi-config ,在advance选项中选择Expand Filesystem执行,重启后,执行df -h 命令,就会发现根目录分区容量正确了。到此为止克隆结束!
目前遇到的问题:
我是使用的Ubuntu Mate 16.04系统,第一次启动时,会卡在 Starting Show Plymouth Boot Screen 几分钟,之后再启动就不会遇这个问题了。如果知道这个问题是什么原因的大佬,欢迎指教。