12. 硬盘挂载¶
本章节讲述一下,鲁班猫系列板卡的硬盘挂载
12.1. 查看硬盘¶
12.1.1. lsblk¶
列出所有可用块设备的信息,显示他们之间的依赖关系
1 | lsblk
|
如下图

如上图: 文本的左边列出了所有可用块的信息,文本的最右边是当前硬盘的挂载的位置。
可以看到当前的可用块有5个,分别是sda,sdb,mmcblk0,mmcblk0boot0,mmcblk0boot1
mmcblk0boot0和mmcblk0boot1是mmcblk0的一些信息,在lsblk中可以看到是只读的,我们就不用把这个当成可用块来使用。
sda是一个msata硬盘,不支持热插拔,RM=0,大小是16G的,换算到系统里是14.8G,可读可写,只有一个分区就是sda1,被挂载到了/root/test_blk上。
sdb是一个u盘,支持热插拔,RM=1,大小32G,换算到系统里是28.7G,可读可写,只有一个分区就是sdb1,没有被挂载。
mmcblk0是板载emmc,不支持热插拔,RM=0,大小32G,换算到系统是29.1G,可读可写,有三个分区:mmcblk0p1是uboot以及系统引导相关的分区,大小为4M; mmcblk0p2是boot分区,存放内核,设备树,配置文件等的分区,被挂载到了/boot分区上;mmcblk0p3是根文件的分区,存放根文件系统,被挂载到/(根目录下的)
12.1.2. fdisk¶
fdisk可以查看硬盘的一些基本信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #列出硬盘或者分区的基本信息
fdisk [options] -l [<disk>]
#修改硬盘或者分区的信息(自己去了解)
fdisk [options] [<disk>]
例子如下图
root@lubancat:~/rt-tests# fdisk -l /dev/mmcblk0
Disk /dev/mmcblk0: 29.13 GiB, 31272730624 bytes, 61079552 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: D9500000-0000-4945-8000-362C000010D3
Device Start End Sectors Size Type
/dev/mmcblk0p1 16384 24575 8192 4M unknown
/dev/mmcblk0p2 24576 286719 262144 128M unknown
/dev/mmcblk0p3 286720 61079487 60792768 29G unknown
root@lubancat:~/rt-tests#
|
可以看到emmc的一些基本信息
fdisk还可以修改硬盘的配置,具体方法这里不讲述,可以自行去了解
12.1.3. sd卡¶
sd卡的信息和emmc是差不多的,他们使用同一个类型的驱动,sd卡在鲁班猫RK3562/RK3566/RK3568系列的系统里的默认设备是/dev/mmcblk1,sd卡有点特别, 在lsblk内显示是不可移动的,可能是因为sd卡可以作为系统镜像来启动鲁班猫,所以没有将sd卡标志为可移动设备。
分区号为/dev/mmcblk1p#(#为1,2,3,4,5,6,7)
12.1.4. U盘¶
U盘在鲁班猫RK3562/RK3566/RK3568系列的系统里的默认设备是/dev/sdx(x为a,b,c,d,e…),这需要根据你安装设备数量来决定他的设备号。 在lsblk中会显示该设备是可移动的设备。
分区设备号为/dev/sdx#(x为a,b,c,d,e…)(#为1,2,3,4,5,6,7)
12.1.5. sata硬盘¶
sata硬盘在鲁班猫RK3562/RK3566/RK3568系列的系统里的默认设备是/dev/sdx(x为代表a,b,c,d,e…),这需要根据你安装设备数量来决定他的设备号。
分区设备号为/dev/sdx#(x为a,b,c,d,e…)(#为1,2,3,4,5,6,7)
12.1.6. nvme硬盘¶
nvme硬盘在鲁班猫RK3562/RK3566/RK3568系列的系统里的默认设备是/dev/nvme0n1
分区设备号为/dev/nvme0n1p#(#为1,2,3,4,5,6,7)
12.2. 手动挂载¶
12.2.1. 挂载硬盘¶
比较基础的命令
1 2 3 4 5 6 7 | #创建你要挂载到的文件夹(如果有自己要挂载的文件夹可以不用创建)
mkdir /mnt/mydir
#挂载硬盘
mount /dev/xxx /mnt/mydir
#例如
mount /dev/sda1 /mnt/mydir
|
/dev/xxx是你硬盘的分区设备
/mnt/mydir是你要挂载的文件夹,因为常用的文件夹挂载的地方为/mnt或/media,所以这里在/mnt/mydir挂载硬盘。
若是exFAT格式的硬盘,则需要按以下操作:
1 2 3 4 | #安装相关工具
sudo apt-get install exfat-utils exfat-fuse
#挂载硬盘,用-t参数指定格式
mount /dev/sda1 -t exfat /mnt/mydir/
|
挂载成功后可以用 lsblk
命令查看:

mount的功能十分丰富,这里只是简单讲一下mount的基本用法,如果有需要可以自行查找mount的具体用法
12.2.3. fstab自动挂载(设备分区)¶
注解
这种方法适合存储设备单一,硬盘设备号不变的自动挂载
1 2 | #修改/etc/fstab文件
vi /etc/fstab
|
1 2 3 | #添加以下内容
/dev/sdx /mnt/mydir auto defaults 0 2
|
/dev/sdx 是要挂载的硬盘分区
/mnt/mydir 是要挂载的文件夹
auto 要挂载的硬盘分区的文件系统格式,”auto”是自动判断文件按系统格式,除此之外还有”ext4”,”ntfs”等
defaults 配置文件的模式,”defaults”是默认选项,除此之外还有”mode=1777”,”rw,noauto”等
0 和 2 分别是备份和检查顺序
12.2.4. fstab自动挂载(UUID)¶
注解
这种方法适合存储设备多且存储设备号会随时改变的情况
UUID是”Universally Unique Identifier”(通用唯一标识符)的缩写。它是一个用于唯一标识计算机系统中各种资源(如磁盘、分区、文件、目录等)的标识符。
UUID是一个128位的数字标识符,通常以16进制表示。它的目的是在不同的系统和环境中保持唯一性,避免冲突和重复。每个UUID都应该是唯一的,即使在不同的计算机或网络中也是如此
1 2 3 4 5 | #方法1:列出硬盘分区的UUID
lsblk -o NAME,UUID
#方法2:列出硬盘分区的UUID
blkid
|
获取你硬盘分区的UUID
1 2 | #修改/etc/fstab文件
vi /etc/fstab
|
1 2 3 | #添加以下内容
UUID=xxxxx /mnt/mydir auto defaults 0 2
|
注解
除了UUID,PARTUUID也有着和UUID一样的功能,这里就不过多赘述了