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
RHEL7: Create and configure LUKS-encrypted partitions and logical volumes to prompt for password and mount a decrypted file system at boot.
Viewed 2280 times since Mon, Aug 6, 2018
How to schedule crontab in Unix Operating Systems
Viewed 752 times since Fri, Jun 8, 2018
RHEL: Getting/Setting hardware clock’s time
Viewed 1218 times since Sat, Jun 2, 2018
ZPOOL: Create a new zpool for zfs filesystems
Viewed 953 times since Sun, Jun 3, 2018
Check a Website Availability from the Linux Command Line
Viewed 614 times since Mon, Feb 18, 2019
Linux nslookup Command Examples for DNS Lookup
Viewed 865 times since Sat, Sep 29, 2018
How to stop and disable auditd on RHEL 7
Viewed 9898 times since Tue, Aug 6, 2019
RHEL7: How to get started with Firewalld.
Viewed 1845 times since Wed, May 22, 2019
Linux 16 Useful Bandwidth Monitoring Tools to Analyze Network Usage in Linux
Viewed 532 times since Mon, Sep 21, 2020
Need to set up yum repository for locally-mounted DVD on Red Hat Enterprise Linux 7
Viewed 1176 times since Mon, Oct 29, 2018