#!/bin/bash

# 可编辑的变量
DEVICE="/dev/nvme0n1"    # 要格式化的设备路径（整个磁盘）
MOUNT_POINT="/vf"        # 挂载点
FILESYSTEM="ext4"        # 文件系统类型
PARTITION="${DEVICE}p1"  # 分区路径

# 确认设备是否存在
if [ ! -e "$DEVICE" ]; then
  echo "设备 $DEVICE 不存在"
  exit 1
fi

# 清除现有文件系统签名
echo "正在清除 $DEVICE 上的现有文件系统签名..."
sudo wipefs -a $DEVICE

# 创建新的分区
echo "正在为 $DEVICE 创建新的分区..."
echo -e "o\nn\np\n1\n\n\nw" | sudo fdisk $DEVICE

# 重新读取分区表
sudo partprobe $DEVICE

# 确认分区已创建
if [ ! -e "$PARTITION" ]; then
  echo "分区 $PARTITION 未成功创建"
  exit 1
fi

# 格式化新分区
echo "正在格式化 $PARTITION 为 $FILESYSTEM 文件系统..."
sudo mkfs -t $FILESYSTEM $PARTITION

# 创建挂载点
if [ ! -d "$MOUNT_POINT" ]; then
  echo "创建挂载点 $MOUNT_POINT ..."
  sudo mkdir -p $MOUNT_POINT
fi

# 挂载分区
echo "挂载 $PARTITION 到 $MOUNT_POINT ..."
sudo mount $PARTITION $MOUNT_POINT

# 获取分区UUID
UUID=$(sudo blkid -s UUID -o value $PARTITION)
if [ -z "$UUID" ]; then
  echo "无法获取分区 $PARTITION 的UUID"
  exit 1
fi

# 添加到fstab以便开机自动挂载
FSTAB_ENTRY="UUID=$UUID $MOUNT_POINT $FILESYSTEM defaults 0 0"
echo "添加以下内容到 /etc/fstab 以便开机自动挂载:"
echo "$FSTAB_ENTRY"
echo "$FSTAB_ENTRY" | sudo tee -a /etc/fstab

echo "完成！"
