Linux操作系统

第8讲文件系统管理(FS Management:fdisk+parted)

1.操作系统的两种启动模式:Legacy BIOS 和UEFI
1.1 Legacy BIOS(Basic Input/Output System,基本输入/输出系统)
在开机时需要进行自检,启动过程较复杂。且传统的BIOS无法识别GPT分区表,只能识别MBR分区表。
分区表的两种类型:GPT分区表和MBR分区表
1.2 UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)
直接从预启动的操作环境加载操作系统,简化开机过程有效提高启动速度。可以同时识别GPT和MBR。

2.磁盘分区表的两种类型:MBR和GPT
2.1 MBR(Master Boot Record,主引导记录或主引导扇区)
MBR是计算机开机后必须读取的首个扇区,它在硬盘上的三维地址为(0柱面,0磁头,1扇区)
MBR中记录着磁盘本身的相关信息以及磁盘各个分区的大小及位置信息。
硬盘中扇区的大小一般为512个字节。
本地硬盘启动会读取硬盘的第一个扇区(512Bytes),存放着主引导记录MBR(Master Boot Record)
第一部分:446字节的启动加载程序Bootloader
第二部分:64字节的磁盘分区表,由于存放每个分区信息需要16个字节,所以采取MBR结构的磁盘,最多只能有4个主分区。(64/16=4)
第三部分:2字节的结束标志
MBR分区的局限性:1. 采取MBR结构的磁盘,最多只能有4个主分区。 2. MBR分区方案无法支持超过2TB的磁盘容量。因为MBR分区方案使用4个字节存储分区的总扇区数,最大能表示2的32次方的扇区个数,按每个扇区512个字节计算,每个分区最大不能超过2TB 2的30次方是1GB,2的32次方是4GB,5122的32次方=5124G=51222GB=2TB

2.2 GPT(GUID Partition Table,全局唯一标识磁盘分区表)
是一种更先进的磁盘组织方案,是UEFI启动的磁盘组织方式,GPT有自己的分区表,且在GPT分区表的头部可自定义分区数量的最大值,可以灵活设置,不固定。例如Windows设定的GPT最大分区数量为128个。可以突破4个主分区的限制。
GPT分区方案中逻辑地址采用64位二进制位表示,可以表示2的64次方个地址,近乎于一个天位数字了,目前的硬盘不可能达到,分区就更不可能了。所以分区上限突破了2TB。
另外,GPT分区方案在磁盘的末端还有一个备份分区表,保证了分区信息不容易丢失。

3.Linux下的磁盘分区及其表示方法
一切对象皆文件
3.1磁盘的表示方法
Sd SCSI类型磁盘,a,b,c序号
/dev/sda—第一块磁盘(针对SCSI或串口磁盘)
/dev/sdb—第二块磁盘
/dev/sdc—第三块磁盘
Hd IDE类型磁盘
/dev/hda,/dev/hdb,/dev/hdc,…(传统的IDE磁盘)
Vd 虚拟磁盘
/dev/vda,/dev/vdb,/dev/vdc,…(虚拟磁盘)
3.2 分区的表示方法
/dev/sda1—第一块磁盘的第一个分区
/dev/sda2—第一块磁盘的第二个分区
/dev/sdb1—第二块磁盘的第一个分区
/dev/hda1—第一块磁盘的第一个分区(传统的IDE磁盘)
3.3 MBR类型中的主分区,扩展分区和逻辑分区
一块1T的硬盘
C—400G—/dev/sda1(主)
D—100G—/dev/sda2(主)
E—100G—/dev/sda3(主)
/dev/sda4(扩展分区)
F—100G—/dev/sda5(逻辑分区)
G—100G—/dev/sda6(逻辑分区)
H—100G—/dev/sda7(逻辑分区)
I—100G—/dev/sda8(逻辑分区)
MBR分区表中的几个结论:
主分区的个数至多4个;
a.扩展分区可以理解为是一个特殊的主分区,它是一个容器,其中可以包含多个逻辑分区;
b.扩展分区的大小=各个逻辑分区大小之和+未划分的扩展分区大小;
c.真正能使用的数据分区只能是主分区和逻辑分区;
d.磁盘的剩余空间=
分区个数少于4个时:磁盘的剩余空间=磁盘的总容量-已划分出的主分区容量综合
分区个数超过4个时:磁盘的剩余空间=扩展分区-各逻辑分区之和;

