Linux磁盘查看,使用(分区、格式化、挂载)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
如果我们想要在系统里面新增一块磁盘时应该有哪些操作需要做
- 对磁盘进行划分以建立可用的硬盘分区
- 对该硬盘分区进行格式化format以建立系统可用的文件系统
- 若想要仔细一点则可对刚刚建立好的文件系统进行检验
- 在Linux系统下需要建立挂载点亦即是目录并将它挂载上来
0、观察磁盘分区状态lsblk、blkid、parted
目前磁盘分区主要有MBR以及GPT两种格式这两种格式所使用的的分区工具不太一样因此我们需要去知道目前系统有哪些磁盘以及分区方式等等信息
0.1 lsblk列出系统上的所有磁盘列表
可以把lsblk看做 list block device 的缩写也就是列出所有存储设备的意思
lsblk【-dfimpt】【device】
选项与参数
-d仅列出磁盘本身并不列出该磁盘的分区数据
-f同时列出该磁盘内的文件系统名称
-i使用ASCII的字符输出不要使用复杂的编码在某些环境下很有用
-m同时输出该设备在/dev下面的权限信息rwx的数据
-p列出该设备的完整文件名而不是列出最后的名字而已
-t列出该磁盘设备的详细信息包括磁盘阵列机制、预读写的数据量大小等
列出本系统下所有的磁盘与磁盘内的分区信息
目前系统主要有个sr0以及一个nvme0n1设备
lsblk默认输出的信息
NAME设备的文件名会省略/dev等前导目录
MAJMIN分别为主要与次要设备代码内核识别的设备就是通过这两个代码实现的
RM是否为可拆卸设备removable device如光盘、USB磁盘等
SIZE容量
TYPE是磁盘disk、分区partition还是只读存储器rom等输出
MOUNTPOINT挂载点
列出/dev/nvme0n1设备内所有数据的完整文件名
0.2 blkid列出设备的UUID等参数
UUID时全局唯一标识符universally unique identifierLinux会将系统内所有的设备都给予一个独一无二的标识符这个标识符可以拿来挂载或是使用这个设备或文件系统
补充lsblk -f也可列出设备的UUID
0.3 parted列出磁盘的分区表类型与分区信息
parted devicename print
列出/dev/nvme0n1磁盘的相关信息
Model磁盘的模块名称厂商
Disk磁盘的总容量
Sector sizelogical/physical磁盘的每个逻辑/物理扇区容量
Partition Table分区表格式MBR/GPT
msdos是基于MBR的
这些是分区数据
1、磁盘分区gdisk、fdisk
MBR分区表请使用fdisk分区GPT分区表请使用gdisk分区
为讲解fdisk命令新建了两块磁盘来供我们使用sda与nvme0n2
1.1 fdisk
语法
fdisk 设备名称
输入m查看命令
Help:
DOS (MBR)
a toggle a bootable flag
b edit nested BSD disklabel
c toggle the dos compatibility flag
Generic
d delete a partition
F list free unpartitioned space
l list known partition types
n add a new partition
p print the partition table
t change a partition type
v verify the partition table
i print information about a partition
Misc
m print this menu
u change display/entry units
x extra functionality (experts only)
Script
I load disk layout from sfdisk script file
O dump disk layout to sfdisk script file
Save & Exit
w write table to disk and exit
q quit without saving changes
Create a new label
g create a new empty GPT partition table
G create a new empty SGI (IRIX) partition table
o create a new empty DOS partition table
s create a new empty Sun partition table
介绍其中常用的目录
d delete a partition 删除一个磁盘分区
n add a new partition 新增一个磁盘分区
p print the partition table 在屏幕上显示分区表
w write table to disk and exit 保存退出
q quit without saving changes 不保存退出
先查看一下我们的分区表此时是没有分区的
创建一个分区的各个流程
新增分区n
p primary (0 primary, 0 extended, 4 free) 主分区
e extended (container for logical partitions) 扩展分区选择分区类型p/e
分区位置1-4
选择起始扇区位置和结束扇区位置
结束扇区的位置除了选择数字外还可以使用+/-来选择容量大小因为通过512B*扇区数量来计算比较麻烦
全部流程
创建一个主分区
创建一个扩展分区
创建一个逻辑分区逻辑分区是位于扩展分区内的
此时我们来查看一下分区表
保存退出
查看路径下的sda磁盘1-4是给主分区和逻辑分区使用的
1.2 fdisk
语法gdisk 设备名称
gdisk跟fdisk使用方法几乎一样这里就不做多介绍了
补充使用partprobe更新Linux内核的分区表信息因为有时候Linux还在使用磁盘为了防止和系统出问题所以分区表有时候没有被更新这个时候有两种方法来处理一种为重新启动另一种就是利用partprobe命令
partprobe【-s】加上选项-s可以把信息打印到屏幕上
2、磁盘格式化创建文件系统mkfs
mkfs命令有一个-t选项可以供我们指定要构建的文件系统的类型
-t, --type type
Specify the type of filesystem to be built. If not specified, the default filesystem type (currently ext2) is used
mkfs其实是一个综合命令当我们使用mkfs -t xfs时他就会去找mkfs.xfs相关的参数给我们使用当我们使用mkfs -t ext4时他就去找mkfs.ext4的相关参数所以mkfs -t xfsmkfs -t ext4与使用mkfs.xfsmkfs.ext4是一样的
使用不同的文件系统它输出的效果是不同的
3、文件系统挂载
挂载点是一个目录这个目录是进入磁盘分区其实是文件系统的入口
在挂载前你需要确认一下
- 单一文件系统不应该被重复挂载在不同的挂载点目录中
- 单一目录不应该重复挂载多个文件系统
- 要作为挂载点的目录理论上应该都是空目录才行
如果用来挂载的目录不为空那么挂载了文件系统之后原目录下的东西就会暂时地消失
3.1.1 手动挂载mount
mount -a
mount -l
mount 【-t 文件系统】LABEL=‘ ’ 挂载点
mount 【-t 文件系统】UUID=‘ ’ 挂载点
mount 【-t 文件系统】设备文件名 挂载点
选项与参数
-a依照配置文件/etc/fstab的数据将所有未挂载的磁盘都挂载上来
-l单纯的输入mount会显示目前挂载的信息加上-l可增列Label名称
-t可以加上文件系统种类来指定欲挂载的类型
-n在默认情况下系统会将实际挂载的情况即时写入/etc/mtab中所以可使用-n来避免写入
-o后面可以接一些挂载时额外加上的参数
这个时候我们就可以进入挂载点来使用磁盘
取消挂载后在磁盘中创建的文件还会存在于磁盘但挂载点下已经无法找到了因为取消了挂载就取消了进入此磁盘的入口
3.1.2 手动取消挂载umount
umount 设备名/文件系统/挂载点
3.2 自动挂载
如何开机时自动把我们的文件挂载好直接到/etc/fstab中去修改就行
系统挂载的一些限制
- 根目录时必须挂载的而且优先级一定要先于其他挂载点被挂载进来
- 其他挂载点必须为已建立的目录可任意指定但一定要遵循必须的系统目录架构原则FHS
- 所有挂载点在同一时间之内只能挂载一次
- 所有硬盘分区在同一时间之内挂载一次
- 如若进行卸载你必须先将工作目录已到挂载点及其子目录之外
/etc/fstab文件内容
这个文件就是我们利用mount命令进行挂载时将所有选项与参数写入的文件
这个文件共有六部分
第一栏磁盘文件名/UUID/LABEL name
第二栏挂载点目录
第三栏磁盘分区的文件系统
第四栏文件系统参数
第五栏是否能被dump备份命令作用
第六栏是否以fsck检验扇区
修改文件内容使之能够开机自动挂载
保存退出后我们重启看看
3.3 重启自动挂载失败解决问题
当我们的磁盘出现问题此处把磁盘的分区删除了时重启时挂载不上怎么办
解决方案
在启动界面选择第一项并按e进入编辑
进入此界面后在linux开头到quiet结尾的句子最后加上rd.break
加入后按ctrl+x继续启动进入紧急模式
进入紧急模式输入root密码
输入mount -n -o remount,rw /sysroot重新挂载根目录
chroot /sysroot切换文件系统
vim /etc/fstab编辑文件将挂载错误的文件系统删除或注销sda1的那一行删除
最后两个exit退出根文件系统和紧急模式 等待系统启动