Resizing NTFS partition onto a smaller drive Was: Resizing NTFS partition to make room for FC10

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


Tod Thomas wrote:

I know this is a little off topic.  I did google around looking for the
correct forum to post this question but had little luck.  If anyone can
make an informed suggestion I'd very much appreciate it.

I have a 150GB ATA disk, /dev/hdb, containing winxp.  I'd like to move
the contents to an spare 80GB ATA disk, /dev/hda, to make room for a
full install of FC10 on the larger disk in preparation for ultimately
getting the winxp install running under a linux based VM.

From knoppix, I started by using ntfsresize to shrink the xp partition
down to 20GB.  That worked suprisingly fine.
I then installed the smaller drive and used dd to copy over the image of
the xp installation:  dd if=/dev/hdb of=/dev/hda bs=10000000 count=2000

I rebooted and voila! it worked - sort of.  The new disk boots xp but it
still, according to fdisk, thinks its 150GB.  So I used fdisk to delete
and redefine the xp partition (primary, bootable type=7) with the new
size of the drive, 20GB.  After rebooting xp came up but then started
quickly blue screening a message I couldn't read, and rebooting.  This
repeated in a loop until I just rebooted.  I tried the whole process
over again but this time specified 80GB to dd and fdisk, same disaster.

I tried everything again, but this time instead of fdisk I fired up
gparted to see if I could resize from there hoping that if it could some
magic would also fix the invalid sizing detected by fdisk.  gparted
could see the drive but couldn't recognize it as having anything it
could work with.  I highlighted the drive and the progress bar stayed gray.

So far it seems I can use the drive this way without causing xp any
problems.  The issue is things just don't look right and I suspect it
will come back to bite me one day.  I'm not an expert at manipulating
bits on a hard drive just yet.  Could someone point me to my error?  Is
what I'm trying do-able?  If its a conceptual problem a little education
would come in handy too.
Just a footnote, I finally got it working. This linked helped me the
source = /dev/hdb 150GB ATA
target  = /dev/hda    80GB ATA

I have single XP partition /dev/hdb1 I want to copy over to smaller drive /dev/hda1.
For brevity's sake  here are the bullet pointed details:

- Backup source drive !
- Boot knoppix
- ntfsresize SOURCE drive to comfortable size that is smaller than the target disk
- fdisk -ul source drive
 - make note of starting sector of windows partition
- fdisk -u target drive
 - blow away all partitions
- redefine partition using same starting sector and size as source drive partition
 - set to NTFS, make bootable
 - write partition table, exit
- ntsfclone --overwrite /dev/targetpartition  /dev/sourcepartition
- order is VERY important as source and target partitions are reverse of what you would normally expect
- gparted, resize target to fill available space
- dd if=/dev/hdb of=dev/hda bs=446 count=1
 - this restores the windows boot loader (MBR)
- reboot
 - XP runs chkdsk upon startup
 - will likely recognize the new hard drive and want to reboot

This worked like a charm. I tried everything, but I could never get gparted to recognize my new partitions size so could never resize to take advantage of the rest of the target drive's space. As a result, XP would boot but could never detect more than the size of the copied partition - 20GB of an 80GB drive. The link above provided the final solution.
Thanks again everyone for your comments.

fedora-list mailing list
[email protected]
To unsubscribe:

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux