本文目录导读:

Linux 系统
使用 lsblk 命令
#!/bin/bash # 获取所有磁盘的分区方式 lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINT # 查看特定磁盘(如 sda)是否为 GPT 或 MBR lsblk -o NAME,PARTTYPE /dev/sda # GPT 显示 GUID 分区类型,MBR 显示 0x类型
使用 fdisk 命令
#!/bin/bash # 显示磁盘分区表信息 fdisk -l /dev/sda | grep "Disklabel type" # 输出示例:Disklabel type: gpt 或 dos (MBR)
使用 parted 命令
#!/bin/bash # 获取分区表类型 parted /dev/sda print | grep "Partition Table" # 输出示例:Partition Table: gpt 或 msdos
Windows 系统 (PowerShell)
使用 PowerShell 脚本
# 获取所有磁盘的分区方式 Get-Disk | Select-Object Number, FriendlyName, PartitionStyle # 输出示例: # Number FriendlyName PartitionStyle # ------ ------------ -------------- # 0 ST1000DM003-1CH162 GPT # 1 SanDisk SDSSDH3 MBR
使用 diskpart 脚本
:: 创建 diskpart 脚本 echo list disk > diskpart_script.txt echo exit >> diskpart_script.txt :: 执行并获取结果 diskpart /s diskpart_script.txt | findstr /i "gpt mbr"
跨平台脚本 (Python)
#!/usr/bin/env python3
import platform
import subprocess
def get_partition_style(disk='sda'):
system = platform.system().lower()
if system == 'linux':
# 方法1:使用 lsblk
try:
result = subprocess.run(['lsblk', '-o', 'NAME,PARTTYPE', f'/dev/{disk}'],
capture_output=True, text=True)
if 'gpt' in result.stdout.lower():
return 'GPT'
elif 'dos' in result.stdout.lower() or 'mbr' in result.stdout.lower():
return 'MBR'
except:
pass
# 方法2:使用 parted
try:
result = subprocess.run(['parted', '/dev/' + disk, 'print'],
capture_output=True, text=True)
if 'partition table: gpt' in result.stdout.lower():
return 'GPT'
elif 'partition table: msdos' in result.stdout.lower():
return 'MBR'
except:
pass
elif system == 'windows':
try:
# 使用 PowerShell
ps_command = f"Get-Disk -Number 0 | Select-Object PartitionStyle"
result = subprocess.run(['powershell', '-Command', ps_command],
capture_output=True, text=True)
if 'gpt' in result.stdout.lower():
return 'GPT'
elif 'mbr' in result.stdout.lower():
return 'MBR'
except:
pass
return 'Unknown'
# 使用示例
print(f"磁盘分区方式: {get_partition_style('sda')}")
完整版 Linux 脚本 (带错误处理)
#!/bin/bash
get_disk_partition_type() {
local disk=$1
if [ ! -e "/dev/$disk" ]; then
echo "磁盘 /dev/$disk 不存在"
return 1
fi
# 尝试多种方法获取
if command -v lsblk &> /dev/null; then
local parttype=$(lsblk -o PARTTYPE "/dev/$disk" 2>/dev/null | tail -1)
if [[ "$parttype" == "gpt" ]]; then
echo "GPT"
return 0
fi
fi
if command -v parted &> /dev/null; then
local output=$(parted "/dev/$disk" print 2>/dev/null)
if echo "$output" | grep -qi "Partition Table: gpt"; then
echo "GPT"
return 0
elif echo "$output" | grep -qi "Partition Table: msdos"; then
echo "MBR"
return 0
fi
fi
if command -v fdisk &> /dev/null; then
local disklabel=$(fdisk -l "/dev/$disk" 2>/dev/null | grep "Disklabel type")
if echo "$disklabel" | grep -qi "gpt"; then
echo "GPT"
return 0
elif echo "$disklabel" | grep -qi "dos"; then
echo "MBR"
return 0
fi
fi
echo "无法确定分区方式"
return 1
}
# 获取所有磁盘
for disk in $(ls /dev/sd[a-z] 2>/dev/null | cut -d/ -f3 | sort -u); do
part_type=$(get_disk_partition_type "$disk")
echo "$disk: $part_type"
done
使用说明
- Linux 脚本:保存为
.sh文件,使用chmod +x script.sh赋予执行权限 - Windows PowerShell:直接复制到 PowerShell 窗口运行
- Python 脚本:需要有 Python 环境,使用
python3 script.py运行
这些脚本会自动检测磁盘分区方式(GPT 或 MBR),并提供清晰的输出结果。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播