3.4 GPT分区表中的几个结论:
a.主分区个数不用限制为4个,可以自定义,Windows系统主分区个数定义为128个
b.单个分区容量可以超过2TB,上限2的64次方

4.为虚拟机添加一块磁盘的方法(需要提前关闭虚拟机)
双击虚拟机->show virtual machine details(灯泡的图案)->virtIO Disk 1->左下方add hardword(10G)->bus type(VirtIO)->finish
步骤:从virtual machine manager 进入serverb管理界面,在小图标选择shut down
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述
准备工作完成之后回到终端窗口,ping通serverb并登陆
在这里插入图片描述
(1)fdisk -l 查看磁盘及分区信息
在这里插入图片描述

磁盘分区  该磁盘分区        起始柱面         			 扇区个数      容量     文件系统      解释 
名称      是否引导分区                                                             	   类型

 Device     Boot          Start      End             Sectors       Size     Id         Type 
 /dev/vda1  *              2048      20971486  		 20969439  		10G      83         Linux

辨别分区的类型
第五行Disklabel type dos传统的MBR类型(默认)
gpt GPTleixing

真正物理机磁盘分区:

在这里插入图片描述(2)lsblk(或者lsblk --fs)
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
vda 252:0 0 10G 0 disk
└─vda1 252:1 0 10G 0 part /
vdb 252:16 0 5G 0 disk

5.使用新磁盘的整体流程
分区—更新磁盘分区表—格式化—挂载—使用

6.分区的步骤:(在Servera上做实验)
6.1 fdisk分区命令的使用技巧(注意:fdisk命令只有交互式方式,没有命令方式)
例1,创建大小为100M,200M,300M,400M,500M的5个磁盘分区(MBR与GPT两种分区表类型都要测试)。
例2,在另一块空白磁盘上创建一个主分区200M,两个逻辑分区,大小都为100M。(注意逻辑分区的编号)

6.1.1 fdisk分区命令的使用技巧(MBR分区类型实例)
小技巧:交互状态时的退格删除按键是ctrl+Backspace
(1)fdisk /dev/vdf(默认分区表类型为dos,即MBR分区类型)
m print this menu 打印帮助手册
p print the partition table
d delete a partition(删除分区时,必须从后往前一个一个删除)
n add a new partition(创建分区时,必须从前往后一个一个创建)
t change a partition’s system id
l list known partition types
5 Extended
7 HPFS/NTFS
b W95 FAT32
82 Linux swap
83 Linux — xfs,ext4,ext3,ext2
8e Linux LVM
w write table to disk and exit
q quit without saving changes
MBR分区操作步骤:
1.fdisk /dev/vdb这是fdisk -l 看到的一块干净磁盘
在这里插入图片描述创建分区100M,200M,300M的三个分区
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述原因:主分区只有4个分区
解决办法:使用d指令删除分区4,并计算磁盘的剩余空间5G-100M-200M-300M=4.4G,创建拓展分区,把剩余空间全部分给拓展分区,即类型e,first回车,last回车完成创建vdb4,接下来就可以创建逻辑分区了。
在这里插入图片描述在这里插入图片描述在这里插入图片描述更改分区类型
在这里插入图片描述在这里插入图片描述6.1.2 fdisk分区命令的使用技巧(GPT分区类型实例)
(1)fdisk /dev/vdb
g create a new empty GPT partition table //GPT类型分区表
o create a new empty DOS partition table //MBR类型分区表
在这里插入图片描述Command (m for help): g //设置磁盘/dev/vdb分区表类型为GPT
Created a new GPT disklabel (GUID: 4518A21F-3017-324E-9B55-17753B79EF9E).
Command (m for help): p
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: gpt
Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E
在这里插入图片描述Command (m for help): n //创建磁盘分区
Partition number (5-128, default 5):
First sector (2050048-10485726, default 2050048):
Last sector, +sectors or +size{K,M,G,T,P} (2050048-10485726, default 10485726): +500M //设置该分区大小为500M
Created a new partition 5 of type ‘Linux filesystem’ and of size 500 MiB.
Command (m for help): p //查看分区情况
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: gpt
Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E
Device Start End Sectors Size Type
/dev/vdb1 2048 206847 204800 100M Linux filesystem
/dev/vdb2 206848 616447 409600 200M Linux filesystem
/dev/vdb3 616448 1230847 614400 300M Linux filesystem
/dev/vdb4 1230848 2050047 819200 400M Linux filesystem
/dev/vdb5 2050048 3074047 1024000 500M Linux filesystem
Command (m for help): w //写入并退出
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
在这里插入图片描述不用区分主分区与拓展分区
在这里插入图片描述fdisk -l /dev/vdb
Disk /dev/vdb: 5 GiB, 5368709120 bytes, 10485760 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
Disklabel type: gpt
Disk identifier: 4518A21F-3017-324E-9B55-17753B79EF9E
Device Start End Sectors Size Type
/dev/vdb1 2048 206847 204800 100M Linux filesystem
/dev/vdb2 206848 616447 409600 200M Linux filesystem
/dev/vdb3 616448 1230847 614400 300M Linux filesystem
/dev/vdb4 1230848 2050047 819200 400M Linux filesystem
/dev/vdb5 2050048 3074047 1024000 500M Linux filesystem

