admin 管理员组

文章数量: 887021

文章目录

  • 一 基础知识【可略】
    • 1.1 sudo权限
    • 1.2 检测USB接口可用状态
  • 二 armbian挂载U盘
    • 2.1 需求
    • 2.2 解决方案
      • 2.2.1 手动挂载
      • 2.2.2 自动挂载
  • 三 armbian取消挂载U盘

一 基础知识【可略】

1.1 sudo权限

  • sudo权限是指在Linux系统中允许普通用户以超级用户(root)权限执行特定的命令或操作的权限。在大多数Linux发行版中,sudo是一个用于授权用户执行特权命令的工具。
  • 通过给予用户sudo权限,系统管理员可以允许普通用户执行需要特权访问的任务,如系统管理、安装软件或修改系统配置文件等。这种方式可以提高系统的安全性,因为只有在需要的时候,普通用户才能获得特权。普通用户在不具备sudo权限时,无法执行特权操作,并且需要使用root账户或者root密码来执行这些操作。
  • sudo权限可以通过将用户添加到sudoers文件中来分配。sudoers文件规定了哪些用户可以使用sudo命令以及可以以哪些命令和参数运行。只有系统管理员可以编辑sudoers文件或通过其他授权方式来分配sudo权限。
  • 通过sudo命令,普通用户可以以root权限或其他授权用户的权限运行命令,只要他们具有相应的sudo权限。在执行命令时,系统可能会要求用户输入他们自己的密码以验证身份。

1.2 检测USB接口可用状态

  1. 打开终端:连接到Armbian设备,打开终端窗口。

  1. 运行lsusb命令:在终端中输入以下命令以列出已连接的USB设备:
    • 输出将显示连接到Armbian设备的USB设备的列表,包括设备的供应商ID和产品ID。
    • 如果USB设备显示在列表中,表示USB接口正常可用。
lsusb
  • 演示:
    root@armbian:~# lsusb
    Bus 001 Device 002: ID ffff:5678 USB Disk 2.0
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    
  • 结果解释:
  1. Bus 001: 这表示USB设备所连接的总线编号,通常会有多个总线,此处为总线1。
  2. Device 002: 这表示该USB设备在总线上的设备编号,此处为设备2。
  3. ID ffff:5678: 这是USB设备的供应商ID和产品ID。在您的情况下,供应商ID为ffff,产品ID为5678。根据提供的ID,我无法确定这个设备的确切制造商或型号,因为ID “ffff” 通常是一个默认值,可能是因为获取不到正确的供应商ID。
  4. USB Disk 2.0: 这是关于连接的USB设备的描述信息,它指示此设备是一个USB Disk 2.0。
  5. Bus 001 Device 001: 这是USB总线的根集线器,它是连接到总线上的USB设备的父节点。
  6. ID 1d6b:0002: 这是USB总线的根集线器的供应商ID和产品ID。供应商ID为1d6b,产品ID为0002。Linux Foundation是一个开源软件组织,它维护了Linux内核,所以这里显示的是Linux Foundation根集线器。
  • Armbian设备连接了一个具有供应商ID ffff和产品ID 5678的USB Disk 2.0设备。

  • 补充:
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 是一个 USB 总线的根集线器。根集线器是 USB 设备连接的起点,它提供了一个物理接口和电源,以使其他 USB 设备能够与计算机进行通信。

  • 这个特定的根集线器由 Linux Foundation 开发,用于支持 USB 2.0 规范。它在 USB 总线上起到扩展和管理 USB 设备的作用。
    具体的作用包括:

    1. 提供 USB 设备连接点:根集线器提供多个 USB 接口,允许您将其他 USB 设备插入到计算机系统中。
    2. 电源管理:根集线器为连接到其接口的 USB 设备提供电源。
    3. 数据传输:根集线器通过 USB 总线传输数据,使连接的 USB 设备能够与计算机之间进行数据交换。
    4. 设备管理:通过根集线器,操作系统可以识别和管理连接的 USB 设备,从而在计算机上启用适当的驱动程序和功能。
  • 总的来说,Linux Foundation 2.0 根集线器是 USB 设备连接的基础,负责提供电源和数据传输功能,以便可以连接其他 USB 设备到计算机系统,并支持操作系统对这些设备的管理和控制。


二 armbian挂载U盘

2.1 需求

  • 需求:arm架构低功耗的armbian系统上,如何正常挂载并使用U盘(文件系统为FAT32)保证中文内容正常显示不乱码?

