树莓派学习笔记 篇三:树莓派4B 与移动存储设备的那些事儿

2019-11-24 23:03:55 40点赞 284收藏 14评论

本文是「树莓派学习笔记」系列的第三篇,将学习下 Linux 系统分区的基础知识,在树莓派上如何挂载与卸载外接的移动存储设备,不同分区格式的硬盘速度测试以及如何在一张 TF 卡上实现多系统启动。

1.SD 卡与 TF 卡

内存卡是生活中很常见的一种存储设备,之前常常分不清楚 SD 卡和 TF 卡的区别,SD 卡是 Secure Digital Card 的英文缩写。TF 卡是 T-Flash 卡,被 SD 协会(SDA)采用之后,更名为 MicroSD ,此外移动存储设备还有 U 盘、移动硬盘等等,以下对 SD 和TF 不做严格区分。

树莓派4B 与移动存储设备的那些事儿

2.Linux 分区

在树莓派4B 中插入 USB 存储设备后,它将自动被挂载到 /media/<user>/<label>下。桌面会显示存储设备的图标,在文件浏览器里可以看到 U盘自动挂载在 /media/pi 目录下,可以用 ls /media/pi/SANDISK32GB/ 命令查看U盘中的文件。

树莓派4B 与移动存储设备的那些事儿

在 Linux 看来,任何硬件设备也都是文件,所有文件都放置在以根目录为树根的树形目录结构中。根目录下的 /dev 目录文件负责所有的硬件设备文件,无论是装系统的 TF 卡还是外接的移动存储设备,都可以在 /dev 目录下查询到。

树莓派4B 与移动存储设备的那些事儿

当在 Linux 系统中使用这些硬件设备时,只有将 Linux 本身的文件目录与硬件设备的文件目录合二为一,硬件设备才能为我们所用。合二为一的过程称为「挂载」。如果不挂载,通过 Linux 系统中的图形界面系统可以查看找到硬件设备,但命令行方式无法找到。当 U 盘插入 Linux 后,系统会给 U盘分配一个目录文件(比如 sda1),就位于 /dev 目录下(/dev/sda1),但无法通过 /dev/sda1/ 直接访问 U盘数据。

树莓派4B 与移动存储设备的那些事儿

使用 lsblk -f 指令查看当系统的分区情况,可以看到装系统的 TF 卡有两个分区:mmcblk0p1 分区挂载在 /boot 目录下,mmcblk0p2 分区挂载在根目录下。插入的 U盘挂载在 /media/pi/SANDISK32GB 目录下面,只有一个分区 sda1。

mmcblk0p1 代表 MMC卡(SD前身)块设备 0(Block0)第一分区(Peer1)

树莓派4B 与移动存储设备的那些事儿

NAME : 块设备名。

MAJ:MIN : 显示主要和次要设备号。

RM : 显示可移动设备。0表示非移动设备,1表示可移动设备

SIZE : 块设备的容量大小信息。

RO : 该项表明设备是否为只读。0表示非只读,1表示只读

TYPE :块设备类型,比如disk磁盘,part分区,lvm逻辑卷,rom只读存储

MOUNTPOINT : 设备挂载点。

sdx~ 中用 “sd” 来表示分区所在设备的类型(sd 表示 SCSI 硬盘,hd 表示 IDE 硬盘)。“x” 表示盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘)。“~“ 表示分区,前四个分区用数字 1 到 4 表示,他们是主分区或扩展分区,从 5 开始就是逻辑分区。比如 sdb3 表示为第二个 SCSI 硬盘上的第三个主分区或扩展分区。

3.树莓派挂载

上文中提到在树莓派4B 中插入的 U盘默认挂载在 /media/pi/ 目录下面,可以使用 umount 命令先卸载。

树莓派4B 与移动存储设备的那些事儿

可以看到 sda1 挂载点变成空的,图形界面里桌面的硬盘图标也消失了,这时候是无法读取 U盘里的文件内容的。我们在 /home 目录下新建一个 upan 的目录

树莓派4B 与移动存储设备的那些事儿

使用 sudo mount /dev/sda1 /home/upan 将 sda1 挂载到 upan 目录下,这样就可读取 U盘了。

树莓派4B 与移动存储设备的那些事儿

并不是根目录下任何一个目录都可以作为挂载点,由于挂载操作会使得原有目录中文件被隐藏,因此根目录以及系统原有目录都不要作为挂载点,会造成系统异常甚至崩溃,挂载点最好是新建的空目录。

这样挂载的 U盘只有读权限,没有写和执行的权限,sudo chmod +x 也不起任何作用,是无法拷入文件或者执行 U盘里的程序的。

