17. 硬盘挂载

本章节讲述一下,鲁班猫系列板卡的硬盘挂载

17.1. 查看硬盘

17.1.1. lsblk

列出所有可用块设备的信息,显示他们之间的依赖关系

1
lsblk

如下图

未找到图片05|
  • 如上图: 文本的左边列出了所有可用块的信息,文本的最右边是当前硬盘的挂载的位置。

  1. 可以看到当前的可用块有5个,分别是sda,sdb,mmcblk0,mmcblk0boot0,mmcblk0boot1

  2. mmcblk0boot0和mmcblk0boot1是mmcblk0的一些信息,在lsblk中可以看到是只读的,我们就不用把这个当成可用块来使用。

  3. sda是一个msata硬盘,不支持热插拔,RM=0,大小是16G的,换算到系统里是14.8G,可读可写,只有一个分区就是sda1,被挂载到了/root/test_blk上。

  4. sdb是一个u盘,支持热插拔,RM=1,大小32G,换算到系统里是28.7G,可读可写,只有一个分区就是sdb1,没有被挂载。

  5. mmcblk0是板载emmc,不支持热插拔,RM=0,大小32G,换算到系统是29.1G,可读可写,有三个分区:mmcblk0p1是uboot以及系统引导相关的分区,大小为4M; mmcblk0p2是boot分区,存放内核,设备树,配置文件等的分区,被挂载到了/boot分区上;mmcblk0p3是根文件的分区,存放根文件系统,被挂载到/(根目录下的)

17.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还可以修改硬盘的配置,具体方法这里不讲述,可以自行去了解

17.1.3. sd卡

sd卡的信息和emmc是差不多的,他们使用同一个类型的驱动,sd卡在鲁班猫RK356x系列的系统里的默认设备是/dev/mmcblk1,sd卡有点特别, 在lsblk内显示是不可移动的,可能是因为sd卡可以作为系统镜像来启动鲁班猫,所以没有将sd卡标志为可移动设备。

分区号为/dev/mmcblk1p#(#为1,2,3,4,5,6,7)

17.1.4. U盘

U盘在鲁班猫RK356x系列的系统里的默认设备是/dev/sdx(x为a,b,c,d,e…),这需要根据你安装设备数量来决定他的设备号。 在lsblk中会显示该设备是可移动的设备。

分区设备号为/dev/sdx#(x为a,b,c,d,e…)(#为1,2,3,4,5,6,7)

17.1.5. sata硬盘

sata硬盘在鲁班猫RK356x系列的系统里的默认设备是/dev/sdx(x为代表a,b,c,d,e…),这需要根据你安装设备数量来决定他的设备号。

分区设备号为/dev/sdx#(x为a,b,c,d,e…)(#为1,2,3,4,5,6,7)

17.1.6. nvme硬盘

nvme硬盘在鲁班猫RK356x系列的系统里的默认设备是/dev/nvme0n1

分区设备号为/dev/nvme0n1p#(#为1,2,3,4,5,6,7)

17.2. 手动挂载

17.2.1. 挂载硬盘

  • 比较基础的命令

1
2
3
4
5
#创建你要挂载到的文件夹(如果有自己要挂载的文件夹可以不用创建)
mkdir /mnt/mydir

#挂载硬盘
mount /dev/xxx /mnt/mydir
  • /dev/xxx是你硬盘的分区设备

  • /mnt/mydir是你要挂载的文件夹,因为常用的文件夹挂载的地方为/mnt或/media,所以这里在/mnt/mydir挂载硬盘。

mount的功能十分丰富,这里只是简单讲一下mount的基本用法,如果有需要可以自行查找mount的具体用法

17.2.2. 卸载硬盘

1
umount /mnt/mydir
  • /mnt/mydir是你已挂载的文件夹,可以用lsblk查看

17.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”等

  • 02 分别是备份和检查顺序

17.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一样的功能,这里就不过多赘述了