2.2 解决方案

2.2.1 手动挂载

  • 注意:建议使用root用户权限进行操作,下述步骤在每次启动后都需要手动执行。

  1. 插入 U 盘:首先,将 U 盘插入您的系统。

  1. 显示 U 盘:打开终端,然后使用 lsblk fdisk -l 命令,查看所有的块设备和其分区
    lsblk # 或者 fdisk -l
    
  • 演示
    root@armbian:~# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 1 29.3G 0 disk
    └─sda1 8:1 1 29.3G 0 part
    mmcblk1 179:0 0 29.1G 0 disk
    ├─mmcblk1p1 179:1 0 255M 0 part /boot
    └─mmcblk1p2 179:2 0 28.9G 0 part /
    mmcblk1boot0 179:32 0 4M 1 disk
    mmcblk1boot1 179:64 0 4M 1 disk
    zram0 254:0 0 1.9G 0 disk [SWAP]
    zram1 254:1 0 50M 0 disk /var/log
    
  • 具体解释
    • 该命令展示系统中所有的块设备及其分区信息,块设备通常包括硬盘,SSD和USB驱动等存储设备。
结果说明
sda 8:0 1 29.3G 0 disk这是一个30GB的USB硬盘(sda)
1表示此设备支持删除标记,0表示设备没有只读标记
8:0是该设备的主要和次要设备号。
└─sda1 8:1 1 29.3G 0 part这是该USB硬盘的一个分区(sda1)。它占用了整个USB驱动的30GB空间。
同样,1表示支持删除标记,0表示无只读标记,并且设备号为8:1
mmcblk1 179:0 0 29.1G 0 disk这是一个29.1GB的Flash内存(mmcblk1)一般用于嵌入式系统的存储,这个设备有两个分区。
├─mmcblk1p1 179:1 0 255M 0 part /boot第一个分区是/boot,它是启动分区储存的是启动需要的内核和启动配置文件,大小为255MB。
└─mmcblk1p2 179:2 0 28.9G 0 part /第二个分区是root,它系统的根分区,存储的是系统和用户的文件,大小为28.9GB。
mmcblk1boot0 179:32 0 4M 1 diskmmcblk1boot1 179:64 0 4M 1 disk这两个设备是嵌入式多媒体卡(EMMC)的两个特殊引导分区,它们总是只读的,可以被用作启动加载器。
zram0 254:0 0 1.9G 0 disk [SWAP]这是一个虚拟的RAM磁盘(zram0),大小为1.9GB,被用作swap分区,用来当作虚拟内存使用
zram1 254:1 0 50M 0 disk /var/log这也是一个虚拟的RAM磁盘(zram1),大小为50MB,被用为保存日志信息的/var/log目录

  1. 查看U盘文件系统类型:使用以下命令查看所选设备的文件系统类型
    • **请将 /dev/sdX 替换为实际的U盘设备节点,即第二步输出结果中sda下的分区名称。
