1:什么是MBR?什么是分割表?
MBR(master boot record),即硬盘的主引导记录,分割表(partition table),即硬盘的分区表。在系统关机时,硬盘内的磁盘上的磁头会回到整个磁盘的第一个扇区,当再次启动系统时,磁头会首先读取这个扇区的内容,这个扇区有512个字节,其中446字节记录了开机管理程序,开机时,磁头首先读取这个区域的记录,才会知道你的程序放在那里和如何开机,如果要安装多重引导系统,对这个区域的管理就很重要。还有64字节就是分割表了,它记录了整个硬盘的分割状态,对磁盘分出一个区需要用16个字节去记录,所以这也就是我们为什么最多只能分出四个主分区的原因。那么,这个扇区就还剩下2个字节,这2个字节是结束标志字,0xAA55或0x55AA,成为魔数(magic number),如果没有这个标志,系统会认为硬盘未初始化,无法正确加载磁盘的分区。
注意:需要提示的是也有人会认为整个第一个扇区为MBR,这是一种广义的定义。
2:分区类型
我们可以各种分区方式对整个磁盘进行分区,分区之后,需要进行格式化之后才能使用,常见的磁盘格式有:windows下:FAT16,FAT32,NTFS等,最新的格式为exFAT。linux下为ext系列,ext4,ext3等等。
3:几个了解自己主机分区状态的命令
1)fdisk -l ##可以查看主机所挂硬盘个数及分区状态
如上,我们可以知道本主机中挂载了两个硬盘,一个是vda,10.7G。一个是vdb,10.7G。其中sda有一个主分区vda1。vdb还没有被分区。如果想具体的了解单个硬盘或分区的情况可以通过fdisk -l /dev/vdb fdisk -l /dev/vda1 来查看。
2)df -h 和 df -H ##查看文件系统的磁盘占用情况
用这两个命令可以查看每个分区的大小,已被使用的区域大小,剩余的空闲区域的大小,使用的百分比,被挂载到那个目录。需要注意的是,df -h 中的计算方法:1k=1024。df -H
中:1k=1000。所以显示的大小会有偏差。
3)blkid ##查看设备上所采用的文件系统类型
如上,我们可以知道/dev/vda1的UUID和它的文件系统类型为xfs。
4) cat /proc/partitions ##显示系统能识别的分区情况
4:用fdisk 分区 并使用分区
fdisk 磁盘名 ##对目标磁盘进行分区
如上,就是对/dev/vdb 进行分区,我们可以按照提示用m获取帮助
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
p print the partition table ##显示分区表
q quit without saving changes ##退出分区工具
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit ##保存更改并退出
Command (m for help): n ##新建分区
Partition type:
p primary (0 primary, 0 extended, 4 free) ##p主分区
e extended ##扩展分区
Select (default p): p ##我选择新建一个主分区
Partition number (1-4, default 1): 1 ##我选择建立在第一个的位置上
First sector (2048-20971519, default 2048): ##直接回车,默认选择起始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-20971519, default 20971519): +1G ##+1G代表这个分区我给了1G大小
Partition 1 of type Linux and of size 1 GiB is set
Command (m for help): w ##保存并退出
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
##如上,我们现在就在vdb上分出了一个1G大小的区。接下来,我们需要用[root@desktop ~]# partprobe 命令同步分区表,再用[root@desktop ~]# mkfs.xfs /dev/vdb1 命令将此分区格式化为xfs格式,或者也可以选取其他格式。
然后我们就可以看到结果啦~
使用分区时,我们可以用mount命令将设备挂载到某一目录下,再使用。还可以用vim 编辑/etc/fstab 文件实现永久挂载。
5:设备的删除
a:首先,你要用df命令查看此设备是否挂载到了某一个目录下,如果有,先用umount命令卸载。
b:再查看/etc/fstab文件 检查此设备是否被设置成为了自动挂载,如果有,则删掉。
c:最后用fdisk工具按照提示删掉目标分区。
d:用partprobe命令同步分区表。
e:可以用 cat /proc/partitions 检查是否删除。
6:swap分区管理
1)swapon -s ##查看系统中的swap分区
2)建立swap分区
如上我们就可以通过fdisk建立了一个swap分区
1)格式化swap分区
mkswap 设备名
如下:
1)激活swap分区
swapon -a 设备名
我们可以用swapon -s 检测一下
成功啦~
我们还可以通过编辑/etc/fstab 文件实现开机自动激活
1)删除swap分区
a:删除/etc/fstab文件的swap自动激活项目
b:swapoff /dev/vdb2 ##关闭激活的swap分区
c:还可以通过fdisk工具删除分区
7:建立文件作为swap区域
假如我们已经将硬盘的分区规划好了,这时又需要一个swap分区,我们可以通过建立一个文件来作为swap区域。
如上我们从硬盘中截取了一块100MB的空闲区域存为/swapfile 。
再将此区域格式化为swap格式。
再使用swapon -a 将此区域激活。
再用swapon -s 检测,ok~成功啦~
为了保证这个swap区域各个用户都可以使用,我们将它的权限改为777.
我们还可以通过编辑/etc/fstab 文件实现开机自动激活。
注:
要去掉这一swap文件区域时,首先使用swapoff 命令关闭激活,再使用rm命令删除此文件。