lsblk /dev/vdb --fs
NAME FSTYPE LABEL UUID MOUNTPOINT
vdb
├─vdb1
├─vdb2
├─vdb3
├─vdb4
└─vdb5
7 更新磁盘分区表的方法
udevadm settle //如果该命令正确,说明分区过程正确
partprobe
(reboot)
cat /proc/partitions
在这里插入图片描述8 格式化磁盘分区的方法(xfs,ext4,ext3,ext2,swap,vfat)
(1)mkfs.xfs /dev/sde1
或者 mkfs -t xfs /dev/vde1
验证方法:
1.blkid查看UUID,格式化完毕就有uuid
在这里插入图片描述2.lsblk --fs /dev/vde 查看uuid和挂载目录关联情况(df-Th)
NAME FSTYPE LABEL UUID MOUNTPOINT
vde
├─vde1 ext4 4215fb3c-a79c-42c8-bdc8-c2ef38ad7a0d
└─vde2 xfs 05014fdc-8deb-460d-92cb-4b5d5437a850
在这里插入图片描述(2)mkfs.ext4 /dev/sdb2
或者 mkfs -t ext4 /dev/sdb2 更常用
在这里插入图片描述(3)mkfs.ext3 /dev/sdb5
(4)mkfs.vfat /dev/sdb3
在这里插入图片描述(注意:在使用fdisk创建/dev/sdb3时,要将其类型修改为FAT32格式)
(5)mkswap /dev/sdb6
(注意:在使用fdisk创建/dev/sdb6时,要将其类型修改为SWAP格式)
在这里插入图片描述注意:在格式化vfat的时候,会提示-bash: mkfs.vfat: command not found
解决: yum provides mkfs.vfat 或者yum whatprovides mkfs.vfat
yum -y install dosfstools.x86_64
类型一定要前后呼应
9 挂载mount
格式化好的磁盘分区在Linux系统下仅仅是一个设备文件,例如/dev/vde1,/dev/vde2,不能直接使用。
只有将该设备文件绑定到一个目标目录上才可以使用(该过程称为挂载)。
给目标目录提供一个格式化好的存储空间支持
9.1 通过设备文件名挂载物理分区
方法一:通过mount命令实现手动挂载
mkdir /mmm1
mount /dev/sdb2 /mmm1
mount -t ext3 /dev/vde2 /zhangsan3
df -Th(要知道各个字段信息的含义)
在这里插入图片描述lsblk --fs (通过mount point字段可以查看到是否挂载到目标目录上)
在这里插入图片描述cd /mmm1
touch 111.txt
mkdir 111
umount /mmm1(或者 umount /dev/sdb2)卸载
在这里插入图片描述df -Th
方法二:通过/etc/fstab文件实现开机自动挂载 考试时使用
vim /etc/fstab文件前三个字段的含义
磁盘分区名=UUID
设备文件名/dev/sda1 挂载目标目录/ 设备文件名对应的分区的类型ext4
/dev/sdb2 /mmm1 ext4 defaults 0 0
df -Th
mount -a 模拟重启过程
df -Th
在这里插入图片描述在这里插入图片描述9.2 通过UUID挂载物理分区
blkid 只显示已格式化的分区的UUID信息
注意:各物理设备的UUID号是系统定义好的,唯一的,用户无法修改。
方法一:通过mount命令实现手动挂载
mount UUID=“0ef71ac1-ac8a-4be9-821e-d98bc21e23f7” /xinguan1
方法二:通过/etc/fstab文件实现开机自动挂载
vim /etc/fstab
UUID=“0ef71ac1-ac8a-4be9-821e-d98bc21e23f7” /xinguan1 ext4 defaults 0 0
mount -a
在这里插入图片描述
完成挂载之后reboot重启,看ping通serverb说明操作正确,出现卡死情况说明vi有地方写错了

