从Pi本身还原PI


8

刚开始玩覆盆子pi模型b +,我已经坐了好多年了,我有问题吗?是否可以从自身还原Raspberry Pi?

例如:我可以在microSD卡上放置一个映像,然后重新启动Pi以安装新映像,以清除先前安装的所有内容并重新开始吗?是否可以在没有其他计算机格式化和镜像SD卡的情况下执行此操作?如果有帮助,我目前已经安装了raspbian。

Answers:


8

不完全的。重新映像分区表时,将覆盖分区表,并用映像中的表替换分区表。映像程序完成后,它将释放映像文件的文件句柄,但是由于从技术上讲,该文件的存储分区不再存在,因此您的程序无法再次读取它。从理论上讲,它只能工作一次。

此外,文件必须位于存储空间的末尾,因此不会立即被覆盖。

或者至少这就是我认为Linux处理文件的方式。我上一次尝试此操作(几个月前我做了),Pi刚被绞死。根据此实验,您确实需要另一台计算机来重新镜像SD卡。

另一种选择是使用NOOBS方法并将启动文件存储在单独的分区上,然后启动到NOOBS或操作系统(如果已安装)。NOOBS已经按照您所说的做了,但是没有重新映像整个SD,而是仅替换了OS分区。该链接说明了NOOBS的工作方式。


5
从技术上讲,您可以使用基于RAM的根系统(甚至是chroot)(或者很小的自定义映像,或者来自USB存储的映像)来实现,但是我认为这超出了大多数用户的技能水平,因此不值得。在另一个设备上使用具有根FS的系统会更容易,但也不是很值得,除非那是您要做的。
goldilocks

@goldilocks也许我会尝试一下。如果有回报,我将其开源。
PNDA

3

有了足够大的SD卡,您可以有2个可用的启动选项-并选择一个不使用的启动选项,这很好,然后更新grub并重新启动到新的OS。

没有严重的崩溃,您就无法写入当前安装的OS分区,至少不能像您要求的那样批量批发。尤其重要的是,Linux会缓存数据,因此当缓存将旧数据刷新到新数据时,您的新写入将被混淆...


0

如果您分阶段进行操作,则可以完成此操作。借助基于RAM的发行版(例如我的项目Nard),可以释放SD卡以进行复杂的操作。

  1. 从Nard(或其他类似发行版)中提取/ boot的内容
  2. 擦除当前Raspbian SD卡/启动中的所有内容
  3. 将Nard / boot / *存储到Raspbian SD卡/ boot中
  4. 重启
  5. 现在,您应该从RAM运行,因此您可以使用SD卡执行任何您喜欢的事情,例如下载所需的图像并用新的东西擦拭整个SD。

0

听起来您可以使用rpi-clone吗?我每天都在使用rpi-clone来克隆运行Raspian Jessie的正在运行的RPi3。克隆到第二张Micro SD卡大约需要10分钟。然后关闭电源,取出两张卡,存储原始卡并使用克隆启动。因此,我知道备份有效。我以这种方式旋转3张卡,这样我就始终拥有安全的卡。这个对我有用 ;-)


0

你当然可以。出现白色/灰色屏幕时,只需按住Shift键即可。它甚至在屏幕上告诉您。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.