我的磁盘上有 4 个主分区,带有 MBR (/dev/sda):
- 第一个分区有一个 NTFS 文件系统,包含数据 (/dev/sda1);
- 第二个是 Solaris2 分区,带有 openindiana(GNU/Linux gparted 上的 /dev/sda2);
- 第三个是交换分区(/dev/sda3);
- 第四个带有 ext4 的 Linux 分区 (/dev/sda4)。
我搞砸了,因为我用数据“dd-ed”了磁盘的前 300MB,因此损坏了 mbr(我没有备份)和第一个分区!我在 GNU/Linux 操作系统上运行,我可以将部分数据保存在 NTFS 分区中(通过仍然有效的符号链接),并且我可以部分重建 mbr 和分区表(通过 /sys/ information 和 fdisk)。但我无法读取 GNU/Linux 下的 Solaris2 分区(在 /sys/... 或 fdisk 中),但我在 NTFS 分区 (/dev/sda1) 和交换分区 (/dev/sda3) 之间只有一个很大的未分配空间。我尝试使用其间的所有空闲块创建一个分区,但我无法再启动 openindiana,因为我发现这是一个非常糟糕的尝试!有没有办法找到 Solaris2 分区的开始和结束位置,以便我可以尝试重建正确的分区表?我还尝试使用 Solaris fdisk 启动 openindiana LiveCd,但我一点运气都没有。
答案1
可能是的
使用测试盘(应该在存储库中可用)。它的“深度搜索”功能可以找到solaris分区。