sudo file -s /dev/sdX
  • 演示:
    root@armbian:~# sudo file -s /dev/sda1
    /dev/sda1: DOS/MBR boot sector, code offset 0x58+2, OEM-ID “MSDOS5.0”, sectors/cluster 32, reserved sectors 2784, 
    Media descriptor 0xf8, sectors/track 63, heads 255, hidden sectors 64, sectors 61439936 (volumes > 32 MB), 
    FAT (32 bit), sectors/FAT 14992, reserved 0x1, serial number 0x3272a6ee, unlabeled
    
    • 结论:U盘的文件系统被识别为FAT(32位)格式。
  • 以下是对输出的解读:
    1. DOS/MBR boot sector: 指示该分区使用DOS/MBR引导扇区格式。DOS/MBR是一种常见的分区方案,适用于大多数Windows和Linux系统。
    2. Code offset 0x58+2: 引导代码的偏移量,指示引导代码在引导扇区中的位置。
    3. OEM-ID “MSDOS5.0”: 指示该分区的OEM标识为"MSDOS5.0",这表示分区可能是在MS-DOS 5.0或类似系统下创建的。
    4. Sectors/cluster 32: 每个簇占用的扇区数。一个簇是文件系统管理空间的基本单位。
    5. Reserved sectors 2784: 保留扇区的数量。这些扇区用于存储引导代码和分区表等元数据。
    6. Media descriptor 0xf8: 媒体描述符,指示分区的媒体类型。0xf8对应于一个标准的硬盘媒体类型。
    7. Sectors/track 63: 每个磁道的扇区数。磁道是磁盘表面的一个圆环状轨道。
    8. Heads 255: 磁头的数量。磁头是磁盘驱动器用于读取和写入数据的物理组件。
    9. Hidden sectors 64: 隐藏扇区的数量。隐藏扇区是指位于分区之前且不可见的扇区数。
    10. Sectors 61439936: 分区的总扇区数。这确定了分区的大小。
    11. FAT (32 bit): 文件系统类型为FAT32,这是一种常见的Windows文件系统格式。
    12. Sectors/FAT 14992: 每个FAT表占用的扇区数。FAT表是FAT文件系统用于存储文件分配信息的数据结构。
    13. Reserved 0x1: 保留字段的值为0x1,表示保留字段的内容。
    14. Serial number 0x3272a6ee: 分区序列号。每个分区都有一个唯一的序列号,用于标识分区。
    15. Unlabeled: 分区没有标签或名称。

  1. 创建挂载点:
    • 在挂载 U 盘之前,需要创建一个挂载点,这是一个目录,用于接入并管理 U 盘的内容。
    • 例如,可以创建一个在/mnt 下的目录作为挂载点。运行以下命令:
       sudo mkdir /mnt/usb
    

  1. 挂载 U 盘:
    • 为了挂载分区并支持中文文件名,需要使用正确的选项挂载文件系统。
    • 需要指定文件系统类型(在这种情况下是 vfat,这是 FAT32 文件系统的类型),并且使用 iocharset 选项来设置文件名的字符集,这样就能够正确显示中文文件名了。命令如下:
       sudo mount -t vfat /dev/xxx /mnt/usb -o iocharset=utf8
    
    • 注意:将/dev/xxx 替换为在步骤2中找到的 U 盘设备名称。

  1. 验证挂载:可以使用 df -h 命令来查看文件系统的挂载状态。
    • 例如:
    root@armbian:~# df -h
    Filesystem      Size  Used Avail Use% Mounted on
    udev            1.8G     0  1.8G   0% /dev
    tmpfs           394M  6.2M  387M   2% /run
    /dev/mmcblk1p2   29G  2.2G   27G   8% /
    tmpfs           2.0G     0  2.0G   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           2.0G  8.0K  2.0G   1% /tmp
    /dev/mmcblk1p1  223M   80M  139M  37% /boot
    /dev/zram1       49M  2.5M   43M   6% /var/log
    tmpfs           394M     0  394M   0% /run/user/0
    /dev/sda1        30G   64K   30G   1% /mnt/usb
    

  1. 使用 U 盘:通过路径 /mnt/usb 访问和使用 U 盘中的文件。
cd /mnt/usb

2.2.2 自动挂载

  • 注意:请使用sudo 访问权限,建议使用root用户身份进行以下操作
  1. 查看块设备和其分区
    lsblk # 或者 fdisk -l
    
  • 演示
    root@armbian:~# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 1 29.3G 0 disk
    └─sda1 8:1 1 29.3G 0 part
    mmcblk1 179:0 0 29.1G 0 disk
    ├─mmcblk1p1 179:1 0 255M 0 part /boot
    └─mmcblk1p2 179:2 0 28.9G 0 part /
    mmcblk1boot0 179:32 0 4M 1 disk
    mmcblk1boot1 179:64 0 4M 1 disk
    zram0 254:0 0 1.9G 0 disk [SWAP]
    zram1 254:1 0 50M 0 disk /var/log
    
  • 具体解释
    • 该命令展示系统中所有的块设备及其分区信息,块设备通常包括硬盘,SSD和USB驱动等存储设备。
