自动化清除分区与建立分区脚本

您所在的位置:网站首页 linux清除分区表 自动化清除分区与建立分区脚本

自动化清除分区与建立分区脚本

2023-08-25 10:51| 来源: 网络整理| 查看: 265

写一个脚本(前提:请为虚拟机新增一块硬盘,假设它为/dev/sdb),为指定的硬盘创建分区:

1、列出当前系统上所有的磁盘,让用户选择,如果选择quit则退出脚本;如果用户选择错误,就让用户重新选择;

2、当用户选择后,提醒用户确认接下来的操作可能会损坏数据,并请用户确认;如果用户选择y就继续,n就退出;否则,让用户重新选择;

3、抹除那块硬盘上的所有分区(提示,抹除所有分区后执行sync命令,并让脚本睡眠3秒钟后再分区);并为其创建三个主分区,第一个为20M,第二个为512M, 第三个为128M,且第三个为swap分区类型;(提示:将分区命令通过echo传送给fdisk即可实现)

#!/bin/bash #: Title: auto_disk.sh #: Synopsis: #: DateTime: 2014-05-04 23:13 #: Version: 0.1 #: Author: dengyw #: Options: # PARTS=`fdisk -l 2>/dev/null |grep "^Disk /dev/[sh]d[a-z]"` #显示磁盘分区信息 echo -e "$PARTS" read -p "please choice the disk of you need: {hda|sda} or q for quit: " disk #输入要分区的磁盘 until [ $disk == 'q' ];do while :;do # 判断输入格式是否正确,不正确重新输入 if [ $disk = "hda" ] || [ $disk = "sda" ];then break fi read -p "please choice the disk of you need: {hda|sda} or q for quit: " disk done case $choice in y|Y) dd if=/dev/zero of=/dev/$disk bs=512 count=1 && echo "clean the disk " #将用户所需的磁盘的MBR格式化 sync sleep 3 echo ' n p 1 +500M n p 2 read -p "please choice the disk of you need: {hda|sda} or q for quit: " disk done read -p "waring !!! Next you do it will wipe your disk!!! Countinue(y/n)?" choice #提示并警告用户接下操作,将会格式化操作并分区 case $choice in y|Y) dd if=/dev/zero of=/dev/$disk bs=512 count=1 && echo "clean the disk " #将用户所需的磁盘的MBR格式化 sync sleep 3 echo ' n #!/bin/bash # PARTS=`fdisk -l 2>/dev/null |grep "^Disk /dev/[sh]d[a-z]"` #显示磁盘分区信息 echo -e "$PARTS" read -p "please choice the disk of you need: {hda|sda} or q for quit: " disk #输入要分区的磁盘 until [ $disk == 'q' ];do while :;do # 判断输入格式是否正确,不正确重新输入 if [ $disk = "hda" ] || [ $disk = "sda" ];then break fi read -p "please choice the disk of you need: {hda|sda} or q for quit: " disk done read -p "waring !!! Next you do it will wipe your disk!!! Countinue(y/n)?" choice #提示并警告用户接下操作,将会格式化操作并分区 case $choice in y|Y) dd if=/dev/zero of=/dev/$disk bs=512 count=1 && echo "clean the disk " #将用户所需的磁盘的MBR格式化 sync sleep 3 echo ' n p 1 +20M n p 2 +512M n p 3 +128M t 3 82 w'| fdisk /dev/$disk &>/dev/null && echo "the disk has been parted." #将分区的信息传递给fdisk,开始分区 partprobe /dev/$disk sleep 3 #分区之后要用sleep命令让系统“沉睡”13,这样可以让分区的信息真正的同步进硬盘,而不至于格式化出错。 mke2fs -j /dev/${disk}1 &>/dev/null #格式化文件系统 mke2fs -j /dev/${disk}2 &>/dev/null mkswap /dev/${disk}3 &>/dev/null exit 0 ;; n|N) exit 0 ;; *) exit 0 ;; esac done



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3