挂载 FAT32 格式的硬盘:vfat 就是 Windows 系统中的 FAT32 格式,mount 本身就能支持,如果想要读写的话,挂载 U盘要加一些参数:sudo mount -o rw /dev/sda1 /home/upan, -o 表示后面跟随选项,rw 是读写,这种写法是 root 用户有读写权限,如果当前用户是 pi,则这个 upan 目录是不能写入的。因为 mount 命令是用 root 用户身份执行的,没有定义用户 pi 的读写权限。sudo mount -o uid=pi,gid=pi /dev/sda1 /home/upan,uid = pi,gid = pi 指定为用户 “pi”,组标识为 “pi”,则用户 pi 可读写。

树莓派4B 与移动存储设备的那些事儿

挂载 exFAT 格式的硬盘:如果你的 U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。需要安装下 exfat-fuse 软件 sudo apt-get install exfat-fuse。

挂载 NTFS 格式的硬盘:默认挂载 NTFS 格式的硬盘只有只读权限,需要先安装所需软件包 sudo apt-get install ntfs-3g,然后加载内核模块 modprobe fuse ,重新插拔移动硬盘就可以读写了。

4.fstab 自动挂载

用命令行挂载重启后会失效,通过修改 /etc/fstab 可以实现永久挂载。

树莓派4B 与移动存储设备的那些事儿

fstab 文件结构如下:

# <device> <dir> <type> <options> <dump> <fsck>

/dev/sda1 / ext4 noatime 0 1

/dev/sda2 none swap defaults 0 0

/dev/sda3 /home ext4 noatime 0 2

<device>指系统中设备的名称,可以用 lsblk -f 命令查看,proc 设备是一个虚拟设备,并不在磁盘中真实存在,而仅仅存在于内存中,存储有关进程和系统的信息。

<dir>是挂载点,可以自己使用 mkdir 创建一个文件夹作为挂载点。

<type>是分区类型,在 Linux 下面有 ext2,ext3,ext4,jfs,jfs2,reiserfs,reiser4,swap 等,在 Windows 下面有 FAT 和 NTFS 等,这里可以设置成 auto。

<options>是相关的安装选项,noatime – 不更新文件系统上 inode 访问记录,defaults – 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw, suid, dev, exec, auto, nouser, async。对 Windows 下的 NTFS 和 FAT 文件系统,还可以设置 uid=(挂载设备的指定用户 id)、gid=(挂载设备的指定用户群组 id)和 umask=(挂载设备的权限屏蔽)等, umask=0000 表示对所有人可读可写可执行。

<dump>设置是否让备份程序 dump 备份文件系统。此字段通常设置为 0,禁用检查。

<fsck>设置启动时文件系统检查的顺序。对于根设备应该是 1,对于其他分区应该是 2,或 0 禁用检查。

我们在 fstab 文件末尾加入’ /dev/sda1 /home/upan vfat defaults,noatime 0 0 ’来实现开机自动挂载 U盘。<type>视你的挂载设备而定, vfat 就是 Windows 系统中的 FAT32 格式,用树莓派挂载移动硬盘做 NAS 一般用 ntfs 格式,不确定类型可以设置成 auto。

有的时候把外接的存储设备拔掉后,开机会无法正常引导进入系统,原因是开机时未找到 fstab 中指定的硬盘而报错。可以设置 nofail 选项,这样外部设备在插入时挂载,在未插入时忽略,启动时若设备不存在直接忽略它而不报错。将命令修改为‘ /dev/sda1 /home/udisk auto defaults,nofail,x-systemd.device-timeout=1,noatime,umask=0000 0 0 ’这样不管 boot 阶段有没有接入移动硬盘,都能正常启动,而且你设置的挂载不会失效。不过这样的话插入树莓派的 U盘在图形界面的桌面上不会有硬盘图标,只能打开文件管理器访问。

5.树莓派磁盘速度测试

安装测试磁盘速度的软件:sudo apt-get install hdparm

查看下三个要测试的磁盘设备:lsblk -f,其中 mmcblk0 为装系统的 TF 卡(ext4 格式),sda1 为外接的闪迪 32GB U盘(vfat格式),sdb2 为外接的东芝 1T 移动硬盘(ntfs)。

树莓派4B 与移动存储设备的那些事儿

测试本地 TF 卡(ext4 格式)的读写速度:sudo hdparm -Tt /dev/mmcblk0 dd count=50 bs=1M if=/dev/zero of=~/test.img

树莓派4B 与移动存储设备的那些事儿

测试外接 U盘(vfat 格式)的读写速度:sudo hdparm -Tt /dev/sda1 dd count=50 bs=1M if=/dev/zero of=/meida/udisk/test.img

树莓派4B 与移动存储设备的那些事儿

测试外接移动硬盘(ntfs 格式)的读写速度:sudo hdparm -Tt /dev/sdb1 dd count=50 bs=1M if=/dev/zero of=/media/pi/yingpan/test.img

树莓派4B 与移动存储设备的那些事儿

从上述三个硬盘读取速度测试可以看出 ntfs 格式的磁盘速度最低,Linux 读写 NTFS 效率差,ext4 格式读写速度能甩 ntfs 几条街。

6.多系统启动

