树莓派如何实现分区管理

树莓派如何分区管理

有了树莓派SD卡系统盘,我们就可以开心地使用树莓派了。但是,在一般情况下,树莓派的操作系统放在8GB的SD卡上就足够了,这意味着拥有16GB或更大容量存储卡的人有很大一部分空间可能要浪费了。这时我们需要对存储卡进行分区来充分利用这些剩余空间。

创建新分区

在树莓派的SD卡最后的空白部分创建一个新分区可以用于存放任意文件,而不用再连接使用其他存储设备。这一分区过程可以直接在树莓派上完成,前提是你要有已写入树莓派Linux系统镜像的SD卡并且卡上还有剩余空间。
警告当使用分区修改工具时,一定注意不要删除已经存在的分区,特别是/boot分区或root文件系统分区,否则树莓派将无法载入操作系统。
在SD卡上创建新分区只需按照下述步骤进行:

1.打开终端,输入sudo fdisk -l 来列出所有连接到树莓派上的存储设备及其分区。SD卡通常显示为/dev/mmcblkO其下的分区一般以p0、p1……排序


2.键入sudo cfdisk /dev/mmcblk0p 来加载cfdisk分区管理工具,该命令中指定了待分区的目标SD卡。若你想在USB大容量设备上建立分区,只需要将这里的mmcblk0p替换成存储设备的设备标识符(例如sda)即可。

3.移动光标到最下面的标志为Free Space的分区,按回车键选中,此时选中的分区高亮(白底黒字)。

4.移动光标,选定底下的New命令然后按回车键。

5.现在将提示你选择创建主分区还是逻辑分区。默认选择主分区,按回车键接受默认选择。

6.接下去会提示你输入要创建的新分区大小,以MB为单位。默认会将所有剩余空间用于创建新分区,按回车键接受默认大小。

7.然后,移动光标到Write菜单按回车键选择从而写入分区表。

8.此时将提示你是否确定要改变分区,输入yes并按回车键。

9.移动光标到Quit菜单按回车键退出cfdisk程序。

尽管新建的分区已经在分区表中了,但是操作系统只有重启之后才会重新载入分区表,因此需要用下述命令重新启动树莓派:

sudo reboot

树莓派重启完毕后,用fdisk命令检查是否已成功创建新分区:

sudo fdisk -1

在使用新分区来存储文件之前,你还需要使用mkfs命令格式化新分区,步骤如下:

1.键入fdisk -1列出所有连接到树莓派的存储设备及其分区情况。注意新分区通常显示为/dev/mmcblk0pN,此处的N是分区编号。如果上述工作是在Debiaxi系统下进行的,新分区通常是/dev/mmcblk0p3.

2.键入suod mkfs.ext4 /dev/mmcblkOpN在新分区上建立EXT4文件系统,注意将N替换成实际的分区号,不能出错,否则分区上的数据会被全部擦除。

3.使用新分区前需要先挂载,我们使用sudo mkdir /storage先创建文件系统加载点。

4.键入sudo mount /dev/mmcblkOpN /storage 挂载新分区,N 的意义同前。

告 在分区上创建文件系统前,一定保证选择的分区正确,如果错误地在/boot分区或root文件系统分区上创建新文件系统,将导致树莓派无法启动。
上面挂载的新分区只有超级用户才可以访问,其他用户没有权限使用新分区,此时需要用chown、chgrp和chmod来改变权限。chown是change ownership的缩写,它用米将一个文件的创建者换成另外一个用户;chgrp改变文件所属的组,这样指定1i的组里面所有的用户都可以访问该文件;chmod修改文件或目录的使用权限。
若想让所有的用户都可以访问新分区,需要用chgrp命令将分区的组属性从root组修改为users组:

sudo chgrp-R users /storage

你也许需要组中所有成员都能在该目录下实施写入操作,这时你需要用chomod为目录赋予写属性:

sudo chmod-R g+w /storage

