Windows无法识别分区,如何处理?

问题现象

  • 磁盘管理操作受限:在磁盘管理(diskmgmt.msc)中,分区可见,但所有操作选项(如“格式化”、“更改驱动器号和路径”、“压缩卷”等)均为灰色,无法点击。

    image

  • 分区类型未知:使用 PowerShell 执行 Get-Partition 命令,返回结果中该分区的 Type 字段显示为 Unknown。

    image

问题原因

  • 无法识别的分区类型:分区的文件系统格式(如 Linux 的 ext4、XFS)无法被Windows操作系统识别。例如,当一块在Linux系统中创建并格式化的数据盘直接挂载到Windows系统时,会出现此现象。

  • 分区表损坏:磁盘的分区表元数据发生损坏,导致操作系统无法正确解析分区的类型、大小等关键信息。

解决方案

步骤一:确认分区来源

确认该磁盘是否曾在Linux或其他非Windows操作系统中使用过。

步骤二:根据场景执行恢复

场景一:分区为Linux等异构系统分区

这种情况下,磁盘中的数据是完整的,只是无法在Windows系统中正常访问。不建议执行删除分区,格式化等操作,以免发生数据丢失。

建议根据实际使用情况处理,可将磁盘卸载并挂载到Linux实例中,看分区能否正常识别。操作如下:

  1. Windows实例卸载磁盘。

    1. 访问ECS控制台-实例。在页面左侧顶部,选择目标资源所在的资源组和地域。

    2. 单击目标实例ID进入实例详情页后,选择块存储页签。

    3. 单击目标云盘操作列中的卸载

    4. 在弹出的对话框中,选择授权云助手弹出磁盘后执行卸载操作,单击执行弹出操作并卸载

      若实例状态为已停止,直接单击确定卸载即可。
    5. 验证是否卸载成功。

      卸载完成后,访问ECS控制台-块存储-云盘,查看云盘状态。如果云盘状态变为待挂载,表明已成功分离。

  2. 将磁盘挂载到 Linux 实例

    1. 返回ECS控制台-实例

    2. 单击目标实例ID进入实例详情页。

    3. 单击块存储页签后单击挂载云盘

      目标盘选择从Windows实例卸载的云盘。

  3. 在 Linux 实例中验证并访问数据

    1. 在目标Linux实例详情页,单击远程连接,选择通过Workbench远程连接。根据页面提示登录,进入终端页面。

    2. 执行lsblk命令,查看磁盘和分区是否被识别。

      # lsblk
      # NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
      # vda    252:0    0   50G  0 disk
      # └─vda1 252:1    0   50G  0 part /
      # vdb    252:16   0  100G  0 disk  <-- 新挂载的磁盘
      # └─vdb1 252:17   0  100G  0 part  <-- 目标分区
    3. 创建挂载点并挂载分区。

      # 创建一个目录作为挂载点
      sudo mkdir /data
      # 挂载分区(将 /dev/vdb1 替换为实际的分区设备名)
      sudo mount /dev/vdb1 /data
    4. 挂载成功后,通过cd /datals -l等命令即可访问原有数据。

场景二:分区表损坏

  • 方案一:如果之前为该磁盘创建过快照,建议使用快照回滚云盘

  • 方案二:使用第三方工具尝试修复分区表,适用于无快照但希望尝试恢复数据的专业用户。

    重要

    修复操作可能导致数据进一步损坏,操作前请务必为磁盘创建快照进行备份。

  • 方案三:删除分区并重新创建分区,适用于确认分区内数据不再需要的情况。

    重要

    删除选中的分区,数据将永久丢失!

    1. 以管理员身份打开命令提示符。

    2. 执行diskpart进入DiskPart环境。

    3. 定位到目标磁盘和分区。

      # 列出所有磁盘
      list disk
      
      # 选择目标磁盘(将 1 替换为实际磁盘号)
      select disk 1
      
      # 列出该磁盘上的所有分区
      list partition
      
      # 选择要删除的分区(将 1 替换为实际分区号)
      select partition 1
    4. 执行删除操作。

      delete partition override
    5. 删除成功后,即可在磁盘管理中看到一块未分配的空间。

      通过初始化数据盘(Windows)重新创建新分区并格式化。