BerryBoot 是一款基于树莓派的启动管理工具,在树莓派上安装 BerryBoot 的 multi-boot manager 可使在一张 SD 卡上实现多系统的选择启动,省去更换不同系统 SD 卡的繁琐。首先是在电脑上安装 BerryBoot 到经过 FAT 格式格式化过的 SD 卡中,软件自带了一些树莓派支持的系统,点击 Add OS 选择相应的系统就自动下载安装了。

树莓派4B 与移动存储设备的那些事儿

当你安装 BerryBoot 中自带的镜像 Linux 系统版本时只需要点击确认即可。如果你想手动添加系统到 BerryBoot系统启动项中,需要先用 SquashFS 编译这个 Linux 系统并获得它的镜像文件 .IMG,详细过程见这篇文章使用BerryBoot使树莓派支持多系统启动 。多个系统都安装完成之后,树莓派开机后会出现 BerryBoot menu,通过键盘鼠标就可以选择要启动的系统版本了。

以上就是树莓派上关于移动存储设备的挂载相关问题了,都是些 Linux 的基本知识,我只是照着网上各种教程实际在树莓派4B 上操作了一番,分享给大家。下一篇文章中将介绍树莓派的系统备份相关内容,包括全卡备份和压缩备份,感兴趣的点个关注一起学习~

参考

什么是挂载,Linux挂载详解

浅析 fstab 与移动硬盘挂载方法

给树莓派挂载移动硬盘或U盘

展开 收起

贝锐向日葵 控控 A2

贝锐向日葵 控控 A2

768元起

AMD 锐龙5 8600G/8700G主机Ai加速桌面游戏设计渲染DIY组装机

AMD 锐龙5 8600G/8700G主机Ai加速桌面游戏设计渲染DIY组装机

2889元起

Incase City BackPack 13.3英寸双肩电脑包 mini标准款 蓝色

Incase City BackPack 13.3英寸双肩电脑包 mini标准款 蓝色

338元起

IPASON 攀升 DIY台式机(i5-12400F、16GB、512GB、6750GRE 12G)

IPASON 攀升 DIY台式机(i5-12400F、16GB、512GB、6750GRE 12G)

3699元起

BenQ 明基 ScreenBar Halo LED屏幕挂灯 碳咖色

BenQ 明基 ScreenBar Halo LED屏幕挂灯 碳咖色

1049元起

ERGOTRON 爱格升 20点开始:ERGOTRON 爱格升 NX显示器支架

ERGOTRON 爱格升 20点开始:ERGOTRON 爱格升 NX显示器支架

799元起

GIGABYTE 技嘉 其他电脑配件 优惠商品

GIGABYTE 技嘉 其他电脑配件 优惠商品

12799元起

Nintendo 任天堂 amiibo系列 国行 游戏周边配件

Nintendo 任天堂 amiibo系列 国行 游戏周边配件

59元起

Incase 双肩电脑包 Twill苹果MacBookPro联想男女通勤商务时尚旅行大容量背包出差高端电脑包16英寸黑色

Incase 双肩电脑包 Twill苹果MacBookPro联想男女通勤商务时尚旅行大容量背包出差高端电脑包16英寸黑色

899元起

INCASEARC高端电脑背包 苹果华为联想笔记本双肩包通勤包差旅包 16英寸黑色-INCO100683-BLK

INCASEARC高端电脑背包 苹果华为联想笔记本双肩包通勤包差旅包 16英寸黑色-INCO100683-BLK

暂无报价

INCASE商务公文包手提电脑包苹果16英寸MacBook笔记本M2便携单肩斜挎包 【黑色16英寸】-CL55458

INCASE商务公文包手提电脑包苹果16英寸MacBook笔记本M2便携单肩斜挎包 【黑色16英寸】-CL55458

398元起

NORTH BAYOU NB显示器支架臂 电脑支架 显示器底座屏幕支架桌面悬臂显示器支架17-32英寸

NORTH BAYOU NB显示器支架臂 电脑支架 显示器底座屏幕支架桌面悬臂显示器支架17-32英寸

96元起

MIJIA 米家 米家精修螺丝刀套装 24枚升级款

MIJIA 米家 米家精修螺丝刀套装 24枚升级款

99元起

MIJIA 米家 1S IOT版 智能屏幕挂灯 黑色

MIJIA 米家 1S IOT版 智能屏幕挂灯 黑色

220元起

IPASON 攀升 DIY台式电脑(i7-14700KF、RTX4060、16GB D5、512GB)

IPASON 攀升 DIY台式电脑(i7-14700KF、RTX4060、16GB D5、512GB)

6699元起

INCASE数据线耳机充电器便携数码电子配件收纳包小体积大容量防水材质 【黑色】-INTR200734-BLK

INCASE数据线耳机充电器便携数码电子配件收纳包小体积大容量防水材质 【黑色】-INTR200734-BLK

168元起
14评论

  • 精彩
  • 最新
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
284
扫一下,分享更方便,购买更轻松