网站首页 > 开源技术 正文
EMMC(嵌入式多媒体卡,Embedded MultiMediaCard)是一种用于嵌入式系统的闪存存储技术。EMMC 设备通常被划分为多个分区,这些分区可以被挂载到操作系统中以便使用。下面详细介绍 EMMC 的分区以及如何挂载这些分区。
引导分区(Boot Partition):
- 包含引导加载程序(Bootloader)。
- 通常有两个引导分区:BP1 和 BP2,用于冗余备份。
- 例如:/dev/mmcblk0p1 和 /dev/mmcblk0p2。
用户分区(User Partition):
- 主要用于存储操作系统、应用程序和用户数据。
- 可以进一步细分为多个逻辑分区。
- 例如:/dev/mmcblk0p3、/dev/mmcblk0p4 等。
预留分区(Reserved Partition):
- 用于系统保留用途,如日志记录或其他特殊功能。
- 通常较小,可能不会在实际使用中挂载。
分区表格式
EMMC 设备通常使用 MBR(主引导记录)或 GPT(GUID 分区表)格式来组织分区。MBR 格式最多支持四个主分区,而 GPT 格式则可以支持更多分区。
挂载分区
挂载 EMMC 分区的过程涉及将分区映射到文件系统的挂载点,使操作系统可以读写这些分区上的数据。示例:挂载 EMMC 分区
1.查看 EMMC 设备及其分区:
首先,使用 fdisk 或 lsblk 命令查看 EMMC 设备及其分区:
fdisk -l /dev/mmcblk0
或者:
lsblk -f /dev/mmcblk0
这将列出 EMMC 设备的分区信息,例如 /dev/mmcblk0p1、/dev/mmcblk0p2 等。
2.格式化分区(如果尚未格式化):
如果分区尚未格式化,可以使用 mkfs 命令格式化分区:
mkfs.ext4 /dev/mmcblk0p3
这里假设分区 /dev/mmcblk0p3 将被格式化为 ext4 文件系统。
3.创建挂载点:
在文件系统中创建挂载点目录:
sudo mkdir /mnt/emmc-root
4.挂载分区:
将分区挂载到对应的挂载点:
sudo mount /dev/mmcblk0p3 /mnt/emmc-root
5.自动挂载配置:
如果希望在系统启动时自动挂载这些分区,可以在 /etc/fstab 文件中
添加相应的条目:
sudo nano /etc/fstab
在文件末尾添加一行:
/dev/mmcblk0p3 /mnt/emmc-root ext4 defaults 0 2
这行配置表示 /dev/mmcblk0p3 分区将挂载到 /mnt/emmc-root 目录,并使用 ext4 文件系统。defaults 表示使用默认挂载选项,0 表示不备份,2 表示启动顺序。
6.验证自动挂载配置:
重新启动系统后,可以验证分区是否被自动挂载:
df -h
这将显示当前挂载的所有文件系统及其使用情况。
示例:
挂载多个分区如果 EMMC 设备有多个分区需要挂载,可以按照上述步骤逐一挂载:
sudo mkdir /mnt/emmc-boot
sudo mount /dev/mmcblk0p1 /mnt/emmc-boot
sudo mkdir /mnt/emmc-root
sudo mount /dev/mmcblk0p3 /mnt/emmc-root
sudo mkdir /mnt/emmc-data
sudo mount /dev/mmcblk0p4 /mnt/emmc-datas
健康状态以及排查常见问题的方法。
查询 EMMC 的健康状态使用 mmc_utils 工具Linux 系统中,可以使用 mmc_utils 工具来查询 EMMC 的健康状态。首先确保系统中已经安装了 mmc-utils 包。
Debian/Ubuntu 系统
sudo apt update
sudo apt install -y mmc-utils
Red Hat/CentOS 系统
sudo yum install -y mmc-utils
接下来,可以使用 sdinfo 命令来获取 EMMC 的详细信息:
sdinfo /dev/mmcblk0
这条命令将输出 EMMC 的基本信息,包括制造商、型号、容量等。
查看 SMART 属性对于一些支持 SMART(Self-Monitoring, Analysis and Reporting Technology)技术的 EMMC,可以使用 smartctl 工具来查看 SMART 属性:
安装 smartmontools
sudo apt install -y smartmontools
查看 EMMC 的 SMART 属性
sudo smartctl -a /dev/mmcblk0
这将显示 EMMC 的 SMART 属性,包括错误计数、温度等信息。
排查 EMMC 的健康问题检查错误日志如果怀疑 EMMC 存在问题,可以检查系统错误日志来寻找线索:dmesg | grep mmc
这条命令将显示与 EMMC 相关的内核日志,帮助定位问题。
使用 dd 进行读写测试可以使用 dd 命令来进行简单的读写测试,检查 EMMC 是否存在坏块:
写入随机数据
sudo dd if=/dev/urandom of=/dev/mmcblk0 bs=1M count=100
读回数据进行校验
sudo dd if=/dev/mmcblk0 of=/dev/null bs=1M count=100
这条命令将向 EMMC 写入 100MB 的随机数据,并读回数据进行校验。如果出现错误提示,表明可能存在坏块。使用专门的测试工具对于更详细的测试,可以使用专门的测试工具,如 hdparm:
测试读取速度
sudo hdparm -Tt /dev/mmcblk0
测试写入速度
sudo hdparm -Tt /dev/mmcblk0
这些命令可以帮助评估 EMMC 的读写性能。
使用 e2fsck 检查文件系统如果 EMMC 上的文件系统存在问题,可以使用 e2fsck 工具来检查和修复文件系统:
检查文件系统
sudo e2fsck -f /dev/mmcblk0p3
修复文件系统(如果需要)
sudo e2fsck -pf /dev/mmcblk0p3
这里的 /dev/mmcblk0p3 是一个示例分区,根据实际情况替换为实际的分区。
示例:
排查 EMMC 丢失文件系统数据如果遇到 EMMC 分区丢失或文件系统损坏的情况
可以尝试以下步骤:
1.检查分区表:
使用 parted 或 fdisk 检查分区表:
parted /dev/mmcblk0 print
或者:
fdisk -l /dev/mmcblk0
3. 恢复分区表:如果分区表损坏,可以尝试恢复分区表:
parted /dev/mmcblk0 mklabel msdos
parted /dev/mmcblk0 mkpart primary ext4 0% 100%
这里创建了一个新的 MS-DOS 分区表,并创建了一个占据整个设备的 ext4 分区。
4. 检查并修复文件系统:
如果分区表恢复正常但文件系统损坏,可以使用 e2fsck 来修复:
sudo e2fsck -pf /dev/mmcblk0p3
总结
通过上述步骤,你可以将 EMMC 设备上的分区挂载到 Linux 文件系统中,并配置自动挂载以方便使用。如果还有其他问题或需要进一步的帮助,请随时提问。
猜你喜欢
- 2024-10-22 用USB 3 SSD硬盘启动树莓派4和性能基准测试
- 2024-10-22 服务器性能的评估指标和测量方法(服务器性能的评估指标和测量方法是什么)
- 2024-10-22 Linux常用工具(linux常用命令和工具的使用)
- 2024-10-22 Linux日常维护常用命令整理(linux日常维护内容)
- 2024-10-22 巡检linux用什么命令?(vplex命令行巡检)
- 2024-10-22 Linux系统巡检常用命令(linux系统巡检常用命令有哪些)
- 2024-10-22 又是满屏干货|Linux命令大全之八——Linux磁盘维护命令!
- 2024-10-22 介绍几个最常用的Linux命令&技巧 1
- 2024-10-22 如何在linux查看硬件信息(linux查看硬件信息命令)
- 2024-10-22 Linux系统查看系统信息和日志有哪些常用的命令
你 发表评论:
欢迎- 03-19基于layui+springcloud的企业级微服务框架
- 03-19开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- 03-19SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- 03-19SpringBoot+LayUI后台管理系统开发脚手架
- 03-19layui下拉菜单form.render局部刷新方法亲测有效
- 03-19Layui 遇到的坑(记录贴)(layui chm)
- 03-19基于ASP.NET MVC + Layui的通用后台开发框架
- 03-19LayUi自定义模块的定义与使用(layui自定义表格)
- 最近发表
-
- 基于layui+springcloud的企业级微服务框架
- 开箱即用的前端开发模板,扩展Layui原生UI样式,集成第三方组件
- SpringMVC +Spring +Mybatis + Layui通用后台管理系统OneManageV2.1
- SpringBoot+LayUI后台管理系统开发脚手架
- layui下拉菜单form.render局部刷新方法亲测有效
- Layui 遇到的坑(记录贴)(layui chm)
- 基于ASP.NET MVC + Layui的通用后台开发框架
- LayUi自定义模块的定义与使用(layui自定义表格)
- Layui 2.9.11正式发布(layui2.6)
- Layui 2.9.13正式发布(layui2.6)
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)