How to copy single partition?


Login or Register to Reply

 
Thread Tools Search this Thread
# 1  
Old 08-18-2006
How to copy single partition?

I presently backup my multi-OS multi-paritition boot drive (fedora core 4/ext3, WinXPServer/NTFS, WinXPHome/FAT32) with the command:

telinit 1; cp /dev/sda /dev/sdb

And this works.


Is there a command to only copy a single partition instead of an entire device?

And what about the grub stuff. Is that in a partition? My grub stuff is corrupted or the grub.conf file is bad. I can boot windows manually via grub but not fedora. How can I restore the grub and linux partitions but not the windows partition?

Thanks,
siegfried
# 2  
Old 08-19-2006
Partitions for /dev/sda are going to be like /dev/sda1, /dev/sda2, /dev/sda3, etc. You can copy them too.

The master boot record is outside of all partitions. It is the very, very first sector on the hard drive. You can copy just the boot sector like this:

Code:
dd if=/dev/hda bs=512 count=1 of=bootsector

A corrupt grub can't boot anything. If you can boot windows with grub, then grub is not corrupted, but maybye your partitions are, or grub.conf, and maybye you can't remember which partition number you need etc.

I'd boot the system with some sort of linux livecd to see what's going on with your partitions, and edit your grub.conf if need be.

As for how to restore a selected partition from that giant everything-backup file, I don't know. There doesn't seem to be anything like a loop device for splitting a file into partitions the way linux handles hard drives... I'll do some experimenting and see.

You can restore your boot sector easily, though, if that's the problem.

Code:
dd if=awesome-ginormous-all-in-one-universal-backup-file.img of=/dev/hda bs=512 count=1

Be sure to back it up on a flash drive or something before you do that of course.

Last edited by Corona688; 08-19-2006 at 03:24 AM..
# 3  
Old 08-19-2006
Wait. Your backup is a drive too, isn't it. Smilie

It should have partitions /dev/sdb1 /dev/sdb2 etc. You might need to do this to get them to become visible on /dev/sdb however, since linux needs to be told when the partition table changes. Either that, or reboot after you do that cp thing to see the new partitions.
Code:
# fdisk /dev/sdb

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
#

DO NOT type 'w' if you get anything but a blank message! All you want to do is write back the SAME boot sector to make fdisk tell Linux to reread it's partition table.
# 4  
Old 08-19-2006
Yes -- my backup is a triple *bootable* drive (thank goodness -- I can verify that everything still works).

So you gave me several dd commands but not one that would copy an entire partition from one disk to another. Could you give me an example of that? On your dd commands, how do you select a block size? Where do those other numeric values come from?

So if I'm getting a grub prompt but grub cannot find the grub.conf file (which I believe is in a linux partition) that could indicate the linux partition is corrupted.

I wonder if grub could do a dd for me? hmmm... if not, then knoppix probably could.

Let's suppose I book with knoppix. Would fdisk -l enumerate my drives?

I don't understand the dd command for copying a boot sector. Where is the destination and source specified?

Thanks,
Siegfried
# 5  
Old 08-20-2006
Partition is intact

I was able to boot SuSE live via a DVD I burned and mount the damaged partition. It mounted fine and all the files seemed to be intact!

fdisk -l did not complain about anything.

parted's "check 5" command gave this strange error message

Error: File system has an incompatable feature enabled.

What does that mean?

Any suggestions has to how to make this partition compatible with grub so I can boot fedora again?

Thanks,
Siegfried
# 6  
Old 08-21-2006
Results from parted

Here is the scoop: /dev/sdb is the good disk which boots fedora and /dev/sda is the disk with the bad fedora partition. When I try to boot this latter partition with grub it says: Error 17 Cannot mount selected partition.

How do I restore the partition attributes so grub will boot from it again?

Thanks,
Sieg


Here is what parted says:

linux:~ # parted
Using /dev/sda
(parted) print
Disk geometry for /dev/sda: 0kB - 160GB
Disk label type: msdos
Number Start End Size Type File system Flags
1 32kB 126GB 126GB primary ntfs type=07
3 126GB 136GB 10GB primary ntfs boot, type=07
2 136GB 160GB 24GB extended lba, type=0f
5 136GB 157GB 21GB logical ext3 type=83
6 157GB 159GB 2089MB logical linux-swap type=82
(parted) select /dev/sdb
Using /dev/sdb
(parted) print
Disk geometry for /dev/sdb: 0kB - 160GB
Disk label type: msdos
Number Start End Size Type File system Flags
1 32kB 126GB 126GB primary ntfs boot, type=07
2 126GB 160GB 34GB extended lba, type=0f
5 126GB 136GB 10GB logical ntfs type=07
6 136GB 157GB 21GB logical ext3 type=83
7 157GB 159GB 2089MB logical linux-swap type=82
(parted)
# 7  
Old 08-21-2006
Quote:
Originally Posted by siegfried
Yes -- my backup is a triple *bootable* drive (thank goodness -- I can verify that everything still works).

So you gave me several dd commands but not one that would copy an entire partition from one disk to another. Could you give me an example of that?
You don't need special commands, the ones you already have will work quite fine. Linux gives you special files for partitions that you can use the same way you use the special files it gives you for disks. I'd always use dd instead of cp for copying whole drives or partitions but GNU cp is apparently smart enough to handle nearly anything.

For the record, copying from disk A partition 1 to disk B partition 1:
Code:
dd if=/dev/sda1 of=/dev/sdb1 conv=noerror,sync
# I'd reccomend dd over cp, dd can be told to not die on bad sectors as in above
# cp /dev/sda1 /dev/sdb1

The "conv=noerror,sync" is something important that cp does not have as far as I know... in the case of error, it will skip that sector in the input and write a sector full of zeroes on the output. cp would probably just stop on any errors.
Quote:
So if I'm getting a grub prompt but grub cannot find the grub.conf file (which I believe is in a linux partition) that could indicate the linux partition is corrupted.
That's what I'd think.
Quote:
I wonder if grub could do a dd for me? hmmm... if not, then knoppix probably could.
knoppix could, yes. Though a full-on graphical interface is probably overkill. Smilie I prefer Gentoo liveCDs, or those old little Redhat sysadm disks.
Quote:
Let's suppose I book with knoppix. Would fdisk -l enumerate my drives?
...apparently it does. I did not know that. Smilie
Quote:
I don't understand the dd command for copying a boot sector. Where is the destination and source specified?
The input file is specified with the "if=something", and the output file is specified with "of=something". If they are not given, they are assumed to be standard input and standard output. the "bs=512" tells it to assume 512 bytes per sector. The count=1 tells it to copy one and ONLY one sector. So, it copies the first and ONLY the first sector from the hard drive to file. tadah! Smilie
Login or Register to Reply

|
Thread Tools Search this Thread
Search this Thread:
Advanced Search

More UNIX and Linux Forum Topics You Might Find Helpful
More > 1 TB single file cant copy katumping Solaris 10 07-13-2018 08:12 AM
Copy files recursively to one single directory ReneVL Shell Programming and Scripting 4 02-10-2018 07:20 AM
How to copy a 2 Volume mksysb backup to a single tape? AIXBlueCat UNIX for Beginners Questions & Answers 1 07-05-2016 06:22 AM
Shrink LVM partition & create new Linux Primary partition gr8_usk Red Hat 5 09-02-2014 01:33 AM
How to extract data from single first cell and copy it notepad? gchandu UNIX for Advanced & Expert Users 2 06-20-2013 01:13 AM
revision of copy script to allow for single quote LMHmedchem Shell Programming and Scripting 6 09-28-2012 05:07 PM
Single command to Partition and label as LVM whole disk bobby320 Red Hat 0 07-26-2012 05:52 PM
Partition overlaps another partition while creating new parition in solaris nikhil kasar Solaris 2 07-20-2012 06:26 AM
Using dd to copy a partition. newyorkpaulie Filesystems, Disks and Memory 0 06-13-2011 07:28 AM
Enhanced partition copy script (new & improved!) jwzumwalt Shell Programming and Scripting 3 08-27-2010 01:00 AM
copy a whole partition excluding specified. thegeek UNIX for Advanced & Expert Users 2 10-08-2009 06:07 AM
Install more than one OS in a single partition... Alohamora Slackware 2 01-22-2008 07:41 AM
Copy single file to multiple directories kthatch UNIX for Dummies Questions & Answers 2 11-11-2007 06:10 PM
How to copy data into a single file plus title c0384 Shell Programming and Scripting 4 05-15-2007 10:15 AM
I've created a partition with GNU Parted, how do I mount the partition? jtp51 UNIX for Dummies Questions & Answers 1 09-18-2006 12:01 PM