现在新分区就可以读写了,但是在每次树莓派启动时,新分区还是需要按上面步骤手动挂载,比较麻烦。为了节约时间,我们可以编辑fstab文件告诉树莓派自动挂载该分区。
fstab文件在/etc目录下,该文件乍一看挺复杂,但其实它也是有规律可循的。
从左到右,不同的列分别表示要挂载的设备位置、挂载点、挂载的文件系统类型、需要的选项,最后的两个数字分别表示是否要在系统出问题时转储文件系统、检查系统。
我们首先使用nano打幵f stab文件:

sudo nano /etc/fstab

在文件最后插入新行,按格式输入新分区的信息,不同列之间输入Tab键分隔:

/dev/mmcblkOpN[Tab]/storage[Tab]ext4[Tab]defaults[Tab]0[Tab] 2

保存文件,退出nano后你可以重启系统看看/storage是否已经自动加载,如果没有,你要仔细检查fstab文件中的输入信息是否正确。

调整已有分区大小

创建一个新的分区当然可以更好地利用大容量SD卡,但也不算是最好的方式,通过调整已有分区大小来充分利用空余空间这种方式更简单。做这件事之前,你要先断掉树莓派的电源,拿出SD卡,然后插入电脑的读卡器中。

自动调整分区大小

树莓派的Debian版Linux自带一个叫做raspi-config的工具,该工具仅当系统第一次启动时才会加载,当然你也可以在命令行窗口或终端中输入sudo raspi-config手动加载它。该工具为树莓派下常见的任务配置提供简单的操作界面,其中就包括自动调整根分区的大小。
警告 使用raspi-config调整根分区的时候,在某些情况下会导致数据冲突。尽管概率很小,但如果你无法承受存放在树莓派上的数据丢失的痛苦时,最好还是先备份这些数椐。

使用raspi-config调整根分区的步骤如下:

1.如果这是你第一次启动Debian系统,那么开机后raspi-config会自动启动,否则你要在命令行窗口或终端里输入

sudo raspi-config

手动启动该软件。
2.在raspi-config的界面中,按键盘上的下方句键选中expand_rootfs —行然后按回车键。

3.调整操作仅需数秒,之后会弹出信息提示你操作将会在下次系统启动的时候完成,按回车键忽略该消息。

4.按两次Tab键使Exit菜单高亮,按回车键退出raspi-config。

5.输入sudo reboot重启系统,根据需要调整分区大小,这次的启动时间要比平常时间长。大小调整之后,以后启动的时候就不会再调整了,启动时间也会和以前一样了。

当树莓派重启后,根分区现在已经可以使用SD卡所能允许的最大容量了,你可以在终端中输入df -h查看所有存储设备的剩余容量。

换用大容量SD卡

如果你使用树莓派有一段时间了,你会发现4GB的SD卡实在是不能满足你的需要,你也许会买张8GB、16GB或更大容量的卡,但是原有卡上的文件你也还想继续保留。谢天谢地,将已有SD卡上的内容克隆到新买的大容量SD卡上去的过程非常简单直接。你不需要再下载系统镜像,有原来的SD卡就够了。警告克隆SD卡的内容不会损坏你的数据,克隆之后两张卡上拥有完全相同的内容。如果旧卡上你有私人数据像什么私密照之类的,在旧卡销毁或给外人使用前别忘了清除。

在Linux下创建SD卡镜像

在Linux下创建SD卡镜像非常简单。开始前,保证你的电脑硬盘上有足够的空间来存放SD卡镜像。然后按下述步骤操作:

1.打开终端。

2.将你的树莓派的SD卡插入到电脑的读卡器上去。

3.输入sudo fdisk查看磁盘列表。根据显示的容量大小找到SD卡(名字通常是/dev/sdbX,对于一些内置的SD卡,这里可能显示为/dev/mmcblkX,这里的X对应你电脑上相应的设备编号)。

4.输入sudo dd of=temporaryimage.img if=/dev/sdX bs=2M 来读取 SD 卡中的内容并写入到temporaryimage • img文件中。

发表评论