Recover Extended Logical Partition after MBR to GPT Conversion
I had tried to convert my HDD from MBR to GPT, and like an idiot converted every partition separately not
knowing I only had to convert the whole disk at once. I had seen a few tutorials where people were using
Parted to convert the MBR. Below is a printout of my partitions before the destruction:
[CODE]
fdisk -l /dev/sda
Model: ATA ST500LT012-9WS14 (scsi)
Disk /dev/sda: 976773168s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 2048s 39063551s 39061504s primary ext4 boot
3 39067646s 650115071s 611047426s extended
5 39067648s 468023295s 428955648s logical ext4
Partition 3 does not start on physical sector boundary.
[/CODE]
So to explain exactly what I did. I wanted to rid my system of the MBR 4 Primary partition limitation. Here
is a overview of each partiton was and usage: sda2 /, sda3 extended , & sda5 /home. Converting sda2 was
no problem. I ran into my issues when I got to sda3. I had tried converting (dev/sda3 204.6G extended) from
beginning to end (39067646s-650115071s) thinking this would include everything in the (dev/sda5 /home 86.8G logical)
partition. What I am left with is 2 partitions. Partition sda2 is fine with no issues, sda3 looks to have
absorbed sda5. I can no longer access these files from sda5. I know all my files are still there because I
used photorec to dump sda3 to an external sdd, then dd'd a complete copy of sda3 to another hdd. All the files
are still on the drive because when I used photorec for recovery, it dumped all files into whole bunch of directories
incrementally named "recup_dir...", but for the least they are there.
Somewhere in this process it seems as the partitions shifted a bit; Original sda2 / is now sda1 with everything
intact. Original partition sda3 is now sda2.
When running cfdisk on the sda2, I can see it shows as having a sub-partition of 86.8G which is exactly what my
original /home partition was. It lists it as "Free space" however which confuses me a bit.
[CODE]
cfdisk /dev/sda2
Disk: /dev/sda2
Size: 291.4 GiB, 312856282112 bytes, 611047426 sectors
Label: dos, identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda2p1 2 428955649 428955648 204.6G 83 Linux
Free space 428955650 611047425 182091776 86.8G
[/CODE]
Also, taking a look with gdisk it shows as the MBR "protective", and GPT only "present". Not sure if this should like like this
[CODE]
gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.3
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
[/CODE]
All in all, what Id like to do ideally, would be to just recover my /home partition with the same folder names and file structure.
Once I have accomplished this I plan to format the whole drive and start fresh, it would be a huge loss to not be able to recover
all my files. Any and all help would be greatly appreciated.
Here is the exact commands I had used while converting:
[CODE]
COMMANDS USED
parted /dev/sda
unit s
mktable gpt
i #for ignore
#yes to continue
i #for ignore
Parted /dev/sda
unit s
mkpart
#partition name >blank
#filesystem type >ext4
#start >2048s
#end >39063551s
i #for ignore
mkpart "" home 39067646s 650115071s
set 1 legacy_boot on
partprobe
[/CODE]
A before and after of partitions:
[CODE]
Before conversion
fdisk -l /dev/sda
Model: ATA ST500LT012-9WS14 (scsi)
Disk /dev/sda: 976773168s
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
2 2048s 39063551s 39061504s primary ext4 boot
3 39067646s 650115071s 611047426s extended
5 39067648s 468023295s 428955648s logical ext4
Partition 3 does not start on physical sector boundary.
After conversion
fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 4DC051BC-5700-489A-8E0B-919A562986E4
Device Start End Sectors Size Type
/dev/sda1 2048 39063551 39061504 18.6G EFI System
/dev/sda2 39067646 650115071 611047426 291.4G Linux filesystem
[/CODE]
Categories
- All Categories
- 176 LFX Mentorship
- 176 LFX Mentorship: Linux Kernel
- 750 Linux Foundation IT Professional Programs
- 373 Cloud Engineer IT Professional Program
- 169 Advanced Cloud Engineer IT Professional Program
- 74 DevOps IT Professional Program - Discontinued
- 4 DevOps & GitOps IT Professional Program
- 99 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 1 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 3 Cloud & Containers Training
- 1 Cybersecurity Training
- 1 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 1 Open Source Best Practice Training
- 1 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 792 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 87 Storage
- 768 Linux Distributions
- 81 Debian
- 67 Fedora
- 22 Linux Mint
- 13 Mageia
- 24 openSUSE
- 150 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 106 Mobile Computing
- 18 Android
- 73 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 392 Off Topic
- 121 Introductions
- 181 Small Talk
- 29 Study Material
- 949 Programming and Development
- 310 Kernel Development
- 621 Software Development
- 982 Software
- 374 Applications
- 182 Command Line
- 5 Compiling/Installing
- 68 Games
- 317 Installation
- Archived
- 2 LFD140 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)