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.