用脚本自动格式化磁盘怎么弄

wen 实用脚本 1

本文目录导读:

用脚本自动格式化磁盘怎么弄

  1. Windows 系统(PowerShell 脚本)
  2. Linux 系统(Shell 脚本)
  3. 高级示例:自动格式化新磁盘
  4. ⚠️ 重要安全提醒
  5. 如何执行脚本

Windows 系统(PowerShell 脚本)

使用 Format-Volume 命令(推荐)

# 格式化指定盘符
$driveLetter = "D:"  # 修改为你要格式化的盘符
$label = "Data"      # 卷标
$filesystem = "NTFS" # 文件系统类型:NTFS, FAT32, exFAT
# 卸载卷并格式化
Format-Volume -DriveLetter $driveLetter -FileSystem $filesystem -NewFileSystemLabel $label -Confirm:$false

通过盘符路径格式化

# 使用盘符路径
$drive = Get-Volume -DriveLetter D
$drive | Format-Volume -FileSystem NTFS -NewFileSystemLabel "MyData" -Force

使用 format 命令(兼容旧系统)

@echo off
:: 格式化 D 盘 (注意:/Q 快速格式化,/Y 自动确认)
format D: /FS:NTFS /Q /V:LabelName /Y

Linux 系统(Shell 脚本)

使用 mkfs 命令

#!/bin/bash
# 格式化指定分区(/dev/sdb1)
DEVICE="/dev/sdb1"
FILESYSTEM="ext4"    # ext4, xfs, ntfs, fat32
LABEL="mydata"
# 先卸载分区(如果已挂载)
umount $DEVICE 2>/dev/null
# 格式化
mkfs -t $FILESYSTEM -L $LABEL $DEVICE
# 验证
blkid $DEVICE

更安全的方式(检查并确认)

#!/bin/bash
DEVICE="/dev/sdb1"
# 确认设备存在
if [ ! -b "$DEVICE" ]; then
    echo "设备 $DEVICE 不存在"
    exit 1
fi
# 卸载挂载点
umount $DEVICE 2>/dev/null
# 询问确认(交互式)
read -p "确认格式化 $DEVICE? (y/N): " confirm
if [ "$confirm" != "y" ] && [ "$confirm" != "Y" ]; then
    echo "操作取消"
    exit 0
fi
# 格式化
mkfs.ext4 -F $DEVICE
echo "格式化完成"

高级示例:自动格式化新磁盘

Windows 案例:格式化所有新硬盘

# 获取所有未分配盘符的磁盘
Get-Disk | Where-Object {$_.PartitionStyle -eq 'RAW'} | ForEach-Object {
    # 初始化磁盘
    Initialize-Disk -Number $_.Number -PartitionStyle GPT
    # 创建分区
    $partition = New-Partition -DiskNumber $_.Number -UseMaximumSize -AssignDriveLetter
    # 格式化
    Format-Volume -DriveLetter $partition.DriveLetter -FileSystem NTFS -NewFileSystemLabel "NewDisk" -Confirm:$false
}

Linux 案例:自动化格式化新加入的硬盘

#!/bin/bash
# 找到未被分区的新磁盘(假设是 /dev/sdb)
NEW_DISK="/dev/sdb"
# 创建分区表
parted -s $NEW_DISK mklabel gpt
# 创建主分区(占满整个磁盘)
parted -s $NEW_DISK mkpart primary ext4 0% 100%
# 格式化分区
mkfs.ext4 ${NEW_DISK}1
# 创建挂载点并挂载
mkdir -p /mnt/data
mount ${NEW_DISK}1 /mnt/data
# 添加到 fstab(可选)
echo "UUID=$(blkid -s UUID -o value ${NEW_DISK}1) /mnt/data ext4 defaults 0 2" >> /etc/fstab

⚠️ 重要安全提醒

  1. 备份数据:格式化会永久删除所有数据
  2. 确认设备:务必确认格式化的设备正确,避免误操作系统盘
  3. 测试环境:先在测试环境验证脚本
  4. 权限问题
    • Windows:以管理员权限运行
    • Linux:使用 sudo 或 root 用户

如何执行脚本

Windows

  • 保存为 .ps1 文件,右键 → "使用 PowerShell 运行"
  • 或:powershell -ExecutionPolicy Bypass -File script.ps1

Linux

chmod +x script.sh
sudo ./script.sh

选择适合你需求的方案,建议先在不重要的设备上测试。

抱歉,评论功能暂时关闭!