windows和linux分区流程都是一样的。
创建硬盘分区表格式–>创建分区–>格式化分区–>挂载分区
(硬盘分区使用parted、fdisk、gdisk,格式化使用mkfs.*)
查看块设备(硬盘、分区大小):lsblk
查看块设备(分区类型、uuid、挂载点):lsblk -f
查看块设备uuid:blkid
centos7下同步分区到内核:partprobe
centos6下同步分区到内核:partx -a 《设备名》(增加分区)
centos6下同步分区到内核:partx -d –nr 《你删除的分区编号》《设备名》(减少分区)
3种分区工具:fdisk、gdisk、parted
fdisk对mbr分区
gdisk对gpt分区
parted对mbr、gpt都可以
parted命令
- 可以处理mbr和guid
- 可以处理2T以上硬盘(fdisk只可以2T以下)
- 可以交互也可以直接命令参数执行。
- 命令执行后立即生效!
#创建硬盘分区表格式-->创建分区-->格式化分区-->挂载分区
#mktable -->mkpart -->mkfs.* -->mount
查看parted帮助:
parted --help
查看所有硬盘及分区信息:
parted -l
查看指定硬盘分区信息:print
parted /dev/《设备名》 print
查看指定硬盘未分配空间:print free
parted /dev/《设备名》 print free
定义分区表格式:mktable
#(msdos是mbr,gpt是guid)
#定义硬盘分区格式:为mbr
parted /dev/《设备名》 mktable msdos
#定义硬盘分区格式:为guid
parted /dev/《设备名》 mktable gpt
创建分区:mkpart
#区间默认单位为M,也可以指定单位
parted /dev/《设备名》mkpart 《分区类型》《起始区间》 《结束区间》
注:PART-TYPE分区类型主要有primary-简写p(主分区), extended-简写e(扩展分区), logical-简写l(逻辑区). 扩展分区和逻辑分区只对msdos
例:/dev/sdb为10G硬盘,分3个分区,第一分区1G,第二分区2G,第三分区剩余7G
#在分区的时候查看剩余可用空间:print free
###以默认M为单位(3个主分区)
parted /dev/sdb mkpart p 0 1024
parted /dev/sdb mkpart p 1025 3072
parted /dev/sdb mkpart p 3072 10240
###以G为单位(1个主分区,1个扩展分区;扩展分区分2个逻辑分区)
parted /dev/sdb mkpart primary 0 1g
parted /dev/sdb mkpart e 1g 10g
parted /dev/sdb mkpart l 1g 3g
parted /dev/sdb mkpart l 3g 10g
调整分区大小:resizepart
resizepart 《分区编号》 《结束区间》
删除分区:rm
parted /dev/《设备名》 rm 《分区编号》
fdisk命令
fdisk和gdisk操作类似,比较简单,我这里简单写下参数。
- 处理mbr(其实也可以处理gpt)
- 处理2T以下硬盘
- 执行完需w保存,才可生效
- 交互式处理(如果要实现脚本非交互,可以实时echo或<文件)
fdisk常用参数:
- m:帮助
- p:打印分区表
- n:创建分区
- d:删除分区
- v:校验分区
- t:更改分区类型
- w:保存,退出
- q:不保存,退出
fdisk 非交互式方法,因为fdisk支持标准输入,所以可以使用echo或导入文件来实现。
#例:/dev/sdb 创建2G分区
#第一种echo传参(\n代表换行、回车,连续3个回车)
echo -e 'n\np\n\n\n+2G\nw' | fdisk /dev/sdb
#第二种通过文件导入
cat test.txt
n
p
+2G
w
fdisk /dev/sdb < test.txt
分区格式化
分区后需要对分区进行格式化以后可以挂载使用。
#格式时直接使用对应格式化进行分区
mkfs.《分区类型》 《硬盘分区》
#或者使用mkfs命令进行分区(参数较多,一般只使用-t指定分区类型)
mkfs -t 《分区类型》 《硬盘分区》
临时挂载、卸载分区mount/umount
查看已挂载分区:mount |grep ^/dev (或者lsblk -f)
查看uuid对应的设备分区:findfs UUID=****
挂载分区:mount
#挂载点必须存在
mount 《设备名称或uuid》 《挂载点》
#例:以设备名挂载
#mount /dev/sdb1 /mnt
#例:以uuid挂载
#mount UUID="8995736a-7d5d-41b3-a19f-9fa7efc1872a" /mnt
卸载分区:umount
umount 《设备名称或uuid或挂载点》
#例:以设备名卸载
#umount /dev/sdb1
#例:以uuid卸载
#umount UUID="8995736a-7d5d-41b3-a19f-9fa7efc1872a"
#例:以挂载点卸载
#umount /mnt
永久挂载(开机挂载)
编辑/etc/fstab
#设备名 挂载点 文件系统 参数 备份 扇区检验
#Device Mount point filesystem parameters dump fsck
/dev/sdb1 /mnt/sdb1 ext4 default 0 0
UUID="****" /mnt/sdb1 ext4 default 0 0
第一列 Device: 磁盘设备名或者UUID(推荐UUID,唯一标识)
第二列 Mount point:挂载点
第三列 filesystem: 文件系统
第四列 parameters文件系统参数:
Async/sync | 设置是否为同步方式运行,默认为async |
auto/noauto | 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto |
rw/ro | 是否以以只读或者读写模式挂载 |
exec/noexec | 限制此文件系统内是否能够进行”执行”的操作 |
user/nouser | 是否允许用户使用mount命令挂载 |
suid/nosuid | 是否允许SUID的存在 |
Usrquota | 启动文件系统支持磁盘配额模式 |
Grpquota | 启动文件系统对群组磁盘配额模式的支持 |
Defaults | 同事具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 |
第五列 dump:备份
0 | 代表不要做dump备份 |
1 | 代表要每天进行dump的操作 |
2 | 代表不定日期的进行dump操作 |
第六列 fsck:检验扇区(开机系统默认会以fsck检验我们系统是否为完整)
0 | 不要检验 |
1 | 最早检验(一般根目录会选择) |
2 | 1级别检验完成之后进行检验 |
发表评论