[Linux服务器] Linux常用技巧:挂载存储设备

678 0
Honkers 2025-8-12 11:18:26 | 显示全部楼层 |阅读模式

目录

🍅点击这里查看所有博文

  随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记下来。存在很多在特殊情况下有一点用处的技巧,用的不多的技巧可能一个星期就忘了。

  想了很久想通过一些手段把这些事情记录下来。也尝试过在书上记笔记,这也只是一时的,书不在手边的时候那些笔记就和没记一样,不是很方便。

  很多时候我们遇到了问题,一般情况下都是选择在搜索引擎检索相关内容,这样来的也更快一点,除非真的找不到才会去选择翻书。后来就想到了写博客,博客作为自己的一个笔记平台倒是挺合适的。随时可以查阅,不用随身携带。

  同时由于写博客是对外的,既然是对外的就不能随便写,任何人都可以看到。经验对于我来说那就只是经验而已,公布出来说不一定我的一些经验可以帮助到其他的人。遇到和我相同问题时可以少走一些弯路。

  既然决定了要写博客,那就只能认真去写。不管写的好不好,尽力就行。千里之行始于足下,一步一个脚印,慢慢来 ,写的多了慢慢也会变好的。权当是记录自己的成长的一个过程,等到以后再往回看时,就会发现自己以前原来这么菜😂。

  本系列博客所述资料均来自互联网,并不是本人原创(只有博客是自己写的)。出于热心,本人将自己的所学笔记整理并推出相对应的使用教程,方面其他人学习。为国内的物联网事业发展尽自己的一份绵薄之力,没有为自己谋取私利的想法。若出现侵权现象,请告知本人,本人会立即停止更新,并删除相应的文章和代码。

前言

  挂载指的是将硬件设备的文件系统和 Linux 系统中的文件系统,通过指定目录(作为挂载点)进行关联。

  简单来说,可以理解为创建了一个连接磁盘分区和文件系统的通道,我们访问某个目录,就相当于进入到磁盘内部进行访问,类似于软连接。

  任何外接的设备都需要挂载才可以使用,包括但不限于sd卡,硬盘,u盘等等。本文就是针对sd卡的一个挂载示例,通过接入一张sdcard演示该如何挂载一个外接的存储设备。

查看接入设备

  通过lsblk查看可用存储设备、磁盘分区等相关信息,找到接入全部存储设备名称。

  在接入设备之前查询一下lsblk的结果,然后接入设备后再次执行对比差异即可。示例中接入一张sdcard,通过对比lsblk结果可知新增的设备节点是mmcblk2

  1. root@debian-minix:~# lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
  3. mmcblk0 179:0 0 58.2G 0 disk
  4. ├─mmcblk0p1 179:1 0 512M 0 part /boot/efi
  5. ├─mmcblk0p2 179:2 0 56.8G 0 part /
  6. └─mmcblk0p3 179:3 0 976M 0 part [SWAP]
  7. mmcblk0boot0 179:256 0 4M 1 disk
  8. mmcblk0boot1 179:512 0 4M 1 disk
  9. # 接入sdcard
  10. root@debian-minix:~# lsblk
  11. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
  12. mmcblk0 179:0 0 58.2G 0 disk
  13. ├─mmcblk0p1 179:1 0 512M 0 part /boot/efi
  14. ├─mmcblk0p2 179:2 0 56.8G 0 part /
  15. └─mmcblk0p3 179:3 0 976M 0 part [SWAP]
  16. mmcblk0boot0 179:256 0 4M 1 disk
  17. mmcblk0boot1 179:512 0 4M 1 disk
  18. mmcblk2 179:768 0 58.2G 0 disk
  19. └─mmcblk2p1 179:769 0 58.2G 0 part
复制代码

挂载设备

创建挂载目录

  使用mkdir /mnt/sdcard命令,在存储挂载设备目录中创建一个文件夹用于挂载硬盘。

  1. root@debian-minix:~# ls /mnt
  2. root@debian-minix:~# mkdir /mnt/sdcard
  3. root@debian-minix:~# ls /mnt
  4. sdcard
复制代码
挂载设备

  挂载设备需要使用mount指令,其格式如下:

  1. mount [-t vfstype] [-o options] device dir
  2. - vfstype:指定文件系统的类型,通常不必指定,mount 会自动选择正确的类型
  3. - options:主要用来描述设备或档案的挂载方式
  4. - device:要挂载的设备
  5. - dir:设备在文件系统上的挂载点
