因此,我得到了新的pi,唯一的免费SD是2GB。我忍不住要玩它,所以暂时必须做。我加载了raspbmc,然后花了一些时间加载存储库,加载项并根据自己的喜好进行了自定义。

我现在在邮件中有一个16GB的class 10,我想知道如何将当前的设置复制到该SD。我的第一个想法是使用Win32 Disk Imager从2GB读取,然后写入16GB。但是,这将使pi上只有2GB可用,而16GB正确吗?本质上,我想知道如何调整分区的大小以使用16GB SD上的所有可用空间。

在这里,我看到/ dev / mmcblk0p3的ext4分区就是其中之一。那将需要调整大小。不删除该分区的内容就可以吗?

问题是,我只有Windows PC可用。我想将映像复制到16GB后可以在2GB上加载raspbian,以获得功能更强大的linux盒,但希望这需要更多的工作...我愿意接受任何建议,只是不想从头开始全新安装raspbmc。

评论

rpi-clone脚本专用于此任务。

我对OP问题computers.tutsplus.com/articles/…找到的最佳答案...

#1 楼

我认为您应该考虑这样做,以便不时获取和还原卡的备份。一旦获得第二张卡片,并且只要不破坏原始卡片,就可以轻松进行实验。是的,它应该可以工作。

有关如何设置卡映像的一些说明可以在RPI Wiki“轻松设置SD卡”中找到。还有关于调整rpi上分区大小的页面。 Raspi-config显然也可以自动执行此操作。

基本上,您应该能够使用parted,fdisk,cfdi​​sk或其他工具来调整根分区的大小,并使用resize2fs来使文件系统使用额外的空间。

这一切都可以在PI上正在运行的Linux系统上进行,只要您可以在Windows中正确地将图像显示在卡上,就不再是问题了。

请注意,根据您选择的版本和版本的不同,可能会以不同的方式设置卡,并且说明可能与字母不正确。但是想法是一样的。查找根目录,拉伸它,调整文件系统大小并享受新空间(以及需要备份的16GB映像)。

相关内容:


如何可以调整/(根)分区的大小吗?
如何在SD卡之间传输设置?


#2 楼

以下对我有用,使用了最初由NOOBS准备的SD卡。我正从32GB的SD卡转到128GB的卡。


将新卡插入外部读卡器并将其连接到Pi。
关闭所有弹出的窗口
使用sudo gparted打开gparted

右上角的下拉菜单将有两个条目,一个名为/ dev / mmcblk0(即SD卡) Pi现在从中启动)和一个名为/ dev / sdb或类似名称的卡,即您的新卡。
卸载所有卷并从/ dev / sdb删除所有分区(右键单击分区以获取菜单)
接受这些更改,然后关闭gparted
使用sudo dd if=/dev/mmcblk0 of=/dev/sdb bs=4M status=progress将现有磁盘克隆到新的SD卡。这需要一段时间。
完成后,再次打开gparted,并检查您现在在源磁盘和目标磁盘上是否具有相同的分区。
在新磁盘上,选择已在“扩展”磁盘中的分区。文件系统。这是其他三个分区的容器:设置,启动和根(我们要扩展根分区,因为它包含所有用户数据和应用程序,但是我们不能直接这样做,因为它局限于该容器分区内)
扩展扩展分区的大小以填满整个磁盘
应用更改
注意:现在根分区仍然具有旧大小,但是我们现在可以扩展它。为了安全起见,我们确保先启动现有状态。
现在关闭pi,然后将新的SD卡插入Pi的SD卡插槽中。
重新启动,现在使用新卡
Pi再次启动后打开gparted,现在扩展根分区以填充磁盘的其余部分
应用更改
重新启动
如果一切正常,您的Pi现在可以使用更多的磁盘空间。如果失败,您仍然可以使用旧卡作为备份。

注意:我尝试使用不同的分区工具在Windows PC上进行分区更改,但是尽管SD卡显然还可以,但它们均失败,并显示奇怪的“磁盘IO错误”消息。尽管Google上的这些分区工具的广告横幅很大,但它们都失败了。

评论


万一有人试图通过xterm(-X)选项通过ssh连接执行此操作,那么sudo -E gparted是我真正打开窗口所需的。 :)

–伊恩·麦克尔汉尼(Ian A McElhenny)
20-09-10的3:15

谢谢,写得很好!我想发表评论,您应该在从新的MicroSD引导之前扩展根分区,因为gparted报告说,在使用分区时无法扩展。

– jgosar
20 Dec 5'在19:10

@jgosar IIRC对我有用,但是是的,您当然可以一口气做到这一点。

– PMF
20 Dec 6'在13:01

#3 楼

dd if=/dev/sdc of=/dev/sdd bs=1m


我没有看到如何在pi上执行此操作,因为它只有一个SD卡插槽。

评论


我认为这不会对OP产生太大帮助。如您所指出的那样,RPi仅具有一个SD卡插槽-尽管可以在GPIO端口的SPI引脚上添加另一个插槽,也可以通过插入连接到USB总线的有源集线器的读卡器/写入器来添加。最好在不活动的介质上使用dd进行存储介质的读/写操作,这需要将SD卡安装在Linux PC上-但由于OP在谈论使用Win32 Disk Imager,因此有理由相信它们具有(仅Windows PC!

– SlySven
16年1月19日在4:07

伙计们,从字面上想想:(从字面上看):拿下Pi的旧小SD卡,插入笔记本电脑,运行dd if = / dev / sdc of = / tmp / image.bin bs = 1m,取出旧的小SD将卡从笔记本电脑中取出并放入新的大SD卡,如果dd if = / tmp / image.bin of // dev / hdc bs = 1m,请运行dd,从笔记本电脑中取出新的大SD卡并将其放入Pi。

– Tomislav Nakic-Alfirevic
16 Dec 9'在14:25



#4 楼

现在有一个名为sdcard copier(piclone)的应用程序。使用该应用对您的操作系统进行完整备份,您以后可以使用它。

#5 楼

在您的情况下,如果您的原始卡较小,而目标较大,则可以直接使用:

dd if=/dev/sdc of=/dev/sdd bs=1m


这将从sdc到sdd进行字节级克隆,但是请注意在您的特定情况下这些可能会有所不同。

之后,您只需在新卡上引导并运行raspi-config并让其调整分区大小,瞧!。