即使我的SD卡为16GB,但我闪过的图像只有2GB,现在磁盘上只能看到2GB的存储空间。
如何调整映像大小,以便在根分区上有更多空间?
/mnt/storage
。这有效地隔离了系统和数据,并使维护和备份更加容易。
/mnt/storage
,如果要将程序安装在/opt/software/
。
即使我的SD卡为16GB,但我闪过的图像只有2GB,现在磁盘上只能看到2GB的存储空间。
如何调整映像大小,以便在根分区上有更多空间?
/mnt/storage
。这有效地隔离了系统和数据,并使维护和备份更加容易。
/mnt/storage
,如果要将程序安装在/opt/software/
。
Answers:
假设您正在使用Debian。
如果出现问题,请先按照此处的说明备份SD卡。
在命令行或终端窗口中输入以下内容
sudo fdisk /dev/mmcblk0
然后键入p
以列出分区表
您应该看到三个分区。如果您在标最后一栏看看系统,你应该有
记下分区2的开始编号,以后再用。尽管它可能仍会显示在屏幕上(以防万一)。
下一个类型d
删除分区。
然后将提示您输入要删除的分区号。在上述情况下,您要删除Linux和Linux交换分区。
所以输入 2
然后d
再次键入,然后键入3
以删除交换分区。
现在您可以调整主分区的大小。
键入n
以创建一个新分区。
此新分区需要是主分区,因此请键入p
。
2
在提示您输入分区号时,接下来输入。
现在将提示您输入新分区的第一个扇区。 输入上一步的起始编号(Linux分区)
接下来,将提示您输入最后一个扇区,您只需按Enter即可接受默认设置,它将使用剩余的磁盘空间。
键入w
以保存所做的更改。
接下来,使用以下命令重新引导系统:
sudo reboot
系统重新启动后,您又回到命令行,请输入以下命令:
sudo resize2fs /dev/mmcblk0p2
注意:这可能需要很长时间(取决于卡的大小和速度),请耐心等待,以便完成操作,这样您就不会弄乱文件系统,而必须从头开始。
完成后,使用以下命令重新引导系统:
sudo reboot
现在,您可以通过输入以下命令来验证系统是否正在使用SD卡的全部容量:
df -h
真正的神奇之处在于,您删除了根分区和交换分区,然后仅将根分区重新创建(使用原始的起始扇区),然后再将数据写入磁盘。因此,您不会从根分区中擦除现有数据。
通过移除交换分区,您可以使根分区空间超出其当前大小,并填充磁盘的未使用部分(由于分区的位置-根分区夹在引导分区和交换分区之间-不能这样做)只需调整大小即可,而不必单独保留交换分区)。
然后,您可以调整文件系统的大小(可以安全地在已安装的磁盘上运行),以使用新的根分区中的所有空间。
参考:
使用Debian-Wheezy Beta映像,内置了一个配置实用程序,可简化此操作:
有一个名为的实用程序raspi-config
。如果您直接连接到RPi,它将在首次启动时运行。如果您使用的是SSH,则可以使用手动运行它$ sudo raspi-config
。(我认为您可以随时手动重新运行该工具)。
接下来蓝色对话框中的第二个选项标题为expand_rootfs
,描述为“扩展根分区以填充SD卡”。
选择此项将导致您的根分区在下次启动RPi时被调整大小以填满卡。
2015年更新!
在返回此答案时,我要格外小心:我一直在使用一堆16GB SD卡,但由于最大化分区以装满正在使用的卡而陷入困境。这样做会导致切换到新卡(即使据说为16GB)比旧卡小200MB左右的问题。
当我将几个RPis从v1切换到使用Micro SD卡的新v2型号时,此问题浮出水面。
现在,我可以腾出约1GB的可用空间,以确保我的图像可以在SD卡之间切换而不会出现问题。
如果您在命令行上不太舒服,例如在Steve Robillards的出色回答中,则可以使用一些GUI应用程序。特别是gparted效果很好。
我认为它默认安装在Ubuntu LiveCD上,而不安装在已安装的系统上。当然,有一个简单的解决方法:apt-get install gparted
。您不能在实际的Pi上执行此操作,因为要调整分区的大小,需要将其卸载。
下图是荷兰语,但不要让它破坏乐趣。它很容易使用。这是8GB SD卡上默认debian映像的布局。
右键单击要卸载的分区,然后右键单击以调整大小或移动分区。您还可以创建新分区并格式化现有分区。在下面的图片中,我删除了交换分区,现在可以将根分区的大小调整为它右边的整个空间。不要完全填满它,因为您仍然必须添加交换分区。
您可以使用分区布局,仅当您应用更改时才写入更改(第一张图片中的灰色“返回”键)。
移动分区非常容易,但是就像在Steve的回答中一样,我建议您完全删除交换分区,然后调整根的大小,然后重新创建交换。移动分区可能需要很长时间,并且交换不包含您需要保留的数据。
sudo -E gparted
gparted
如果您在Wayland之下运行,可能还需要先运行以下命令(不确定这些问题是否已解决):xhost +SI:localuser:root
如果您使用较新的Debian Wheezy映像:http ://www.raspberrypi.org/archives/1435 引导时脚本允许您调整大小以自动填充sdcard。