linux 创建一个shell脚本, 通过 parted命令 自动创建3个主分区与扩展分区,实现第一个主分区 512MB ,第二个主分区,2G,扩展分区50G并分成2个逻辑分区,第一个逻辑分区16G,第二个逻辑分区34G,第三个主分区使用剩余所有空间
时间: 2024-12-14 08:12:16 浏览: 11
创建一个Linux shell脚本来自动执行这样的任务,你可以参考下面的示例。首先,你需要确保有root权限,因为parted是系统管理工具。
```bash
#!/bin/bash
# 检查权限
if [[ "$(id -u)" -ne 0 ]]; then
echo "This script must be run as root."
exit 1
fi
# 设定磁盘设备名(例如/dev/sda)
device=$1
# 安全提示
echo "Creating partitions on $device..."
echo "Enter your password when prompted (no echo):"
# 使用parted工具
parted -s $device << EOF
unit s # 设置单位为字节
mklabel gpt # 创建GPT分区表
# 创建主分区
mkpart primary fat32 0B 52428800 # 第一个主分区512MB (fat32作为示例,实际可能需要ext4等)
mkpart primary ext4 $(expr 52428800 + 1073741824) 50% # 第二个主分区2G
# 创建扩展分区
mkpart extended free 50%
# 在扩展分区下创建逻辑分区
mkpart logical ext4 $(expr $(parted $device print | grep 'size of extended' | awk '{print $4}') / 2) 16GiB # 第一个逻辑分区16G
mkpart logical ext4 16GiB $(expr 16GiB + 34GiB) # 第二个逻辑分区34G
# 第三个主分区,剩下的空间
mkpart primary ext4 $(expr $(parted $device print | tail -n1 | awk '{print $4}')) 100% # 剩余所有空间
print # 打印当前分区信息以验证
quit
EOF
echo "Partitions created successfully."
exit 0
#
阅读全文