====== Ubuntu - Disk - Restore Partition Table ======
Here is an easy way to restore things if you have the starting point and size of each partition using fdisk.
In this example we pretend that /dev/sda was wiped out, but the running system still has the info in /sys/class/block/sda.
----
===== Record the start and size of each partition =====
Go into each partition and record the "start" and "size".
cd /sys/class/block/sda/sda1
cat start
2048
cat size
2097152
cd /sys/class/block/sda
cat sda2/start
2099200
cat sda2/size
62914560
cd /sys/class/block/sda
cat sda3/start
65013760
cat sda3/size
520923740
----
===== Create new partitions =====
Create the same 3 partitions at the same starting point and with the same size using fdisk:
fdisk
returns:
Welcome to fdisk (util-linux 2.34).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x8e7672df.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (1-4, default 1):
First sector (2048-585524838, default 2048): 2048
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-585524838, default 585524838): 2097152
Created a new partition 1 of type 'Linux' and of size 1023 MiB.
Command (m for help): n
Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (2-4, default 2):
First sector (2097153-585524838, default 2099200): 2099200
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2099200-585524838, default 585524838): 62914560
Created a new partition 2 of type 'Linux' and of size 29 GiB.
Command (m for help): n
Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p):
Using default response p.
Partition number (3,4, default 3): 65013760
Value out of range.
Partition number (3,4, default 3):
First sector (2097153-585524838, default 62916608): 65013760
Last sector, +/-sectors or +/-size{K,M,G,T,P} (65013760-585524838, default 585524838): 520923740
Created a new partition 3 of type 'Linux' and of size 217.4 GiB.