pve 挂载硬盘无法识别为 NTFS

在 pve 上挂载存有数据的 NTFS 格式硬盘,被识别为 VMFS_volume_member

问题原因:该硬盘被 ESXi 直通过,可能导致磁盘头格式被改写,但是在 Windows 中识别没有影响。

使用 blkid 查看磁盘

1
2
3
4
root@openmediavault:~# blkid /dev/sdb2
/dev/sdb2: LABEL="Newdisk" BLOCK_SIZE="512" UUID="E42AXXXXXXXXF826" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="3e77a9bb-xxxx-xxxx-xxxx-3c1f06267f13"
root@openmediavault:~# blkid /dev/sdc1
/dev/sdc1: UUID_SUB="66e6f290-xxxxxxxx-xxxx-b47af1aef1aa" TYPE="VMFS_volume_member" PARTLABEL="Basic data partition" PARTUUID="17a85c96-xxxx-xxxx-xxxx-8fe1cc8830a9"

之前使用 ESXi 直通的硬盘被识别为 VMFS_volume_member 另一块磁盘被正常识别,由于磁盘中存有大量数据,所以必须使用保留数据的方式修复。

修复方式 1:使用 Windows 磁盘工具(无效)

将磁盘挂载至 Windows 系统,然后使用命令行 chkdsk E: /f 修复,Windows 输出正常,但 pve 无法识别。

修复方式 2: 使用 DiskGenius 修复分区头(无效)

使用 disk genius 修改分区参数,disk genius 依旧识别磁盘为 NTFS 。

修复方式 3: 强制清除分区头签名(有效)

使用 wipefs 查看当前文件系统签名

1
2
3
root@openmediavault:~# wipefs -n /dev/sdc1
DEVICE OFFSET TYPE UUID LABEL
sdc1 0x100000 VMFS_volume_member

清除系统签名

1
2
root@openmediavault:~# wipefs --force -o 0x100000 /dev/sdc1
/dev/sdc1: 4 bytes were erased at offset 0x00100000 (VMFS_volume_member): 0d d0 01 c0

刷新并验证

1
2
3
root@openmediavault:~# udevadm trigger
root@openmediavault:~# blkid /dev/sdb1
/dev/sdc1: PARTLABEL="Basic data partition" PARTUUID="17a85c96-xxxx-xxxx-xxxx-8fe1cc8830a9"

可以看到分区签名已移除,接下来开始重建分区,将磁盘挂载至 Windows 后,使用 chkdsk E: /f 修复分区签名即可。