USB 磁盘已转换为 iso9660 且 Gparted 无法读取

USB 磁盘已转换为 iso9660 且 Gparted 无法读取

最近我从 23.10 升级到了 24.04。不知何故,升级将我的外部 USB 3TB 驱动器转换为 Gparted 仅识别为“iso9660”的驱动器,并且显示整个驱动器未分配。

但是分区仍然存在,安装在 Nemo 内并fdisk -l显示所有分区。

lsblk -e7 -o MODEL,NAME,SIZE,FSTYPE,LABEL,MOUNTPOINT
MODEL               NAME     SIZE FSTYPE  LABEL                  MOUNTPOINT
/  cut /
ST3000DM001-1E6166  sdc      2.7T iso9660 Ubuntu 24.04 LTS amd64 
                    ├─sdc1   160G                                
                    ├─sdc2     8K                                
                    ├─sdc3     3M                                
                    ├─sdc4   200M                                
                    ├─sdc5   200M                                   
                    ├─sdc6   200M ext4                           
                    ├─sdc7   200M                                
                    ├─sdc8   100M                                
                    └─sdc9   2.3T ext4    Samsung                /media/jamaas/Samsung

我该如何恢复它,以便 Gparted 允许我处理分区并删除有问题的可启动标志?

答案1

想象这样的事真的会发生,真是太疯狂了。

我高度怀疑这可能是由于 Gparted 和 之间共享的库中的检测错误lsblk,因为两者似乎都同意磁盘的格式。因此,在尝试更危险的东西之前,我会先尝试排除这种可能性。

首先,检查 的输出fdisk -l /dev/sdc。是否fdisk与 Gparted / 一致lsblk

如果是这样,请尝试从实时 22.04 USB 启动并查看是否仍将驱动器检测为 ISO9660。

如果 Gparted//lsblkfdisk22.04 上检测到相同的情况,那么您可以尝试执行以下操作。

注意:这涉及进一步弄乱分区表!!!我们不知道到底发生了什么,所以我不能 100% 确信这不会对你目前的情况造成不利影响。此外,这仅在你的驱动器最初格式化为 GPT 时才有效(考虑到驱动器上的分区数量,这似乎是这种情况)。

我知道在尝试之前你不太可能有能力执行完整的磁盘备份(例如备用的 3TB 驱动器),但如果你有办法这样做,在尝试之前执行完整的磁盘备份

从技术上讲,仅备份第一个分区之前的扇区也应该可行,这样在执行此操作时发生错误时(例如sudo dd if=/dev/sdc bs=1M count=1 >disk_start_backup.dd 所有分区均未挂载应该是安全的,而不必深入研究计算扇区等),但我坚持认为,如果可能的话,你应该执行完整的磁盘备份。


要尝试恢复原始分区表,假设驱动器仍然映射到/dev/sdc如您发布的输出所示lsblk,您应该首先卸载每个已安装的分区(sudo umount /dev/sdc*),然后尝试运行sudo gdisk /dev/sdc输入,以:分隔ENTER

  • x
  • r
  • b
  • w
  • q

这将从本质上:

  • 将备份的 GPT 分区表加载为主分区表
  • 将更改写入磁盘
  • 出口

完成此操作后,sudo partprobe /dev/sdc应该足以让内核再次探测驱动器,并让更改显示在 Gparted //lsblkfdisk

答案2

如果在某个时间点将 ISO 文件写入驱动器,然后写入分区表,则问题可能只是有一些未清除的残留 ISO 签名字节。

我相信可以使用如下命令:

sudo wipefs -n --no-act /path-to-disk-device

其中“/path-to-disk-device”类似于“/dev/sda”

它应该显示磁盘上的签名。

如果有剩余的 ISO 签名,则可以使用“wipefs”命令删除该签名。请参阅“man wipefs”。

相关内容