查看: 4600|回复: 1
收起左侧

树莓派学习5: 调整分区大小

2013-5-19 10:19:15 | 显示全部楼层 |阅读模式
树莓派(raspberry pi)把文件系统写在一个img文件中(大小约为2GB)

实际使用中,再用写SD卡工具 Win32 Disk Imager复制到SD卡上,即可用于实际系统中

但是有一个问题,就是假如你的SD卡是8G的,由于img文件是2G,其余的6G是用不了的。

总共2G的大小,系统占了1G多,装多几个软件就装不了了。


这个问题,又让我研究了两小时。 后来发现,要调整主分区的大小。

以下是我在Qemu虚拟机上具体操作的:

首先用qemu带的工具qemu-img.exe 调整img文件的大小,

退出qemu虚拟机,在Windows中使用以下命令,将img文件增加1024MB

qemu-img resize 2012-12-16-wheezy-raspbian.img +1024M


然后,启动qemu虚拟机,进入raspberry pi系统后

首先,查看一下硬盘使用情况,命令如下:
df -h

然后用fdisk命令进行分区操作 (实际操作前最好先熟悉一下fdisk的用法)

命令格式:
fdisk <存储设备名>  //如: fdisk /dev/sda
进入fdisk 后,使用单键命令
   m 显示Help

   p  列出所有分区
   d  删除分区
   n  新建分区
   w 存盘退出
   q 不存盘退出


对主设备进行fdisk,命令如下:
sudo fdisk /dev/sda
(如果是在物理机器上操作,命令应是 sudo fdisk  /dev/mmcblk0)


按 p 键 列出所有分区,可见有两个或三个分区
第一个分区是 FAT32分区,是引导用的

第二个分区是Linux 主分区

第三个分区是Linux Swap交换文件分区(虚拟机中可能没有)

用笔记下Linux 主分区的Start Sector号 (我的img文件中是122880)


按 d 键 Partition Number (分区号) 选 2, 删除linux主分区(第2个区)

如果有linuxSwap分区,再按d键 Partition Number (分区号) 选 3,  删除linuxSwap分区(第3个区)

按 p 键 列出所有分区,可见只剩第一个分区了


按 n 键,重新创建linux主分区
Partition Type(分类类型) 选 P (Primary)
Partition Number (分区号) 选 2

First Sector(起始Sector) 一定要输入刚才记下来的Start Sector号(我的是122880)
Last Sector (终止Sector)用默认值,直接回车

按 p 键 列出所有分区,可见有两个分区,linux主分区在第2个,起始位置是原位置

按 w 键 存盘退出fdisk

接下来,立即重启,不要做任何其它事情

sudo reboot

重启并登录后,立即用以下命令
sudo resize2fs /dev/sda2

(如果是在物理机器上操作,命令应是sudo resize2fs /dev/mmcblk0p2)

该命令将把第二个分区扩展到新的空间中

查看一下硬盘使用情况,OK了

df -h

上述操作的原理是:

首先删除了linux主分区和Swap分区,重建的主分区起始Sector位置与原主分区一致,再resize2fs,则原主分区数据完全没变,但改变了主分区的大小。

明白了,SD卡有多大,就做多大的img文件,再写到卡中就可以了

回复

使用道具 举报

2013-6-7 21:14:04 | 显示全部楼层
树大,能发一份qemu的虚拟机文件吗。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部