结果说明
sda 8:0 1 29.3G 0 disk这是一个30GB的USB硬盘(sda)
1表示此设备支持删除标记,0表示设备没有只读标记
8:0是该设备的主要和次要设备号。
└─sda1 8:1 1 29.3G 0 part这是该USB硬盘的一个分区(sda1)。它占用了整个USB驱动的30GB空间。
同样,1表示支持删除标记,0表示无只读标记,并且设备号为8:1
mmcblk1 179:0 0 29.1G 0 disk这是一个29.1GB的Flash内存(mmcblk1)一般用于嵌入式系统的存储,这个设备有两个分区。
├─mmcblk1p1 179:1 0 255M 0 part /boot第一个分区是/boot,它是启动分区储存的是启动需要的内核和启动配置文件,大小为255MB。
└─mmcblk1p2 179:2 0 28.9G 0 part /第二个分区是root,它系统的根分区,存储的是系统和用户的文件,大小为28.9GB。
mmcblk1boot0 179:32 0 4M 1 diskmmcblk1boot1 179:64 0 4M 1 disk这两个设备是嵌入式多媒体卡(EMMC)的两个特殊引导分区,它们总是只读的,可以被用作启动加载器。
zram0 254:0 0 1.9G 0 disk [SWAP]这是一个虚拟的RAM磁盘(zram0),大小为1.9GB,被用作swap分区,用来当作虚拟内存使用
zram1 254:1 0 50M 0 disk /var/log这也是一个虚拟的RAM磁盘(zram1),大小为50MB,被用为保存日志信息的/var/log目录

  1. 创建挂载目录:挂载命令本身不会自动创建目录,而是需要确保目录存在,然后才能将文件系统挂载到目录上。
    mkdir /mnt/usb
    
    • 这里使用mkdir /mnt/usb作为挂载目录
  2. 配置自动挂载文件:如果希望系统可以自动挂载 U 盘,需要编辑 /etc/fstab 文件来实现。在文件的末尾添加一行内容,然后保存并退出。
    # 将一个名为/dev/sda1的vfat文件系统挂载到/mnt/usb目录上的
    /dev/sda1  /mnt/usb  vfat  auto,nofail,noatime,rw,users,iocharset=utf8  0  0
    
  • 重启系统后,U盘会自动挂载到 /mnt/usb

下面是各个部分的解释:

  1. /dev/sda1:这是一个设备文件,表示设备sda的第一个分区。
    • 在Linux中,磁盘设备通常被表示为/dev/sdX,其中X是字母a、b、c等来标识不同的设备。数字1表示该设备的第一个分区。
  2. /mnt/usb文件系统将被挂载的目标目录。在这个命令中,文件系统将会被挂载到/mnt/usb目录上。
  3. vfat:文件系统类型,表示使用FAT文件系统FAT是一种常用的文件系统格式,通常在可移动设备(如USB闪存驱动器)上使用。 查看文件系统类型的操作,请参照手动操作中的操作方法
  4. auto:挂载选项,表示自动检测文件系统的类型
  5. nofail:挂载选项,表示如果无法挂载文件系统,不会导致启动进程失败。这对于可选的文件系统非常有用,以防止系统启动过程因为无法挂载某些驱动器而失败。
  6. noatime:挂载选项,表示不记录文件的访问时间。这可以提高文件系统的性能。
  7. rw:挂载选项,表示将文件系统挂载为可读写模式。这意味着用户可以对文件系统进行读取和写入操作。
  8. users:挂载选项,允许普通用户挂载和卸载文件系统
  9. iocharset=utf8:挂载选项,表示使用UTF-8字符集处理文件名。[UTF-8是一种通用的字符编码,可以处理各种语言和字符。]
  10. 0:文件系统的备份选项,用于确定何时需要对文件系统进行备份。0表示不进行备份。
  11. 0:文件系统的检测选项,用于确定在系统引导时是否对文件系统进行检测。0表示不进行检测。

三 armbian取消挂载U盘

  • 在拔出USB闪存驱动器(U盘)之前,最好将其卸载(安全卸载或取消挂载),以确保数据写入已完成并避免数据丢失。
  • 以下是在Linux系统中卸载U盘的步骤:
  1. 查找U盘的挂载点:运行以下命令查看已挂载的文件系统列表:

     mount
    
    • 在输出结果中找到U盘的挂载点,通常会显示为类似于/mnt/usb/media/username/usb的路径。
  2. 卸载U盘:使用以下命令卸载U盘。

    # 如果U盘已经挂载到其他位置,请根据实际情况更改卸载命令中的路径。
    sudo umount /mnt/usb
    
  3. 等待卸载完成:在执行卸载命令后,请等待一段时间,确保系统完成卸载操作并释放U盘的使用。

  4. 安全拔出U盘:确认U盘已完全卸载后,您可以安全地将其拔出。

    • 请注意,不要在文件传输过程中拔出U盘,以免损坏数据或文件系统。

本文标签: 奇才 插上 数据 系统 巧妙地