RHEL: Back-up/Replicate a partition table

# Tested on RHEL 5, 6 & 7

# Given the importance of disk's partition table, one should consider to make a backup
# in a regular basis in order to be able to restore it in case it will get corrupted,
# modified or deleted by mistake.

# We may still have the data unchanged on the disk but without a correct partition table
# it may be almost impossible to recover it.

# To get a disk's table partition we can use the 'fdisk -l' command:

fdisk -l /dev/sda

   Disk /dev/sda: 32.2 GB, 32212254720 bytes
   255 heads, 63 sectors/track, 3916 cylinders
   Units = cylinders of 16065 * 512 = 8225280 bytes

      Device Boot      Start         End      Blocks   Id  System
   /dev/sda1   *           1          33      265041   83  Linux
   /dev/sda2              34        1958    15462562+  8e  Linux LVM
   /dev/sda3            1959        2088     1044225   8e  Linux LVM
   /dev/sda4            2089        2349     2096482+   5  Extended
   /dev/sda5            2089        2349     2096451   83  Linux

# This output may be stored in a text file. Then we could use this information to
# recreate partitions manually.

# Apart from this method we may use 'sfdisk' command to inject partition table to
# a disk:
# First we get disk's partition table to a text file (-d for "dump"):

sfdisk -d /dev/sda
   # partition table of /dev/sda
   unit: sectors

   /dev/sda1 : start=       63, size=   530082, Id=83
   /dev/sda2 : start=   530145, size= 30925125, Id=8e
   /dev/sda3 : start= 31455270, size=  2088450, Id=8e
   /dev/sda4 : start= 33543720, size=  4192965, Id= 5
   /dev/sda5 : start= 33543783, size=  4192902, Id=83

sfdisk -d /dev/sda > sda_partition_table

# and then, when needed, we could restore the partition table to the disk:

sfdisk /dev/sda < sda_partition_table

# Force option, '-f', may be useful in certain cases where a normal update is not possible

# Tip:  We can use 'sfdisk' to replicate a partition table from a disk to another disk with
# the same geometry:

sfdisk -d /dev/sda | sfdisk [-f] /dev/sdb
0 (0)
Article Rating (No Votes)
Rate this article
There are no attachments for this article.
There are no comments for this article. Be the first to post a comment.
Full Name
Email Address
Security Code Security Code
Related Articles RSS Feed
WatchDog watchdog.sh script for checking server running
Viewed 3282 times since Tue, Jul 31, 2018
RHEL: How to rebuild and/or patch a RPM package
Viewed 5564 times since Sat, Jun 2, 2018
SSH ProxyCommand example: Going through one host to reach another server
Viewed 10007 times since Tue, Aug 6, 2019
Tilix: Advanced Tiling Terminal Emulator for Power Users
Viewed 3427 times since Thu, Apr 18, 2019
LVM: Extend SWAP size by adding a new Logical Volume
Viewed 1086 times since Sat, Jun 2, 2018
Configuring VLAN interfaces in Linux
Viewed 3074 times since Mon, May 21, 2018
RHEL: Getting/Setting hardware clock’s time
Viewed 1553 times since Sat, Jun 2, 2018
RHEL: Reinstalling Boot Loader on the Master Boot Record (MBR)
Viewed 1695 times since Sun, May 27, 2018
Inxi: Find System And Hardware Information On Linux
Viewed 1234 times since Sat, Jun 2, 2018
RHCS6: Create a new Logical Volume / Global Filesystem 2 (GFS2)
Viewed 1119 times since Sun, Jun 3, 2018