I've just overwritten my partition table of my system's hard disk. i made a cfdisk
on the wrong device (/dev/sda
instead of /dev/sdd
), deleted all partitions, made one new primary spanning over the whole device, set its type to 07
(NTFS) and hit write
.
So here i am with my system running. Until i reboot, i hope/guess nothing will change - meaning: all my data is accessible (I'm currently making a dd
-backup of the whole device and plan to make a .tar.gz
-backup of the most important data later). I also backed up /proc/partitions
, /proc/diskstats
(even though i guess this is more about throughput and stuff like this ...) and /sys/block/sda/sda?/{start,size}
.
Some further things i know:
- 4 primary partitions
- 1st partition: ~100Mb, ext3, /boot
- 2nd partition: ~100Mb, "Win7 Boot Partition", ntfs(?)
- 3rd partition: ~20...30GB, Win7, ntfs
- 4th partition: ~20...30GB, luks-encrypted device
- The luks- de crypted device is a LVM-PV
- The
/
,/home
&swap
-partitions are all LVs on the (VG on the) above noted PV
So my questions:
- What is the simplest way to just write the kernels partition table to the disk?
- What is the simplest way to take the above mentioned (and perhaps other I don't know of ...) data and generate the partition table?
- Are there any problems to take care of regarding to luks and/or lvm?
- Is there any data I should backup before rebooting (meanig stuff from kernel [ /sys/..., /proc/...] and so on, which could help me regenerate the partition table)?
Not too tricky. Hopefully.
First of all, note the size and order of all your partitions on /dev/sda:
Run fdisk on /dev/sda and change the units to sectors:
Then start making partitions. Use the appropriate numbers
start
andsize
for each partition.Avoid an off-by-one error - subtract one from
size
before typing it into fdisk.Don't forget to set your partition IDs and toggle the boot flag on the right partition
Now re-install your MBR and you should be ready to go.
Naturally you can do all this using your favorite partition editor... parted works just fine as well.
If you've lost the information regarding start/end of partitions - parted has 'rescue' options to search the disk for lost partitions. But you shouldn't need those.
If the partition table is damaged, I'd suggest using a boot disk of RIP (rescue is possible Linux) to run testdisk. Heck, you might be able to run testdisk from your running system to have it scan and recover partitions, but I'd not try that because I don't know what it would do to a running system with open files.
If you want to try a backup of essential data (you don't already have it?) now would be a good time to do so...