在这里插入图片描述9.3 使用该分区存放数据的方法二—通过卷标挂载物理分区(已经很少使用了)
注意:xfs,vfat,swap格式不支持卷标挂载,只有传统的ext3,ext4格式才可以使用卷标。
e2label /dev/sdb5 查看底层物理分区的卷标名称
e2label /dev/sdb5 sdbb5 设置底层物理分区的卷标名称
方法一:通过mount命令实现手动挂载
mount LABEL=sdbb5 /xinguan1
方法二:通过/etc/fstab文件实现开机自动挂载
vim /etc/fstab
LABEL=sdbb5 /xinguan1 ext4 defaults 0 0
mount -a

10 使用
在挂载好的目标目录上运行touch,mkdir等命令测试
在这里插入图片描述
在使用时想要卸载是不允许的,需要上跳一层或几层才可以卸载
在这里插入图片描述卸载后发现该目录下的内容不见了,还可以手动挂载,内容恢复
即目标目录的内容是变化的
前提条件:如果一个目标目录没有具体指明存储空间支持,则其存储空间支持由它对应的父目录提供
在这里插入图片描述当当前目录未挂载时,在目录下创建子目录和文件发现没有影响,只是查看时看不到
在这里插入图片描述重新挂载,再查看就有了,说明Linux下目录是虚拟的。
在这里插入图片描述11.在Linux系统下识别NTFS格式的U盘或移动硬盘的方法:
如果基于NTFS格式的U盘和移动硬盘在Linux系统下均无法识别。
解决方法:
登录服务器,下载ntfs相关软件包ftp://10.226.41.226/soft/ntfs-3g-2013.1.13-5.el7.x86_64.rpm到桌面。
切换路径到桌面,安装ntfs软件包(yum -y install ntfs-3g[tab])

12.大于4G的单个文件在FAT32文件系统下无法拷贝的问题:
问题:如果U盘或移动硬盘为FAT32格式,则拷贝大于4G的单个文件会报错。
解决方法:
将该磁盘在Windows下重新格式化成NTFS。

第9讲:swap交换分区管理
1.开机自动挂载文件/etc/fstab中六个字段的含义
vim /etc/fstab
设备名称或设备UUID 挂载点 文件系统类型 权限 内核日志检测机制0不检测 磁盘检测机制0不检测
/dev/vdc1 /mnt/dir1 ext4 defaults 0 0
UUID=64237913-4937-48ff-8afa-28c6fc05124d /mnt/dir2 xfs defaults 0 0
注意:修改完/etc/fstab文件,虽然可以用mount -a命令测试是否成功挂载,但一定要reboot重启系统测试。

2.由于/etc/fstab文件书写错误导致系统无法启动的解决方法
Mount -a 或reboot重启之后卡死,Ping servera不通的情况下:
在这里插入图片描述例如,将/etc/fstab文件中的一行挂载纪录写成了如下形势default
/dev/vde2 /222 ext4 default 0 0
则重启系统时无法正常启动,打开vmm查看
Failed to mount /222, See ‘systemctl status 222.mount’ for details.
在这里插入图片描述系统会进入一种救援模式:
Give root password for maintenance
(or press Control-D to continue):
在这里插入图片描述正确输入root用户密码,即可获取#权限
在这里插入图片描述vim /etc/fstab
检查错误,这里将default改成defaults,变成绿色说明正确。
在这里插入图片描述reboot重启系统
df -Th

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值