赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。