ubuntu下SD卡分区与挂载

2023-05-16

本来只是想借SD卡来做一个OK6410的升级

但笔记本上只装了ubuntu,一开始是可以识别sd卡的,但按照网上的教程不小心将/dev/sdb1删除了

导致ubuntu不能识别sd卡了

记录一下解决过程

1.sd的设备节点/dev/sdb还有,说明驱动没有问题,按照网上执行了这些步骤,但并没有作用

sudo modprobe usb-storage
sudo modprobe sdhci
sudo modprobe mmc_core
sudo modprobe mmc_block

2.这里再说一下我对设备,分区,内核分区表的理解,欢迎拍砖

首先看到的/dev/sdb这个就是sd的设备,是驱动创建的

通过fdisk -l 看到的就是实际的物理分区,可以看到有那些存储设备以及设备上的分区情况

文件系统分区是通过挂载物理分区生成的,通过df可以看到

比如,我目前的情况是有/dev/sdb,说明驱动没问题设备还是有的,没有/dev/sdb1也就是没有进行分区

/dev/sdb指的是U盘设备,/dev/sdb1指U盘上的第一个分区,这两个都是设备控制节点,可以直接向这两个节点写数据,但应该遵循一些约定(比如用hexedit直接写16进制数)。一般用法是通过控制节点进行挂载,利用文件系统简化过程

通过fdisk -l 可以看到,但是没有分区,感受一下:

kevin@magic:~/tmp$ sudo fdisk -l


Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Disk identifier: 0x0005d645


   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   620959743   310478848   83  Linux
/dev/sda2       620961790   625141759     2089985    5  Extended
/dev/sda5       620961792   625141759     2089984   82  Linux swap / Solaris


Disk /dev/sdb: 3904 MB, 3904897024 bytes
77 heads, 8 sectors/track, 12381 cylinders, total 7626752 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
Disk identifier: 0x00000000


   Device Boot      Start         End      Blocks   Id  System

#从上面看出/dev/sda空间已经用完了,/dev/sdb没有使用。
 
下面我们对/dev/sdb 进行分区
 
[root@bogon 桌面]# fdisk /dev/sdb
 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
 Building a new DOS disklabel with disk identifier 0xfaa2aa49.
 Changes will remain in memory only, until you decide to write them.
 After that, of course, the previous content won't be recoverable.
 
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
          switch off the mode (command 'c') and change display units to
          sectors (command 'u').
 
Command (m for help): m
 Command action
    a  toggle a bootable flag
    b  edit bsd disklabel
    c  toggle the dos compatibility flag
    d  delete a partition
    l  list known partition types
    m  print this menu
    n  add a new partition
    o  create a new empty DOS partition table
    p  print the partition table
    q  quit without saving changes
    s  create a new empty Sun disklabel
    t  change a partition's system id
    u  change display/entry units
    v  verify the partition table
    w  write table to disk and exit
    x  extra functionality (experts only)
 fdisk选中/dev/sdb 输入m所有基本选项都出现,输入n新建分区
 
Command (m for help): n
 Command action
    e  extended
    p  primary partition (1-4)

有扩展分区和主分区,逻辑分区在扩展分区中建立。注意到括号中的1-4,最多只能建四个主分区(包括扩展分区)。先建一个主分区:
 
Command (m for help): n
 Command action
    e  extended
    p  primary partition (1-4)
 p #建主分区
 Partition number (1-4): 1 #分区号为1
 First cylinder (1-2610, default 1): #直接回车默认从第一个柱面开始划分
 Using default value 1
 Last cylinder, +cylinders or +size{K,M,G} (1-2610, default 2610): +2G #加空间大小,这里有很多种选择:+后面单位可以接M,G,K(记得要大写)表示划分你所加的空间,也可以是柱面数。不管怎样都不能超过该磁盘剩余的空间否则无效。
 
Command (m for help): p #分好后查看分区信息,刚所做的所有一目了然。
 
Disk /dev/sdb: 21.5 GB, 21474836480 bytes
 255 heads, 63 sectors/track, 2610 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes
 Sector size (logical/physical): 512 bytes / 512 bytes
 I/O size (minimum/optimal): 512 bytes / 512 bytes
 Disk identifier: 0xfaa2aa49
 
  Device Boot      Start        End      Blocks  Id  System
 /dev/sdb1              1        262    2104483+  83  Linux
 
同上所述建立扩展分区,在此简单使用sd,所以就创建了一个主分区

Command (m for help): w #保存退出
 The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 Syncing disks.

