复制Raspberry PI SD卡

时间:2014-03-13 21:21:00

标签: raspberry-pi

一旦我有一个Raspberry PI SD卡,我所有设置的方式(自动启动,我的脚本,源文件等),克隆SD卡最简单的方法是什么?我有一个MAC,PC和Raspberry Pi本身用于此过程。

3 个答案:

答案 0 :(得分:1)

在Windows上我使用Win32DiskImager,将现有图像写入sd并将当前设置的内容读取到图像文件非常方便。

在Mac上,您可以在终端to do same

中使用dd命令

答案 1 :(得分:0)

我知道这是一个非常老的问题,但是我编写了两个脚本,分别使用运行Linux的PC(在Ubuntu 18上测试)轻松备份和还原。它们为您提供了可用设备的列表和数字列表菜单。

备份脚本将备份到预定义目录,但是您也可以将路径作为参数,并使用gzip自动压缩它。备份的命名基于当前日期以及是否存在具有该名称的文件。

#!/bin/bash

BackFile="/Path/to/Backup/RPi`date +%d%m%y`.bak" 
Num=0
while [ -f "$BackFile" ];
do 
Num=$((Num + 1)
BackFile = "/media/sf_VM/RPi$Num`date +%d%m%y`.bak" 
done
echo "\nPath: $BackFile\n" 
lsblk -dnpo NAME,SIZE | grep -v loop
my_array=()
while IFS= read -r dev; do  
        my_array+=( "$dev" )
done < <( lsblk -dnpo NAME | grep -v loop )
select opt in "${my_array[@]}" "Stop"; do
  case $opt in 
  /dev*)
     echo "Device file $opt selected"
     # processing

     sudo dd bs=4M if=/dev/sdb status=progress | gzip > $BackFile
     echo "Backup complete, Path: $BackFile"                   
     ;;
 "Stop")
     echo "You chose to stop"
     break
     ;;
 *)
     echo "This is not a number"
    ;;
 esac
done

还原脚本列出了该目录中的备份,选择文件后列出了可用的设备。

#!/bin/bash

mapfile -t my_array < <( find /Path/to/Backup/ -maxdepth 1 -type f -name "*.bak" -print0 )

select opt in "${my_array[@]}" "Stop"; do
  case $opt in
    *.bak)
      echo "Bak file $opt selected"
      # processing
    lsblk -e 7 -dnpo NAME,SIZE | grep -v loop
    my_array=()
    while IFS= read -r dev; do  
        my_array+=( "$dev" )
    done < <( lsblk -e 7 -dnpo NAME | grep -v loop )
    select opt2 in "${my_array[@]}" "Stop"; do
      case $opt2 in 
      /dev*)
         echo "Device $opt selected"
         # processing 
         sudo gzip -dc $opt | sudo dd bs=4M of=$opt2 status=progress       
         ;;
     "Stop")
         echo "You chose to stop"
         break
         ;;
     *)
         echo "This is not a number"
        ;;
    esac
    done
    break   
      ;;
    "Stop")
      echo "You chose to stop"
      break
      ;;
    *)
      echo "This is not a number"
      ;;
 esac
done

答案 2 :(得分:0)

我还没有找到一种可靠地克隆SD卡的方法,但是我已经找到了一种可靠且容易地构建符合规格的SD卡的方法。在研究了很多业余爱好者伏都教解决方案之后,我找到了PiBakery。

首先,PiBakery是可靠的。它“有效”。

PiBakery允许您通过外观良好的可视界面设置“安装程序脚本”:

enter image description here

然后您就可以参加比赛了。它在可操作的“文档”中直观地记录您的配置。

在我们的项目中,我们每周两次制作一个新的Raspberry Pi图像。我有15个在Pi之间旋转的SD卡。在PiBakery之前,维护和升级Pi SD就像用叉子掏出眼球,但是现在,它几乎是令人愉快的!

https://www.pibakery.org

这提醒我向作者捐款。 (Currency Converter