首页 > 代码库 > Linux的磁盘管理
Linux的磁盘管理
1.磁盘名词简介
mbr 主引导记录(MBR,Main Boot Record)是位于磁盘最前边的一段引导(Loader)码。 mpt 硬盘有效性标示。0磁道一扇区的512个字节分别是 前446:mbr主引导记录。负责找到/boot这个分区 ,447-510是mpt主分区表 ,最后两个字节是mpt硬盘的有效性标识符。
磁盘分区有三种,主磁盘分区、扩展磁盘分区、逻辑分区。 一个硬盘可以有一个主分区,一个扩展分区,也可以只有一个主分区没有扩展分区。逻辑分区可以若干。 主分区是硬盘的启动分区,他是独立的,也是硬盘的第一个分区。 分出主分区后,其余的部分可以分成扩展分区,一般是剩下的部分全部分成扩展分区,也可以不全分,那剩的部分就浪费了。 但扩展分区是不能直接用的,他是以逻辑分区的方式来使用的,所以说扩展分区可分成若干逻辑分区。他们的关系是包含的关系,所有的逻辑分区都是扩展分区的一部分 ,硬盘的容量=主分区的容量+扩展分区的容量 扩展分区的容量=各个逻辑分区的容量之和 。
2.磁盘查看命令
fdisk -l 系统中的所有磁盘设备
df -TH 系统正在挂载的磁盘设备
blkid 系统可以挂载的磁盘设备id
3.分区划分
查看分区,开始分区 fidsk /dev/vdb
Command (m for help): m 获得帮助
Command action(常用注释如下)
a toggle a bootable flag 设置启动分区
b edit bsd disklabel 编辑分区标签
c toggle the dos compatibility flag
d delete a partition 删除分区
g create a new empty GPT partition table
G create an IRIX (SGI) partition table
l list known partition types 列出系统可用分区类型
m print this menu 帮助
n add a new partition 新建分区
o create a new empty DOS partition table 创建一个新的空白DOS分区表
p print the partition table 显示分区
q quit without saving changes 退出
s create a new empty Sun disklabel
t change a partition‘s system id 修改分区功能id
u change display/entry units 改变显示的单位
v verify the partition table 检查验证分区表
w write table to disk and exit 保存更改到分区表中
x extra functionality (experts only)
选择n 新建分区,分区类型为主分区p,主分区id为1,起始位置默认,结束位置默认,分区大小为100M,wq 保存并退出,只输入q则表示放弃更改退出
partprobe 同步分区表
cat /proc/partitions 查看分区列表
文件系统
mkfs.xfs /dev/vdb1 格式化
mount /dev/vdb1 /mnt 临时挂载
vim /etc/fstab 永久挂载
编写格式:
device mountpoint ftype defaults(mountpoint) 0 0
/dev/vdb1 /mnt xfs defaults 0
mount -a 使/etc/fastab中记录的挂载生效
4.删除分区
先使用umount命令解除挂载
注:当挂载点被使用时,无法解除挂载,需要用fuser -kvm结束使用的进程,然后进行解除挂载
解除挂载之后,使用fdisk /dev/vdb命令 删除分区
fuser -vm /目录 查看用户使用的进程
fuser -kvm /目录 直接删除进程,可以完成取消挂载
5.设定分区方式,将mkdocs 改为 gpt
GUID磁碟分割表(GUID Partition Table,缩写:GPT)其含义为“全局唯一标识磁盘分区表”,是一个实体硬盘的分区表的结构布局的标准。它是可扩展固件接口(EFI)标准(被Intel用于替代个人计算机的BIOS)的一部分,被用于替代BIOS系统中的一32bits来存储逻辑块地址和大小信息的主开机纪录(MBR)分区表。分区数量上,gpt好像可以支持无限个分区,不过window上只认128个,而且gpt分区不分主分区,逻辑分区,可以理解为全部都是主分区,就相当于可以允许你一个分区一个系统,128个系统了。而这是mbr做不到的,mbr最多只能有四个系统,如果你想要多于四个的分区,那还得牺牲掉可以装一个系统的主分区,即把它装换为逻辑分区。
安全性上,gpt会更安全,因为分区表会备份,且加入校验算法,一旦被病毒感染或误操作可以及时发现,使用安全的备份的分区表补救。
分区容量上,gpt可以识别出大于2T的硬盘,而mbr最大就2t容量更改之前需要把正在使用的分区关闭,才可以进行更改
partoff /dev/vdb2
parted /dev/vdb
已经划分为gpt格式分区
单位新增G,T,P
GPT格式比MBR新增一个PARTUUID全局唯一标示
6.添加swap分区
fdisk /dev/vdb ##添加一个分区
Command (m for help): t
Partition number (1,2, default 2): 2
Partition type (type L to list all types): l
14 Linux swap 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
经过按“l”查看 14 为Linux swap 分区,所以type选择14
mkswap /dev/vdb2 格式化成swap类型
swapon -a /dev/vdb2 加入swap
swapon -s 查看swap分区
设置完成后需要mount挂载,永久挂载需配置etc/fstab文件
7.更改gpt下的swap 为mkdos下的swap
取消挂载,关闭swap分区
设置mbr分区
用mbr分区创建swap分区
注:mbr的linux swap 分区代码为82,与gpt的14不一样
设置完成后需要mount挂载,永久挂载需配置etc/fstab文件
8.用文件来添加swap
dd if=/dev/zero of=/swapfile bs=1M count=1000 创建一个1G大小的文件
mkswap /swapfile 格式化为swap类型
swapon -a /swapfile 临时添加到swap里
-p + 数字 更改优先级
vim /etc/fstab 永久添加swap分区
类型:
/swapfile swap swap defaults,pri=1 0 0 pri优先级,以优先级=1优先挂载
配置永久挂载
查看状态
9.删除swap
第一.vim /etc/fstab 删除此文件中添加的swap行
第二.swapoff /swapfile 断开swap文件链接
swapoff /dev/vdb1 断开swap磁盘链接
第三.rm -rf /swapfile 删除文件
第四.fdisk /dev/vdb 删除磁盘分区
第五.partprobe 同步分区表
第六.swapon -s 查看swap分区状态
Linux的磁盘管理