本来只是想借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

linux分区挂载到内存,ubuntu下SD卡分区与挂载相关推荐

  1. linux下实现USB设备(U盘)及SD卡自动识别及挂载(应用层) linux下U盘识别及挂载 linux下SD卡识别及挂载

    两种方式,一种是注册通信句柄去监测内核发送的消息,一种是直接读取文件.第一种网上有很多,可以自行百度,但是这种方式只能识别热插拔,下面主要介绍通过读取文件去识别U盘及SD卡节点,实现挂载. 两个目录及 ...

  2. 利用ubuntu对SD卡分区,生成EXT3、EXT4分区

    在虚拟机中,打开ubuntu. 插入SD卡,选择将USB挂载到ubuntu而不是windows. 在GNOME中,search "disks" 找到disks工具后,选择gener ...

  3. Linux(CentOS、Ubuntu)下,磁盘分区、挂载

    文章目录 Linux(CentOS.Ubuntu)下,磁盘分区.挂载 分区的方式: Linux分区 [lsblk] [fdisk] [mkfs] [mount] [umount] [/etc/fsta ...

  4. ubuntu下对sd卡 分区和格式化 挂载sd卡

    一. sd卡分区和格式化 1.查看自己的设备号 命令:mount 可以看到 最后一行即为sd卡的挂载目录 2. umount 由于sd卡插上之后会自动mount,所以需要unmout 命令:umoun ...

  5. Ubuntu下添加新分区并设置挂载点

    Ubuntu下添加新分区并设置挂载点 最近在做Android项目,可是解压根文件系统以后,就报警说硬盘不够.当初设置使用的大小为15G.不过扩展分区还是很方便的.当然首先你得设置添加使用的硬盘大小,这 ...

  6. LINUX下的SD卡分区

    LINUX下的SD卡分区     首先在windows下面使用HP格式化工具格式化SD卡,然后将SD卡接入Linux操作系统. 识别SD卡后,打开终端.查看SD卡是否已经挂载,如果已经挂载需要先卸载再 ...

  7. linux 关机时卸载sd,Linux下U盘SD卡的自动挂载和卸载

    以下内容主体转自如下两篇博客: http://blog.sina.com.cn/s/blog_557366df0100nk7r.html http://blog.csdn.net/xdw1985829 ...

  8. ubuntu14.04系统下对SD卡分区

    在ubuntu14.04系统下对SD卡进行分区分为3步: 注意:进行SD卡分区时,用户操作权限为root权限! (1) umount SD卡 查看SD卡挂载目录,一般在/media目录下: sudo ...

  9. Ubuntu开机自动挂载SD卡到指定挂载点并将Docker默认存储路径改为SD卡

    Ubuntu开机自动挂载SD卡到指定挂载点并将Docker默认存储路径改为SD卡 查看磁盘信息 查看磁盘原挂载点 永久开机自动挂载分区--修改文件/etc/fstab 应用挂载 修改docker默认存 ...

  10. linux sd卡 自动挂载 mdev,mdev实现U盘和SD卡的自动挂载

    0)请先移植好SD卡和配置好内核对各类USB设备的支持 请先阅读:busybox下mdev的使用以及mdev.conf的规则配置1)确保内核支持热插拔 # cd linux-2.6.30.4# vi ...

最新文章

  1. Android 获取App的版本号与版本名称的2中方法
  2. 3 域名正则_一个正则表达式怎么会引起线上CPU狂飙?
  3. Linux运维:ulimit命令修改打开文件的句柄数
  4. Flask框架(flask中设置响应信息的方法,返回json数据的方法)
  5. MySQL in 查询,并通过 FIELD 函数按照查询条件顺序返回结果
  6. JavaScript-作用域和作用域链
  7. crt安装mysql教程_Centos系统安装MySQL详细图文教程
  8. 看看华为 Java 编程的军规...
  9. pl/sql远程连接oracle总结
  10. python中xlrd.open_workbook_python处理exce方法:xlrd、openyxl
  11. java程序员社招自我介绍
  12. 基于wiki的*GW需求体系化空间
  13. 华为emui10.0系统是鸿蒙吗,暂时忘记鸿蒙!华为EMUI 10.0发布时间确认:这才是主角...
  14. 白鹭引擎 4.0 发布 让重度H5游戏研发更简单
  15. 将远程桌面连接的快捷方式发送到电脑桌面上
  16. postgresql通过拼音排序
  17. QQ通讯录系统——用C++模拟实现,学C++必玩项目】
  18. 乔布斯私生女回忆录:我的渣男爸爸Steve Jobs
  19. 机器视觉之ros人脸识别
  20. MSF后门生成及免杀思想

热门文章

  1. web前端入门到实战:HTML图像标签img和源属性src及Alt属性、宽高、对齐
  2. 电脑版微信网络连接已断开,解决方案
  3. HDU 4173(计算几何
  4. 微信自定义分享,分享至QQ和空间自定义内容正常、分享至微信时只有链接问题
  5. 优质短信api接口具备的特点
  6. 一些好用的免费的截屏、GIF制作的PC端小工具
  7. 给自己记录下申请免费域名的过程
  8. python 结构体数组的正确初始化方法
  9. Hexo + Butterfly 自定义右键菜单
  10. 关于imcrop的一点注意事项