shell脚本实现MBR、GPT自动分区及格式化
来源:互联网 发布:编程谜题 pdf 编辑:程序博客网 时间:2024/06/05 19:25
这是一个小脚本:
#!/bin/bash##Author:samrtwy(qq:120649294)#Version:2.0#Date:2017-04-23#Descripton:According to the input partition table mode,disk,partition number,# size,file system type of an empty disk for sutomatic partitioning.read -p "Please input partition table mode ( 1:GPT | 2:MBR ) :" MKLBread -p "Please input device pathi ( exp:/dev/sdb ) :" DEPTread -p "Please input number of partitions :" PANUread -p "Please input partition size ( default M ) :" PASZread -p "Please input partition type (ext3,ext4,xfs):" PTYPE[[ -b ${DEPT} ]] || echo "Input is not device block!";exit 1MP="mkpart"PT="parted"PY="primary" TMP_S=0 #partition size startTMP_E=0 #partition size end[[ "${PTYPE}" == "xfs" ]] && OP="-f"if [[ "$MKLB" == "1" ]] || [[ "$MKLB" == "GPT" ]];then MKLB="gpt" ${PT} -s ${DEPT} mklabel ${MKLB} for (( i=1;i<=${PANU};i++ )) do TMP_E=$((PASZ+TMP_E)) ${PT} -s ${DEPT} ${MP} ${PY} ${TMP_S} ${TMP_E} sleep 1 mkfs.${PTYPE} ${OP} ${DEPT}${i} &>/dev/null || echo "${DEPT}${i} format error !" TMP_S=$((TMP_E+1)) doneelif [[ "$MKLB" == "2" ]] || [[ "$MKLB" == "MBR" ]];then MKLB="msdos" ${PT} -s ${DEPT} mklabel ${MKLB} if [ ${PANU} -le 3 ] then for (( i=1;i<=3;i++ )) do TMP_E=$((PASZ+TMP_E)) ${PT} -s ${DEPT} ${MP} ${PY} ${TMP_S} ${TMP_E} sleep 1 mkfs.${PTYPE} ${OP} ${DEPT}${i} &>/dev/null || echo "${DEPT}${i} format error !" TMP_S=$((TMP_E+1)) done fi if [ ${PANU} -eq 4 ] then for (( i=1;i<=4;i++ )) do if [ $i -eq 4 ] then TMP_E=$((PASZ+TMP_E)) fdisk ${DEPT}<<EOF &>/dev/null n e $((TMP_E*1024+1)) wEOF exit 0 fi TMP_E=$((PASZ+TMP_E)) ${PT} -s ${DEPT} ${MP} ${PY} ${TMP_S} ${TMP_E} sleep 1 mkfs.${PTYPE} ${OP} ${DEPT}${i} &>/dev/null || echo "${DEPT}${i} format error !" TMP_S=$((TMP_E+1)) done fi if [ ${PANU} -gt 4 ] then for (( i=1;i<=${PANU};i++ )) do if [ $i -eq 4 ] then fdisk ${DEPT}<<EOF &>/dev/null n e $(($((TMP_E+PASZ))*1024+1)) wEOF partprobe &>/dev/null partx -a ${DEPT} &>/dev/null let i=i+1 fi if [ $i -gt 4 ] then for (( j=5;j<=${PANU};j++ )) do TMP_S=$((TMP_E+1)) TMP_E=$((PASZ+TMP_E)) ${PT} -s ${DEPT} ${MP} logical ${TMP_S} ${TMP_E} sleep 1 mkfs.${PTYPE} ${OP} ${DEPT}${j} &>/dev/null || echo "${DEPT}${j} format error !" TMP_S=$((TMP_E+1)) if [ $j -eq ${PANU} ] then exit 0 fi done fi TMP_E=$((PASZ+TMP_E)) ${PT} -s ${DEPT} ${MP} ${PY} ${TMP_S} ${TMP_E} sleep 1 mkfs.${PTYPE} ${OP} ${DEPT}${i} &>/dev/null || echo "${DEPT}${i} format error !" TMP_S=$((TMP_E+1)) done fielse echo "Input ERROR!"fi
0 0
- shell脚本实现MBR、GPT自动分区及格式化
- MBR分区与GPT分区
- 分区格式--MBR与GPT
- 硬盘MBR,GPT分区简介
- GPT转MBR分区格式
- MBR和GPT分区详解
- MBR 和 GPT 分区差别
- MBR和GPT分区区别
- gpt格式化分区
- shell实现磁盘分区由MBR转换为GPT
- MBR分区和GPT分区介绍
- 如何将GPT分区转为MBR分区
- 对常用mbr分区与gpt分区的总结及使用(一)
- 对常用mbr分区和gpt分区的总结及使用(二)
- MBR分区和GPT分区(系统安装注意)简介及互相转换的方法
- GPT转MBR分区格式图文教程
- GPT转MBR分区格式图文教程
- GPT转MBR分区格式图文教程
- HDU-1237 简单计算器(使用栈和不用栈的解法)
- office2010/2013/2016安装过程提示问题Office 16 Click-to-Run Extensibility Component
- [Hibernate]Hibernate的QBC查询
- Stm32-DS18B20的使用
- 剑指offer-旋转数组的最小数字
- shell脚本实现MBR、GPT自动分区及格式化
- Java环境配置及eclipse单元测试
- Egret 性能优化总结
- 多线程实现——新龟兔赛跑
- Java标识符
- 基于色温估计的自动白平衡
- 函数传递
- HTML 5 头head
- C#抽象类及其方法的学习(自用)