专栏首页Android相关Linux--分区与挂载

Linux--分区与挂载

磁盘结构

磁盘结构

磁盘主要分为以下结构:

  • 磁头(head):对磁盘的数据进行读写
  • 磁道(track):当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。 磁盘上的磁道是一组记录密度不同的同心圆
  • 扇区(sector):磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区。硬盘的第一个扇区,叫做引导扇区。 一个扇区的大小为512个字节。
  • 柱面(cylinder):在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面。

整个磁盘的存储大小为: 存储容量 = 磁头数 × 磁道(柱面)数 × 每道扇区数 × 每扇区字节数

磁盘的使用

一块新的硬盘或者U盘等外部设备在插入PC后,需要完成以下事情:

  • 在/dev/下创建一个新的目录,用来代表该磁盘。如/dev/hda,/dev/hdb等。
  • 磁盘最开始需要进行格式化,使用mkfs命令为磁盘进行格式化,确定文件系统类型。
  • 对硬盘进行分区后才可以使用。
  • 在Linux中挂载到一个已经存在的目录下才可以访问该磁盘,否则无法访问。使用mountunmount来进行挂载和卸载。

一般挂在点都在/mnt/xxx目录下,并且该目录必须是已经存在的,否则无法挂载

fdisk的使用

在Linux中,使用fdisk来查看当前的硬盘以及硬盘的分区、文件系统等信息。并且使用fdisk命令可以为磁盘进行分区。 fdisk的命令有以下这些: Fdisk命令详解:

命令

备注

m

获取帮助

n

新建分区

p

显示分区表

d

删除分区

b

设置卷标

w

写入分区表

t

改变分区文件系统类型

v

检验分区

l

显示fdisk所支持的文件系统代码

q

退出

fdisk示例
  1. 使用fdisk -l查看当前所有硬盘以及分区的状态。
# fdisk -l

Disk /dev/sda: 10.7 GB, 10737418240 bytes
255 heads, 63 sectors/track, 1305 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot   Start     End   Blocks  Id System
/dev/sda1  *      1     13   104391  83 Linux
/dev/sda2       14    1305  10377990  8e Linux LVM

Disk /dev/sdb: 5368 MB, 5368709120 bytes
255 heads, 63 sectors/track, 652 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Disk /dev/sdb doesn't contain a valid partition table

可以看到目前有两个磁盘:

  • sda:10.7G,255个磁头,63个磁道,1305个扇区
    • 主分区1:/dev/sda1
    • 主分区2:/dev/sda2
  • sdb:5G,255个磁头,63个磁道,652个扇区
    • 无分区

分区的概念

Linux中,磁盘只有被分区完后,才可以被挂载到目录下。

分区有三种:主分区,扩展分区,逻辑分区,每个磁盘最多只能有四个主分区,而可以有多个扩展分区,在扩展分区中,还可以创建多个逻辑分区。

  • 主分区:创建完后即可挂载
  • 扩展分区:扩展分区创建完后,还需要创建逻辑分区才可以被挂载

示例

格式化一块硬盘(hdb),并且对其进行分区,分区后进行挂载

创建主分区
  1. 通过fdisk /dev/hdb进入磁盘的命令模式

进入格式化命令模式

  1. 输入n代表创建分区,e代表扩展分区,p代表主分区

新建主分区

  1. 输入First Cylinder的值代表分区初始的柱面值,以及分区的大小+3G代表为该分区分3G

输入初始柱面的值以及分区大小

  1. 输入p查看创建的分区/dev/hdb1

新建分区

创建扩展分区
  1. 与创建主分区步骤相同,只是在选择command action的时候,选择e,表示创建扩展分区

创建后的扩展分区

  1. 在创建完扩展分区后,来创建逻辑分区,输入l代表创建逻辑分区

创建逻辑分区

  1. 与创建主分区、扩展分区一样,为逻辑分区选择起始的柱面,以及分配的大小

分配分区大小

  1. 查看扩展分区

查看分区信息

分区格式化

在磁盘分区创建完毕后,需要为分区通过mkfs进行格式化,赋予它文件系统: 如ext2,ext3,vfat

使用命令 mkfs -t ext3 /dev/hdb1分别对分区hdb1进行格式化处理,格式化为ext3文件类型

其中mkfs –t ext3命令等价于mkfs.ext3mkfs -t ext2命令等价于mkfs.ext2

mkfs命令

分区挂载

当分区格式化完成文件系统后,就可以通过mountunmount进行挂载与卸载了,当分区挂载到具体目录后,即可进行创建文件、删除文件等文件操作了。

mount /dev/hdb1 /mnt/hdb1就会将/dev/hdb1分区挂载到/mnt/hdb1目录下,也就是该目录下的文件都会被写到/dev/hdb1的磁盘分区中保存。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android---SharedPreferences解析

    SharedPreferences真正实现的类是:SharedPreferencesImpl

    None_Ling
  • 哈夫曼树(Huffman Code)

    给定n个权值作为n个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,则称之为最优二叉树,也就是哈夫曼树。

    None_Ling
  • Gradle解决多lib冲突

    在引入第三方jar包的时候,可能会遇到很多库的冲突,例如均使用了OkHttp,RxJava等等,在打包的时候就会遇到Class多个定义的问题。而目前Androi...

    None_Ling
  • Windows下新建和更改分区

    分区只是逻辑上的概念,实际都是在一块硬盘上.分区可以使文件存放更规范也可以分离一些系统级别的概念,防止用户操作系统分区导致系统出现问题

    caoayu
  • VM虚拟机系统自定义分区

    点击下一步,选择其他,因为我们安装的既不是 win 也不是 Linux,是双系统:

    wsuo
  • Linux 磁盘划分和分区介绍

    在Linux系统中一切都是文件,硬件设备也不例外。既然是文件,就必须有文件名称。系统内核中的udev设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件...

    刘銮奕
  • Winodws安装系统时,通过安装磁盘进行分区

      今天使用一个系统盘安装的时候,很奇怪,分区总是分出来一个系统磁盘,一个MBR,剩下的只能分主分区。   这样就导致我在进行windows激活时,激活工具都找...

    用户1154259
  • archlinux安装与应急使用双用U盘

    在使用archlinux启动盘之前需要用dd命令将U盘刻为启动盘,这样就导致整个U盘分区被dd修改,最明显的是第一个装有安装环境的分区被分配了一个iso9960...

    impressionyang
  • 干趴面试官系列 | 请你简述一下Kafka中的分区分配

    “请你简述一下Kafka中的分区分配”,当面试官问你这个问题的时候,你会怎么回答?其实,这道题目里面就暗藏汹涌,因为Kafka中的分区分配在多处出现,而这个问题...

    zhisheng
  • 一篇文章弄懂Linux磁盘和磁盘分区

    Linux 系统中所有的硬件设备都是通过文件的方式来表现和使用的,我们将这些文件称为设备文件,硬盘对应的设备文件一般被称为块设备文件。

    砸漏

扫码关注云+社区

领取腾讯云代金券