partitioning - partition moving crashed mid-process - what damage have it done / what to do ? (AOMEI app used)

05
2014-04
  • Riva
    • I used AOMEI Partition Assistant Pro (5.x) to "Align" an NTFS partition with about 170GB of data. (Cca 800GB partition on standard (non SSD) 1TB hard disk).
    • The app started after reboot in "PreOS" mode.
    • The process screen actually sayd "Moving partition". I guess thats what "aligning" actually does - move the partition to new position (?)
    • The app got to phase "Moving data: 50 GB/170 GB".
    • Then the app crashed and computer suddenly shut down. In mid-process, while working with / changing the partition data. I'm guessing it was somewhere 1/3 to 1/2 through the 170GB of data.
    • Since the partition moving process didn't finish, I believe (from my past experience) it must have corrupted the partition - the file system on it.

    • I disconnected the HDD with the partition so OS can't do any more damage to the corrupted filesystem.

    • I contacted AOMEI support:
      • The basic level support told me that if I can view content of the partition then no damage was done to it. With all respect I highly doubt that.
      • Also they told me they'll pass the problem to "research team". I didn't hear from them since (more then 2 weeks now since).
    • I checked the partition via Windows and I can see (some) dirs there. I didn't try to access any.
    • I ren checkdisk in readonly (no repair) mode on the partition and it reported a lot of index errors in 1st step. So it seems that there are problems.

    Since the AOMEI support left me hanging I'd like to ask for help and advice here.

    I am not an expert on filesystems / partitions so I don't know.. Can you give me some technical informations about what was the app actually doing with the partition and files data when moving them ?
    So I can get an idea about what damage it could have done to the data and find best way to attempt to fix it with least data loss.

    I understand that you are not AOMEI devs and don't know exactly how the app works but I hope you can make some educated guesses.

    Many thanks.

    (The partition countains stored data of past several years of my work. I'm a game/software developer. I depend on that data and I'm really scared I may lose them or some part of them! Plus as ex basic system admin I have a previous experience with unfinished partition operation that resulted in half of data being lost.)

  • Answers
    Know someone who can answer? Share a link to this question via email, Google+, Twitter, or Facebook.

    Related Question

    partitioning - hex edit of FAT32 partition tips wanted
  • kagali-san

    I currently have a wrong-sized partition in a "very damaged" status. The first problem for most recovery tools: - disk size is 9*10x units. - logical partition starts at 2*10x units - logical partition ends at 6*10x units. due to broken partition table. - logical partition end should be set to 2*10x units (whole drive).

    What is a good document on direct editing Intel(traditional) partition table, except for the casting a 'read all' spell on fdisk source?

    I mean, if there's a fdisk version, that can be told to: "set the partition to begin at cluster X, end at cluster Y" - it is ok.

    If there's a GUI tool to change the data, without doing actual "so smart resize magic" - that's ok.

    If there is a good docs about changing partition table information directly, byte to byte - that's ok too.


  • Related Answers
  • SysAdmin1138

    Heh, heh, heh. This brings me back. Back, way back, in the Win3.1 days there was a package out there that was exactly what you're looking for. It was called PCTools and had a hex-editor that could directly edit the partition table (as well as the master boot record). If you had a misaligned partition for some reason, you could fix it in a way that DOS FDISK never could. Helped me fix a few things. It's fallen off the back of google, though.

    These days there are a couple of Linux fdisk programs that allow you to set partition limits on a sector by sector basis. Dangerous, for a reason, but they're there.


    Warning

    This is brain surgery. You can really screw things up if you do it wrong.


    That out of the way...

    Find yourself a USB-Linux or DVD-Linux of your choice, they all should have what you're looking for. Get to a command line, root-mode if you're not already there, and start it up.

    fdisk /dev/sda
    

    Set select U to change the units. p will print your partition table.

       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *          63      144584       72261   83  Linux
    /dev/sda2          144585   415424834   207640125   8e  Linux LVM
    

    side-note: If I had a solid-state-drive on this machine, /dev/sda1 would be misaligned. It should start on sector 64 not 63.

    Note your partitions, write them down. Where they start, where they end, how many blocks they are, and what the partition ID is. You'll need each of these.

    The easiest way is to remove the entire partition table and write a new one, with the parameters you need. If you do it right, it should come back.

    The o command will write a new, blank, partition table. The n command will create a new one; select your partition type, where the partition will start, and where it will end (you wrote that down). Once that's done the t command will allow you change the partition type, since it'll default to Linux (83) and you probably don't want that. Use the code you wrote down.

    Repeat for each partition you need. When done the w command will commit your work. You'll probably have to reboot to see if it works out.


    The more advanced method is to just change the bad partition directly. This is a lot more work, and I'm unclear enough on the steps that I'm not going to write them down in case I lead you to bricking things.