I had disk with 4 primary partition on it with MBR (/dev/sda):
- the first had a NTFS filesystem, with data (/dev/sda1);
- the second was a Solaris2 partition, with openindiana (/dev/sda2 on GNU/Linux gparted);
- the third was a swap partition (/dev/sda3);
- the forth a Linux partition with ext4 (/dev/sda4).

I made a mess because I "dd-ed" the first 300MB of the disk with data, so corrupting the mbr (I had no backup of it) and the first partition! I was running on a GNU/Linux OS and I could save part of data in the NTFS partition (via a symbolic link still working), and I could partially rebuild mbr and the partition table (via /sys/ information and fdisk). But I could not read the Solaris2 partition under GNU/Linux (in /sys/... or fdisk) , but I only have a big unallocated space between NTFS partition (/dev/sda1) and the swap (/dev/sda3). I tried to create a partition using all the free blocks in between but I cannot boot openindiana anymore, because I see it was a really poor attempt! Is there a way to find where the Solaris2 partition starts and ends, so I can try to rebuild a correct partition table? I tried also booting the openindiana LiveCd so using a Solaris fdisk but I had no luck at all.


Likely yes

Use TestDisk (should be available in the repos). Its "deep search" feature can find the solaris partition.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.