磁盘、分区和文件系统

磁盘分区的目的是,从逻辑上将一块盘分成多块盘.

因为分区之间环境隔离,所以每个分区就像是一个单独的磁盘。这些空间可以有不同的文件系统,或者格式化时互不干扰。

磁盘的接口

磁盘的接口有两种:

  • IDE磁盘,采用 /dev/hdx 来命名,如hda,hdb…
  • SATA/SCSI磁盘,采用 /dev/sdx 来命名,如sda,sdb…
  • SSD磁盘,采用 /dev/nvmeNn# 来命名,如/dev/nvme0n1p1

分区之后,每块磁盘分区的命名格式为:
hda1、hda2…
sda1、sda2…

分区样式

那么如何查看磁盘及其分区信息呢?
在Linux系统下,使用fdisk进行查看和分区,这个只适用于MBR分区,
如果想做gpt分区,就要使用parted命令。

特性MBRGPT
支持最大卷2T18EB
分区数量4个128个
原理3个主分区1个扩展分区所以分区地位相等

为什么会产生不同的分区样式呢?
其实分区样式只是一种协议,怎么分都行,只要能分明白,
但是微软首先使用了mbr分区协议,并且没啥问题,大家就沿用了mbr分区,
后来磁盘越来越大,mbr分区协议被现在在了2T大小,满足不了实际需求,就产生了gpt这种面相未来,“无限”分区的协议。

查看分区

查看磁盘分区状态

fsblk

查看磁盘分区细节

sudo fdisk -l

在这里插入图片描述

第一段是磁盘的整体信息;
第二段是磁盘的分区信息;
第一列是分区名;
第二列?
第三列是起始地址;
第四列是终止地址;
第五列是?
最后一列是分区格式。

查看磁盘使用状态

df -h

在这里插入图片描述

第一列是磁盘及分区信息,
第二列是容量;
第三列是已用;
第四列是剩余;
第五列是使用百分比;
最后一列是挂载的目录。

制作分区

分区格式有:MBR和GPT。
制作分区的工具有:fdisk、gdisk和parted。

使用fdisk制作分区

fdisk出现的较早,但是只能制作MBR分区,只能处理2T的磁盘,大于2T的磁盘需要使用gdisk或parted。

# 查看分区信息:
fdisk -l

# 给磁盘分区
1. 制作一个虚拟磁盘
dd if=/dev/zero of=test.img count=102400
2. 制作分区
sudo fdisk test.img
3. 输入p 显示分区表
4. 输入n 制作一个新分区
5. 输入p 制作一个主分区
6. 输入20480 作为分区大小
7. 输入w 保存并退出

使用gdisk制作gpt分区

如果存储设备需要使用gpt分区表,就要用到gdisk。

AndroidServer:~$ parted /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

(parted) mklabel gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk
will be lost. Do you want to continue?
Yes/No? yes

(parted) print
Model: DELL PERC 6/i Adapter (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags

(parted)mkpart primary 0KB 500GB
Warning: You requested a partition from 0.00B to 500GB.
The closest location we can manage is 17.4kB to 500GB.
Is this still acceptable to you?
Yes/No? yes
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore

(parted) print
Model: DELL PERC 6/i Adapter (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 17.4kB 500GB 500GB primary

(parted)quit
Information: You may need to update /etc/fstab.

使用parted制作磁盘分区

parted最大的特点是可以调整现有分区的大小。

sudo parted
help

制作文件系统

分区只是将一款磁盘分割成若干块磁盘,要想在分区中存储数据,还要建立文件系统,以管理文件信息。
文件系统的作用是,对磁盘进行管理,以实现快速的增删查找工作,日志文件系统还附带恢复作用。
mkfs支持的文件系统有:ext2、ext3(日志)、ext4、exfat、vfat、msdos、jfs、reiserfs等。

mkfs -t ext4 /dev/hda1

格式化分区之后,可以使用e2label命令给分区添加卷标:

e2label 分区路径 卷标名

挂载磁盘及分区

制作文件系统后,通过mount将磁盘挂载到当前目录树:

sudo mkdir /dev/temp
sudo mount /dev/sda1 /dev/temp

文件系统的检查和恢复

每个文件系认都有自己的检查和恢复方式,因此出现了一个前段工具fsck,用以屏蔽这些差异。

fsck options filesystem

主板、分区和文件系统

怎么加载操作系统,从哪加载操作系统,是主板厂商和分区格式之间的协议,
所以仅有gpt分区格式这种协议还不够,也得要主板厂商的硬件也支持这种方式的读写,
而支持gpt分区格式的主板叫UEFI
MBR分区使用第一块磁盘的前64个字节存储分区信息,
EFI可以自选存储位置,来代替主引导分区记录表,因此做系统时需要建立一个efi分区。

挂载

自动挂载:

sudo vim /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=XXXXXXXX   /mnt/usb      ext4   defaults  0      0

UUID可以通过lsblk -f查询到。

u盘插入时自动执行脚本:

sudo vim /etc/udev/rules.d/99-my-script.rules
ACTION=="add|change", KERNEL=="sd[a-z]*", SUBSYSTEMS=="usb", RUN+="/path/to/myscript.sh"
sudo udevadm control --reload-rules
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多弗朗强哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值