再次查看就看到了/dev/sdb的分区信息,虽然现在我们看到进行分区了,但是内核kenel还没有识别为了不要重启将分区表写入kenel我们要用到partprobe工具:使kenel重新读取分区表。

kevin@magic:~/tmp$ sudo fdisk -l

Disk /dev/sdb: 3904 MB, 3904897024 bytes
77 heads, 8 sectors/track, 12381 cylinders, total 7626752 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
Disk identifier: 0x00000000


   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     7626751     3812352   83  Linux

kevin@magic:~/tmp$ sudo partprobe 
Warning: WARNING: the kernel failed to re-read the partition table on /dev/sda (设备或资源忙).  As a result, it may not reflect all of your changes until after reboot.
 
kenel识别分区表后,我们还不能使用它要对其进行格式化。mkfs.加文件系统格式,扩展分区是不能格式化的。
 
kevin@magic:~/tmp$mkfs.vfat /dev/sdb1 #格式化成fat32文件格式(要分区格式化,不能将整个硬盘格式化)

最后就是挂载了

 mkdir /bak
sudo mount -o loop /dev/sdb1 /bak #挂载该分区到/bak


kevin@magic:~/Documents$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      310126448 69465996 225136512  24% /
udev             1020924        4   1020920   1% /dev
tmpfs             411280     1164    410116   1% /run
none                5120        0      5120   0% /run/lock
none             1028192       76   1028116   1% /run/shm

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ubuntu下SD卡分区与挂载 的相关文章

  • vscode安装问题:安装程序无法创建目录,错误5:拒绝访问,这个问题怎没解决啊,谢谢

    我在实际安装过程中遇到的这个问题 xff0c 属于是权限不足引起 xff0c 解决方法 xff1a 单击右键 xff0c 选择管理者方式运行 exe文件即可
  • 创建springboot失败问题,我这个问题比较特殊,并不是采用默认的创建方式,而是使用阿里云镜像创建时失败。

    解决方法 xff1a 使用https start springboot io替代我原先自定义的阿里云镜像 xff0c 这个服务器架设在中国香港 xff0c 大陆访问非常稳定 xff0c 项目创建成功率很高 成功 xff1a 具体参考这个大佬
  • echarts基本使用(入门)

    echarts基本使用 1 在项目中安装echarts npm install echarts span class token operator span save 2 在项目中引入echarts span class token key
  • AdGuard Home 安装使用教程

    原文链接 xff1a 使用 Envoy 和 AdGuard Home 阻挡烦人的广告 通常我们使用网络时 xff0c 宽带运营商会为我们分配一个 DNS 服务器 这个 DNS 通常是最快的 xff0c 距离最近的服务器 xff0c 但会有很
  • 信号量和互斥量(锁)的区别

    信号量 xff1a 那是多线程同步用的 xff0c 一个线程完成了某一个动作就通过信号告诉别的线程 xff0c 别的线程再进行某些动作 互斥量 xff1a 这是多线程互斥用的 xff0c 比如说 xff0c 一个线程占用了某一个资源 xff
  • C++的struct和class的区别

    目录 1 C 43 43 的struct和class的区别1 1 成员访问范围的差异1 struct2 class 1 1 继承关系访问范围的差异1 struct struct2 struct class3 struct private c
  • Android 8.0 以后前台服务的启动方式

    前言 在官方文档 Android 8 0之后的行为变更 中有这样一段话 xff1a Android 8 0 有一项复杂功能 xff1b 系统不允许后台应用创建后台服务 因此 xff0c Android 8 0 引入了一种全新的方法 xff0
  • PID控制算法的c语言实现 附录2 直流电机PWM调速系统中控制电压非线性研究

    附录2 直流电机PWM调速系统中控制电压非线性研究 引言 由于线性放大驱动方式效率和散热问题严重 xff0c 目前绝大多数直流电动机采用开关驱动方式 开关驱动方式是半导体功率器件工作在开关状态 xff0c 通过脉宽调制PWM控制电动机电枢电
  • Android中dispatchDraw分析

    Android中dispatchDraw分析 View中 xff1a public void draw Canvas canvas 1 Draw the background 绘制背景 2 If necessary save the can
  • CMake命令之execute_process

    用途 xff1a 执行一个或多个子进程 execute process COMMAND lt cmd1 gt args1 COMMAND lt cmd2 gt args2 WORKING DIRECTORY lt directory gt
  • 利用反射 Mirror 快速的获取/打印枚举值

    在 Swift 中 xff0c 枚举是一等类型 xff0c 可以给其添加计算属性 xff0c 实例方法 xff0c 构造函数 xff0c 遵循协议 xff0c 另外 xff0c 还可以定义枚举来存储任意类型的关联值 这些特性可以让枚举适用于
  • linux 应用层编程之内核链表list的使用

    linux内核提供了一个经典通用的双向循环链表list的实现 xff0c 任何模块都可以借助该接口实现自己的内部循环链表 因为是通用的 xff0c 可以直接移植到用户态中使用 xff0c 下面介绍相关的接口与一个简单操作例子 xff0c 包
  • EFR32修改开发板VCOM串口波特率的方法

    Silabs官方开发板上的Jlink CDC串口 xff08 VCOM xff09 默认的波特率是115200 xff0c 在普通的终端软件 xff08 如 串口调试助手 xff09 里设置别的波特率是不起作用的 要让它支持其他的波特率 x
  • 用 Latex 生成英文论文中的 算法步骤/伪代码 并插入 word 中

    准备工作 xff1a 1 先安装 CTEX https mirrors tuna tsinghua edu cn ctex legacy 2 9 2 下载 algorithm2e 包 xff08 里面有详细的使用说明文档 xff09 htt
  • Docker 大势已去,Podman 万岁

    前言 郑重声明 xff1a 本文不是 Podman 的入门篇 xff0c 入门请阅读这篇文章 xff1a 再见 Docker xff0c 是时候拥抱下一代容器工具了 Podman 原来是 CRI O 项目的一部分 xff0c 后来被分离成一
  • 生产者消费者问题--练习题目

    10 os考研题目 改题目中p0 xff0c p1两个进程可以互斥的进入临界区 xff0c 会出现饥饿现象 xff08 答案给的是D xff0c 但是自我认为可以出现饥饿现象 xff09 互斥的访问 xff1a p0 Flag 0 61 T
  • PromQL的简单使用

    PromQL的简单使用 一 背景二 PromQL的数据类型三 字面量1 字符串字面量2 浮点数字面量 四 时间序列选择器1 即时向量选择器1 组成部分2 指标名称和匹配器的组合3 匹配器 2 区间向量选择器1 时间格式 3 偏移量修改器 五
  • 一步一步在平衡车上实现卡尔曼滤波

    这是一个翻译版本 xff0c 其中的一些公式 xff0c 符号太多 xff0c 我就不一个一个去上传 xff0c 大家可以参考下面网址去对照着看 A practical approach to Kalman filter and how t
  • 浮点数的二进制表示(IEEE 754标准)

    浮点数是我们在程序里常用的数据类型 xff0c 它在内存中到底是怎么样的形式存在 xff0c 是我了解之前是觉得好神奇 xff0c 以此记录 xff0c 作为学习笔记 现代计算机中 xff0c 一般都以IEEE 754标准存储浮点数 xff
  • vscode如何打开settings.json

    解决方案步骤 xff1a 打开vscode编辑器 xff0c 本文演示的vscode是英文版 点击左下角齿轮状的图标 在弹出的菜单中选择 Settings Settings点击后 xff0c 会出现一个设置窗口 在Settings窗口中点击

