这几天读到TLCL-Storage Media一节,不由的想要折腾一下U盘,一直以来U盘只是被拿来暂存数据,其内部有没有文件系统,数据怎么管理,那是从来也不清楚,本文就依葫芦画瓢,折腾下手中的Kingston U盘

注:本文非教程,仅学以致乐。

初探

先看看U盘接受windows格式化以后的样子,这应该是我们对付U盘最常用的一招:一言不合,格之。

不同于Ubuntu/Win等桌面发行版本,服务器型(非图形化的系统?)的linux系统通常不主动挂载U盘,因此当U盘插入树莓派后,命令行是不会有任何提示的,那我们如何知道U盘是否被系统所识别呢?

那就只能查看系统日志信息了,当有硬件设备被系统识别时,是会在日志中留下痕迹的,两种查看方式:

直接翻看最末尾的日志缓存

使用日志命令查看最后输出的信息

可以看到,系统识别出来了Kingston U盘,并识别为文件sda,该文件内只有一个磁盘分区为sda1.

除了查看日志以外,由于插入的是USB设备,还可以使用lsusb/lsblk来查看设备信息,U盘拔插前后,会发现

是新增的blk,对应的就是Kingston U盘。

图中的sda只是系统识别到的一个设备文件,但并没有挂载在系统的目录树中,默认不可访问,我们可以使用fdisk来详细的查看sda的文件信息。

采用dos分区表,即MBR,文件系统为fat32,单个分区,最小扇区为512字节。

创建分区

初始化分区表

进行分区的前提是磁盘已经有了分区表,考虑到MBR已经是非常古老的分区表,此处尝试在U盘上使用新的GPT分区表:

在gdisk命令模式下,输入o指令,删除磁盘上的所有分区,并将U盘默认的msdos分区表改为gpt分区表,此时再输入p指令,磁盘中已没有分区信息。

注:图中有行提示信息:

This option deletes all partitions and creates a new protective MBR.

Proceed? (Y/N): Y

有的旧MBR工具无法识别新的GPT分区表,为防止被当作未分区盘,在磁盘前面创建受保护的MBR以跳过MBR工具的误识别。

创建子分区

此处依葫芦画瓢,参照《鸟哥的linux私房菜》第七章,创建三个子分区,类型分别为 8300 Linux filesystem/0700 Microsoft basic data/8200 Linux swap.

创建第一个分区:

因为磁盘无任何分区,第一次创建,默认为分区1,起始扇区号选择默认,终止扇区选择5G空间的地址扇区,类型默认为linux文件系统。

继续创建第二个分区:

此时默认为分区2,起始扇区号选择默认(即分区1后的第一个扇区),终止扇区选择9G空间的地址扇区,类型通过L指令查询后,选择为Windows文件系统。

最后创建第三个分区:

创建完成后,U盘此时的分区表现如下:

除了形态上为一个U盘,磁盘分区划分是不是很像电脑内置磁盘。

最后,别忘了输入w保存设置。

再使用lsblk查看下我们的磁盘的新划分情况

此时磁盘的三个分区已经被系统检测到,但是默认依然未挂载,所以第四列的MOUNTPOINT为空。

创建文件系统

写在前面:创建文件系统时,我曾试过在分区1创建vfat文件系统,且依然能够被系统正常识别,因此纳闷:创建分区时需要输入分区类型,而在分区上创建文件系统时,也需要指定文件系统类型,这两者有啥关联影响?

截取一段网友的回复,个人认为解释的比较合理。

为分区1创建xfs文件系统

当前使用的raspberry 系统默认不支持创建xfs类型,需先安装xfs工具 sudo apt install xfsprogs

为分区2创建vfat文件系统

为分区3创建swap分区

创建swap分区就得用mkswap命令来创建了。

挂载U盘分区

分区创建好,文件系统创建好,接下来就需要将分区挂载在系统目录上了,这样才能对磁盘进行数据访问。

文件系统挂载

先创建两个空文件夹,然后使用mount命令挂载,最后使用df(device free)命令查看挂载的设备信息详情。

此时我们就可以对分区进行数据读取操作了,在应用层看来,flash/u1 flash/u2只是两个普通文件夹,并不需要关心其背后关联的是U盘的两个分区。

swap分区挂载

swap分区还是特立独行,使用独有的命令进行操作。

小测试-比较分区数据的传输速率

本测试使用强大的dd命令,大致测试手段为:拷贝一个256MB的文件到分区中,比较两个不同文件系统分区的传输速率。

初略来看,使用mkfs的默认配置创建的两个分区中,xfs在此kingston U盘上的表现要优于vfat。

