磁盘分区和挂载
lsblk #查看分区信息;list block,用于列出所有可用块设备的信息,还能显示他们之间的依赖关系。
关于sda和sdb:
sda里装的是系统;sdb可以进行分区,Linux系统里必须要有的三个分区是:主分区,逻辑分区,扩展分区。
关于主分区、逻辑分区、扩展分区
使用fdisk命令创建的主分区最多只能创建四个,使用gdisk命令创建的主分区最多能创建128个,这两个命令都可以给磁盘分区,但是如果磁盘大于2T,只能使用gdisk命令,而gdisk命令要手动安装一下。使用最多的是fdisk命令。下面以fdisk命令为例。
主分区最多只能分四个,创建主分区后,要创建扩展分区,剩下的空间全部分为扩展分区,但是,扩展分区是不能存数据的,数据在逻辑分区里,所以,必须分成各个逻辑分区,各个逻辑分区加在一起是一个扩展分区,也就是说,有扩展分区后,要把它分成各个的逻辑分区。(主分区可创建四个,扩展分区只能创建一个)
硬盘的容量=主分区的容量+扩展分区的容量(而扩展分区的容量=各个逻辑分区的容量之和)
操作:
fdisk /dev/sdb #磁盘分区
n #add a new partition 新建一个分区
p #创建主分区
扇区(2048-41943039,默认2048),那扇区为什么不从零而是从2048开始呢?
Last扇区 +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+1G
#这里如果输入错误的话,删除键是删不了的,要按ctrl+删除键才能删掉
n新建一个分区
e创建一个扩展分区
回车 #会把剩下的内存默认全部分配到扩展分区
n新建一个分区
e创建一个扩展分区
l #创建逻辑分区,默认从5开始计数(sdb5)
+1G
n新建一个分区
e创建一个扩展分区
l #创建逻辑分区sdb6
回车 #默认给分配所有空间
q #退出不保存
w #保存并退出
分区完成后,如果不想要了怎么格式化呢?
mkfs.xfs /dev/sdb -f #mkfs创建一个新的文件系统;.xfs文件系统类型;/dev/sdb指定路径;-f 格式化
课堂练习:创建一个主分区2G,第二个主分区3G,逻辑分区,一个10G,一个1G(这道题会造成空间浪费,记得剩下的也分)
格式化及挂载
注意:所有分区都得挂载才能使用
挂载包括临时挂载和永久挂载
临时挂载
1.创建两个分区sdb1和sdb2:fdisk /dev/sdb
2.创建完成后格式化这两个分区:mkfs.xfs /dev/sdb1 -f和mkfs.xfs /dev/sdb2 -f #注意,.xfs还可以改为.ext4(这里就是创建分区并指定文件系统类型了)
3.创建一个目录,或者使用已有的目录
4.进行分区挂载:mount /dev/sdb1 /d1和mount /dev/sdb2 /d2 #这里是把sdb1挂载到/d1目录,把sdb2挂载到/d2里面
5.如果要格式化的话,先取消分区的挂载:umount /dev/sdb1 /d1
6.进行了步骤5后:mkfs.xfs /dev/sdb -f(sdb2的取消分区挂载我没写)
关于xfs和ext4,二者都是文件系统类型,那么有什么区别呢?xfs日志文件系统,ext4第四代扩展文件系统。xfs是centos7默认的文件系统
课堂练习:创建sdb1 sdb2 分别为 xfs和ext4文件系统类型,分别挂载在/d1 和/d2下并查看
fdisk /dev/sdb
mkfs.xfs /dev/sdb1 -f
mkfs.ext4 /dev/sdb2
mkdir /d1
mkdir /d2
mount /dev/sdb1 /d1
mount /dev/sdb2 /d2
df -Th #可以查看分区和挂载点
注意:分区不能给的空间太小,要不然没法挂载
关于固态硬盘和机械硬盘
SSD 固态硬盘
HDD 机械硬盘
固态硬盘的优势:
- SSD不需要机械结构,完全的半导体化,不存在数据查找时间、延迟时间和磁盘寻道时间,数据存取速 度快。
- SSD全部采用闪存芯片,经久耐用,防震抗摔,即使发生与硬物碰撞,数据丢失的可能性也能够降到最小。
- 得益于无机械部件及闪存芯片,SSD没有任何噪音,功耗低。
- 质量轻,比常规1.8英寸硬盘重量轻20-30克,使得便携设备搭载多块SSD成为可能。同时因其完全半导体化,无结构限制,可根据实际情况设计成各种不同接口、形状的特殊电子硬盘。
硬盘尺寸:3.5寸 2.5寸 1.8寸
硬盘接口:(硬盘上写的有)
永久挂载
vi /etc/fstab #进入编辑
/dev/mapper/centos-root / xfs defaults 0 0
(以空格分割)第一列设备名称;第二列/是挂载点; 第三列xfs是文件系统类型;第四列defaults是属性(不用记,是默认创建的属性,是固定的); 第五列第六列:不备份,不检查(也是默认的固定的)
操作:
#注意,这种方式不推荐用,要用用uuid的方式。
第一步:先分区fdisk /dev/sdb
第二部:格式化 mkfs.xfs /dev/sdb1 -f
mkfs.xfs /dev/sdb2 -f
第三步:vi编辑vi /etc/fstab
添加设备名称,挂载点,文件系统类型,属性,和0 0
第四步:mount -a #自动挂载
第五步:lsblk #查
UUID的方式挂载
查看UUID:blkid
复制sdb1和sdb2的uuid那行里UUID=”xxx”到vi /etc/fstab 放到最后一行 写上挂载点,文件系统类型 默认属性和默认的不备份不检查
自动挂载命令:mount -a
如果有人把你的/etc/fstab文件里的/dev/mapper/centos-root / xfs defaults 0 0给注释掉了,那你所有的文档都只能只读,不能修改!(注意逆向思维)同时root密码忘记了怎么办?
看下面
先永久关闭selinux (临时关闭selinux命令是setenforce 0):
vi /etc/selinux/config #vi进入编辑
selinux=enforcing改成selinux=disabled
重启虚拟机,在进入内核前,按e(进入单用户),修改linux16那行,在后面加上init=/bin/sh
Ctrl+x重启,进入的界面里输入#mount -o remount,rw / 以读写的方式挂根。然后可以passwd修改密码(这里为忘记密码准备的),还可以vi /etc/fstab 里修改回来。最后exec /sbin/init直接执行 结束。
今日作业
-
请临时挂载sdb1 sdb2 到 /mnt/dir1 /mnt/dir2 下 文件系统为ext4
mkfs.ext4 /dev/sdb1 mkfs.ext4 /dev/sdb2 mount /dev/sdb1 /mnt/dir1/ mount /dev/sdb2 /mnt/dir2/
-
格式化sdb
(先取消挂载)mkfs.ext4 /dev/sdb
-
永久挂载使用uuid方式挂载 sdb1 sdb2 到 /mnt/dir1 /mnt/dir2 下 文件系统为xfs
blkid vi /etc/fstab UUID="37ec5c74-442a-489d-9f84-bb304381432f" /mnt/dir1 ext4 defaults 0 0 UUID="0f661618-50c7-4317-af6d-36ba5a56de3f" /mnt/dir2 ext4 defaults 0 0 mount -a
-
查看文件系统类型,然后格式化sdb
df -Th 先取消挂载,然后reboot now ,然后格式化
-
/etc/fstab 里每一段都是什么意思?
第一列:设备名称;第二列:挂载点;第三列:文件系统类型;第四列:属性;第五六列:不备份不检查
-
机器的/被注释了,请解决 提示:在 -bash4.2 可以使用vi编辑器,先挂根,进入某个文件取消#即可
进入单用户模式(进入引导分区之前按e), 在linux16那行的UTF-8后加上 init=/bin/sh ctrl+x sh-4.2#mount -o remount,rw / vi /etc/fstab reboot now
-
查看uuid用什么命令? 为什么有时候没有uuid?
blkid 看看你有没有分区
-
Linux内核引导时,从文件() 中读取要加载的文件系统.
/etc/fstab
-
破解root密码,为什么要破解root密码?什么场景用
什么场景用:当物理机出现问题无法远程连接,需要到现场进行账号登录操作,而通常管理员不记录root密码,所以需要现场破解root密码登录系统进行排错操作