随机推荐

  • Failed to execute ‘createObjectURL‘ on ‘URL‘ Overload resolution failed

    vue使用二进制流下载文件 xff0c 使用 link href 61 window URL createObjectURL blob 报错 xff1a Failed to execute createObjectURL on URL Ov
  • openwrt安装docker并启动

    在软件包中下载docker和dockerd 也可以自行下载ipk文件安装 安装成功后启动xshell连上openwrt 执行 etc init d dockerd 启动docker的daemon服务 若要dockerd自启动则执行 ln s
  • Mysql环境变量配置

    一 mysql的环境变量配置步骤 1 1 在桌面选择 计算机 的图标 xff0c 右键 gt 属性 gt 点击 高级系统设置 gt 点击 环境变量 2 2 新建MYSQL HOME变量 xff0c 并将值设置为C Program Files
  • MySQL安装配置教程(超级详细)

    一 下载MySQL Mysql官网下载地址 xff1a MySQL Download MySQL Installer Archived Versions 1 选择要安装的版本 xff0c 本篇文章选择的是5 7 31版本 xff0c 点击D
  • mysql字符切割的四种方式

    1 从左开始截取字符串 left xff08 str length xff09 说明 xff1a left xff08 被截取字段 xff0c 截取长度 xff09 select left 39 如果暴力不是为了杀戮 xff0c 那将变得毫
  • Podman 使用指南

    原文链接 xff1a Podman 使用指南 Podman 原来是 CRI O 项目的一部分 xff0c 后来被分离成一个单独的项目叫 libpod Podman 的使用体验和 Docker 类似 xff0c 不同的是 Podman 没有
  • ClickHouse查询语句详解

    ClickHouse查询语句兼容大部分SQL语法 xff0c 并且进行了更加丰富的扩展 xff0c 查询语句模板如下 xff1a WITH expr list subquery SELECT DISTINCT ON column1 colu
  • Mysql和Redis如何保证数据一致性

    文章目录 前言一 先更新数据库 xff0c 再更新redis二 先更新redis xff0c 在更新数据库三 先更新数据库 xff0c 再删除redis四 先删除redis xff0c 再更新数据库总结 前言 如何保证数据库和缓存双写一致
  • SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)

    文章目录 前言 一 概念 二 例子 总结 前言 最近在做SQL相关的练习 发现以前那么自信的SQL放久了不碰也变得棘手起来 特别是这一块表之间的内外连接 所以这篇是关于这个内外连接的整理 一 概念 首先还是介绍一下这三个的定义 1 Left
  • UCOSII之项目实战总结

    电子IT行业博大精深 xff0c 没有人能够用笔记本天天记录自己所学的知识 xff0c 于是乎 xff0c 撰写博客就成了每个 IT民工 的专长 再者 xff0c 写一篇博客 xff0c 其意义与不但记录了自己所需的知识 xff0c 更提高
  • 明白了一句话:“加速度信号对高频敏感,位移信号对低频敏感”

    以前听别人说这些 xff0c 然后记住了 但是一直不大理解 最近在调试IEPE传感器 xff0c 正好要算位移 速度 加速度 对于相同的速度 xff0c 频率越高 xff0c 加速度值就越大 因为从公式就能看出来 xff0c 对于固定频率的
  • ubuntu 16.04使用IntelRealSense D435i调用realsense ROS包时,报symbol lookup error和undefined symbol错误的解决办法

    在ubuntu 16 04使用IntelRealSense D435i调用realsense ROS包时 xff0c 运行 roscore roslaunch realsense2 camera rs rgbd launch 出现错误 xf
  • Android浪潮

    Google的Android手机就要席卷世界了 xff01 IT技术的发展常常太出人意料 xff0c 我也想不太清楚Google的Android平台究竟吸引人在哪里 xff0c 但我相信Android会很快改变手机平台的格局 新的形势会出人
  • 卡尔曼滤波相关介绍及优缺点

    1 卡尔曼滤波算法为什么会叫滤波算法 xff1f 以一维卡尔曼滤波为例 xff0c 如果我们单纯的相信测量的信号 xff0c 那么这个信号是包含噪声的 xff0c 是很毛糙的 xff0c 但是当我们运行卡尔曼滤波算法去做估计 xff0c 我
  • STM32单片机(五)-寄存器地址理解和控制LED闪烁

    芯片 xff1a stm32f103zet6 1 存储单元一般应具有存储数据和读写数据的功能 一般以8位二进制作为一个存储单元 也就是一个字节 每个单元有一个地址 是一个整数编码 可以表示为二进制整数 2 stm32是32位单片机 xff0
  • 跨平台构建 Docker 镜像新姿势,x86、arm 一把梭

    点击 34 阅读原文 34 可以获得更好的阅读体验 在工作和生活中 xff0c 我们可能经常需要将某个程序跑在不同的 CPU 架构上 xff0c 比如让某些不可描述的软件运行在树莓派或嵌入式路由器设备上 特别是 Docker 席卷全球之后
  • 正点原子STM32F4笔记

    使用寄存器操作 xff0c 不错的博客 xff1a https blog csdn net w471176877 article category 1230060 https blog csdn net w471176877 article
  • JAVA中this用法小结

    我知道很多朋友都和我一样 xff1a 在 JAVA 程序中似乎经常见到 this xff0c 自己也偶尔用到它 xff0c 但是到底 this 该怎么用 xff0c 却心中无数 xff01 很多人一提起它 xff0c 就说 当前对象 xff
  • Linux Platform总线+SPI总线分析

    2015 07 1 11 20 本文以MPC8308 powerpc架构 xff0c HX软件包为依据 xff0c 详细内容可参考源码 CPU e300c3MPC8308 400MHz BOARD Freescale MPC8308ERDB
  • ubuntu下SD卡分区与挂载

    本来只是想借SD卡来做一个OK6410的升级 但笔记本上只装了ubuntu xff0c 一开始是可以识别sd卡的 xff0c 但按照网上的教程不小心将 dev sdb1删除了 导致ubuntu不能识别sd卡了 记录一下解决过程 1 sd的设