u盘第一扇区 分区表_linux下给U盘分区制作文件系统相关推荐

  1. u盘第一扇区 分区表_备份U盘分区表,未雨绸缪

    有时候,由于操作不当将U盘或者移动硬盘插入到电脑的时候会变成RAW格式,不可读取,这样的话就杯具了,只能用恢复软件试试看. 但是,如果一开始进行了备份的话,处理起来就简单多了. 用winhex打开U盘 ...

  2. U盘和存储卡实际上可以轻松的创建隐藏分区制作PE启动盘

    U盘和存储卡实际上可以轻松的创建隐藏分区制作PE启动盘 我们需要准备的文件和工具仅两部分 1. BOOTICE-0.7.8工具 2. 我们所需要的正确的Win PE文件以及启动引导文件 如下图,我们准 ...

  3. 如何在linux中使用u盘,如何在Linux系统下使用U盘

    如何在Linux系统下使用U盘 Linux系统中U盘被视为SCSI设备, SCSI设备对应的设备文件格式为"sdX" 系统中的第一个SCSI设备表示"sda", ...

  4. linux挂载u盘显示目录忙,linux下挂载u盘及iso8859-1 not found错误解决

    1: 在控制台状态下输入如下命令: fdisk -l /dev/sd* 2: 在/mnt目录下建立一个挂装USB存储器的目录: mkdir /mnt/udisk 3: 然后再运行装载设备命令,将USB ...

  5. linux qt 获取u盘名称,QT windows平台下获取U盘 QComboBox显示U盘盘符

    在windows平台下获取U盘信息,可以调用windows API函数比较方便.本来想用qt 来写的,网上关于这方面的代码比较多,但按照提示的步骤来写的就是无法编译,我也不知道为什么.如果有知道的朋友 ...

  6. linux如何进u盘 命令,如何在linux下使用u盘

    如何在linux下使用u盘 发布时间:2008-09-08 17:09:38   作者:佚名   我要评论 其实使用U盘也是一件简单的事情: 1.首先你要成为root用户. 2.然后 cd  /mnt ...

  7. linux系统加载u盘的服务,Linux系统下挂载U盘的方法

    挂u盘之前,运行命令cat /proc/partitions,看看现在系统中有哪些分区.插上u盘以后,再次运行上述命令,看看多出来什么分区(通常是sda1,PS由于偶是在虚拟机下装的,所以是sdb1) ...

  8. emmc linux 识别分区_linux下给U盘分区并制作文件系统

    初探 不同于Ubuntu/Win等桌面发行版本,服务器型(非图形化系统)的linux系统通常不主动挂载U盘,因此当U盘插入后是不会有任何提示的,那我们如何知道U盘是否被系统所识别呢? 那就只能查看系统 ...

  9. guid linux 识别的分区表_Linux系统MBR和GPT分区的区别介绍

    主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节.它包含操作系统的引导器和存储设备的分区表. 全局唯一标识分区表(GUID Partition Tab ...

最新文章

  1. HDU5154拓扑排序模版题
  2. 一幅画十六芒星盾---程序员or艺术家
  3. mysql使用shell脚本部署_shell脚本部署mysql主从
  4. vivado环境下实现比较器
  5. Java安全编码之用户输入
  6. artTemplate 简介语法模板
  7. 简练软考知识点整理-估算成本过程
  8. Spring IOC容器和获取组件对象源码分析
  9. ESP32开发 3.bat批处理文件,批量删除编译后的build文件夹,方便Git上传分享
  10. C++类成员函数的传参问题
  11. Confluence 6 数据库 JDBC 驱动
  12. 安装Genymotion步骤,启动模拟器时显示CPU不支持虚拟化—解决方法:惠普主机开启VT虚拟化CPU
  13. Java核心技术卷1基础知识课程-专题视频课程
  14. wireless 大作业 linux,Wire/Wireless Network Configuration in Linux
  15. 计算机应用班级口号,适用于班级的口号大全
  16. Log4j史诗级漏洞,从原理到实战,只用3个实例讲明白
  17. 人工智能对商业影响深远,AI可以为中小企业提供五大优势
  18. “日不落”的大学数据库原理课程设计——机票预订信息系统
  19. GateWay的Filter
  20. 【JavaScript】内容的展开/收起

热门文章

  1. 安卓开发 - 安卓数据库和SharedPreferences图形化管理工具/GUI工具 - Android Debug Database - 开源工具
  2. 湖北武汉材料员报考砼的施工前中后的质量把控建筑七大员报考
  3. win10右下角声音符号红叉提示解决未安装任何音频输出设备
  4. html js写法,js判断写法.html
  5. 教程:让你的网速提高4倍
  6. 深度学习: one-stage/two-stage/multi-stage 目标检测算法
  7. 2020最新大厂内部 PHP 高级工程师面试题汇总(一)
  8. JASS代码加翻译更新(第十一)
  9. 一些黑防的VIP教程,绝对可下,迅雷下载
  10. JavaScript代码 在项目中高效、快速开发