复制代码

  使用mount /dev/mmcblk2 /mnt/sdcard挂载设备。挂载的设备就是前面查询的结果,不要照抄。

  若出现下列报错,可能是存储设备的分区格式不支持,需要格式化设备。

  1. root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
  2. mount: /mnt/sdcard: wrong fs type, bad option, bad superblock on /dev/mmcblk2, missing codepage or helper program, or other error.
  3. dmesg(1) may have more information after failed mount system call.
复制代码

  选择自己需要的文件系统,我这里选择将存储设备格式化为ext4文件系统。使用mkfs.ext4 /dev/mmcblk2格式化存储设备。

  1. root@debian-minix:~# mkfs.ext4 /dev/mmcblk2
  2. mke2fs 1.47.0 (5-Feb-2023)
  3. Found a dos partition table in /dev/mmcblk2
  4. Proceed anyway? (y,N) y
  5. Discarding device blocks: done
  6. Creating filesystem with 15267328 4k blocks and 3817472 inodes
  7. Filesystem UUID: a5fbebbf-481d-4f79-a087-847c664bfb70
  8. Superblock backups stored on blocks:
  9. 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
  10. 4096000, 7962624, 11239424
  11. Allocating group tables: done
  12. Writing inode tables: done
  13. Creating journal (65536 blocks):
  14. done
  15. Writing superblocks and filesystem accounting information: done
复制代码

  再次执行挂载动作,正确的挂载不会有任何提示。我们可以尝试在挂载目录下创建一个文件。紧接着取消挂载,查看目录内文件是否消失。随后再次挂载,查看目录内文件是否出现。

  1. root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
  2. root@debian-minix:~# ls /mnt/sdcard/
  3. lost+found
  4. root@debian-minix:~# touch /mnt/sdcard/test.txt
  5. root@debian-minix:~# ls /mnt/sdcard/
  6. lost+found test.txt
  7. root@debian-minix:~# umount -v /dev/mmcblk2
  8. umount: /mnt/sdcard (/dev/mmcblk2) unmounted
  9. root@debian-minix:~# ls /mnt/sdcard/
  10. root@debian-minix:~# mount /dev/mmcblk2 /mnt/sdcard
  11. root@debian-minix:~# ls /mnt/sdcard/
  12. lost+found test.txt
复制代码

  也可使用df -hT查看挂载的磁盘信息。

  1. root@debian-minix:~# df -hT
  2. Filesystem Type Size Used Avail Use% Mounted on
  3. udev devtmpfs 1.8G 0 1.8G 0% /dev
  4. tmpfs tmpfs 372M 1.3M 371M 1% /run
  5. /dev/mmcblk0p2 ext4 56G 5.9G 47G 12% /
  6. tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
  7. tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
  8. /dev/mmcblk0p1 vfat 511M 6.1M 505M 2% /boot/efi
  9. overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/b47e58826cee1f2b01032976b050f3764aed611d8135f4bac0daa26fc960fc8e/merged
  10. overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/a7243500f935625400bcbdade6328ae6b9eedda08b37966c6597992572764a5f/merged
  11. overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/f4aecedc48a00ccd765730a1ece83aeb020b66a558590ba1687e995b777391b2/merged
  12. overlay overlay 56G 5.9G 47G 12% /var/lib/docker/overlay2/66d191bb4c9fe1df52e38ac9cb40646358d52f80fa52b9efbc5bff138d1e8b4b/merged
  13. tmpfs tmpfs 372M 0 372M 0% /run/user/1000
  14. /dev/mmcblk2 ext4 58G 24K 55G 1% /mnt/sdcard
复制代码

开机自动挂载

  挂载的存储设备,在重启系统后会失效,所以需要设置开机启动自动挂载硬盘。输入**blkid /dev/mmcblk2 **找到硬盘UUID和文件系统格式。

  1. root@debian-minix:~# blkid /dev/mmcblk2
  2. /dev/mmcblk2: UUID="a5fbebbf-481d-4f79-a087-847c664bfb70" BLOCK_SIZE="4096" TYPE="ext4"
复制代码

  编辑**/etc/fstab**磁盘挂载配置文件,将下面的指令添加到文件的最后一行中。两条指令任选一条即可。

  1. /dev/mmcblk2 /mnt/sdcard ext4 defaults 0 2
复制代码
  1. UUID=a5fbebbf-481d-4f79-a087-847c664bfb70 /mnt/sdcard ext4 defaults 0 2
复制代码

  那么本篇博客就到此结束了,这里只是记录了一些我个人的学习笔记,其中存在大量我自己的理解。文中所述不一定是完全正确的,可能有的地方我自己也理解错了。如果有些错的地方,欢迎大家批评指正。如有问题直接在对应的博客评论区指出即可,不需要私聊我。我们交流的内容留下来也有助于其他人查看,说不一定也有其他人遇到了同样的问题呢😂。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2026 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行