Resizing NTFS partition onto a smaller drive Was: Resizing NTFS partition to make room for FC10
Tod Thomas
fr33zone at gmail.com
Thu Mar 12 01:25:30 UTC 2009
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
most: http://public.ok2life.com/welcome/index/81
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.
More information about the fedora-list
mailing list