调整树莓派SD卡分区的问题

由于树莓派本身不带存储器,安装系统需要在电脑上将官网下载的img镜像直接写入SD卡,这样就造成了一个你题:系统装好后分区是固定的,在进入系统之后由于根目录已经挂载,无法在树莓派下调整分区表。我使用的debian镜像大小是3G多,装在8G储存卡上就会有4G多的区域是浪费的。

想过几个方案解决这个问题:

1,用fdisk把SD卡上未使用区域格式化,挂载为root家目录,进行大文件操作就在root家目录下进行。

fdisk  /dev/mmc[TAB补全]

#使用fdisk,也可以用parted,不过X86的Debian没有parted只有partx,似乎功能更强大但是操作起来没有parted简便

Command (m for help): m
Command action
a   toggle a bootable flag
b   edit bsd disklabel
c   toggle the dos compatibility flag
d   delete a partition
l   list known partition types
m   print this menu
n   add a new partition
o   create a new empty DOS partition table
p   print the partition table
q   quit without saving changes
s   create a new empty Sun disklabel
t   change a partition’s system id
u   change display/entry units
v   verify the partition table
w   write table to disk and exit

按m获取帮助,一路根据默认输入分区起止位置,最后w保存分区表修改否则修改不会生效。(突然发现这个v似乎可以调整分区表,下次试试,回来记录)

 

 

2,在网上查到似乎可以用担任维护模式解除挂载调整分区表。参考如http://www.jb51.net/os/RedHat/1093.html,但是过程比较麻烦,先尝试又没有更简单的办法。

 

3,在树莓派下操作不方便,还是可以用虚拟机的嘛,新建一个虚拟磁盘,用dd复制整个SD卡到这个磁盘里再操作就方便的多。(实际上最初只是想用dd备份树莓派的系统,曾经吃过一次亏,没有备份的情况下重装了整个系统,折腾一晚上调的网络配置和装的软件都没了)

dd if=/dev/sdc of=/dev/sdb #sdb是新建立的虚拟磁盘,sdc是读卡器读取的SD卡

然后用gparted无损调整分区大小(需要保证调整的分区前/后有空闲空间,参考http://worldant.blog.sohu.com/100113405.html ,如果不满足这个条件就需要对分区做一点调整。)

Debian默认没有安装gparted:

apt-get install gparted

gparted

Gparted是图形界面,操作上和windows里DiskGenius类似,先前使用了(1)中分区挂载到root目录,现在需要先把分区删了使它变成未分配,然后调整主分区大小。

最后

dd if=/dev/sdc of=~/pi.img #dd可以将磁盘保存为img镜像

 

 

4,最简单实际上树莓派自带的raspi-config就可以直接把根分区扩展到整个储存卡

raspi-config

image

发表评论

电子邮件地址不会被公开。 必填项已用*标注