As my old hard drive failed, I cloned the operating System (Windows XP SP3 32bit Professional) to a new hard drive (WD 3 TB).
It took several attempts, until it worked, but finally it was ok:
I had the following partitions on the drive:
I created a third one of about 500 GB, I’m not sure at the moment.
Anyway, I cloned Windows XP to the first partition and finally made it bootable. It worked.
The interesting thing: in the Windows XP Disk Management Utility, the 3 TB disk was shown as 745 GB!
Then I wanted to add another partition.
I booted from Linux Mint 17 (which is on another physical drive in the same computer), used gparted
to add 2 more partitions on the disk.
I had read that Windows XP was limited to 2,2 TB hard disk size, so I added 2 partitions of about 500 and 600 GB. All 4 partitions together were still below 2 TB!
I used the new partitions from within Linux to make an image of the original (failing) hard drive.
Afterwards I booted again and Windows XP was no longer able to startup and crashed with a bluescreen only one moment after displaying the black screen with the Windows logo on it:
error code: 0x0000007B (0xB84C3524, 0xC0000034, 0x00000000)
I tried to fix the mbr again (with the Windows98 boot CD which had worked before) but no chance.
gparted
in Linux - could that damage the boot information on the first sectors?sudo parted /dev/sdb GNU Parted 2.3 Using /dev/sdb Welcome to GNU
Parted! Type 'help' to view a list of commands. (parted) unit Unit?
[compact]? B (parted) print Model: ATA WDC WD30EZRX-00D (scsi) Disk
/dev/sdb: 3000592982016B Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Number Start End Size Type File
system Flags 1 32256B 104858648575B 104858616320B
primary ntfs boot 2 104858648576B 566232088575B
461373440000B primary ntfs 3 566232088576B 1142948888575B
576716800000B primary ntfs 4 1142948888576B 1772094488575B
629145600000B primary ntfs
testdisk ouput:
> sudo testdisk /dev/sdb
>
> TestDisk 6.14, Data Recovery Utility, July 2013 Christophe GRENIER
> <grenier@cgsecurity.org> http://www.cgsecurity.org
>
> Disk /dev/sdb - 3000 GB / 2794 GiB - CHS 364801 255 63
> Partition Start End Size in sectors
> MS Data 63 204802039 204801977
> MS Data 71 204802047 204801977
> MS Data 2046 1024002045 1024000000 [home]
> MS Data 204802047 409604023 204801977
> MS Data 267056004 1105922047 838866044
> MS Data 976566272 2048002047 1071435776
> Mac HFS 1054259368 1054290799 31432
> MS Data 1105922047 1944788090 838866044
> MS Data 2048002047 3119437822 1071435776
> MS Data 3019972479 3157858310 137885832
> MS Data 3157858310 3295744141 137885832
> P Mac HFS 3326382782 3328512703 2129922
> P Mac HFS 3330438950 3332568871 2129922
> P Mac HFS 3343736868 3343856537 119670
> P Mac HFS 3362854468 4338955811 976101344
>Structure: Ok. Use Up/Down Arrow keys to select partition.
> Use Left/Right Arrow keys to CHANGE partition characteristics:
> P=Primary D=Deleted Keys A: add partition, L: load backup, T: change
> type, P: list files, Enter: to continue NTFS, blocksize=4096, 104 GB / 97 GiB
The reason XP shows the disk as 745 GB has to do with the limits of MBR partitioning (XP does not support GPT partitioning). With MBR partitioning you can only have 2^32 blocks of 512 bytes each; that is about 2 TB, hence the 2 TB limit.
Worse: Even before any partition table entries are created, the 3 TB drive's capacity is reported by the drive as 0x15D3EF798 blocks (of 512 bytes each). Note that that number is 33 bits wide. XP ignores the 33rd bit (the "1" after "0x"), leaving you with 0x5D3EF798 blocks = 1,564,407,704 (decimal) blocks = 800,976,744,448 bytes.
XP reports this as about 745 GB (since XP reports disk capacity in "binary gigabytes", where one "GB" = 1,073,741,824 bytes - they should be saying "GiB", but that's just my personal opinion).
So as far as XP is concerned any partition table entries that go beyond that point (like the third one in the parted output) can't be correct, as they describe places on the drive that it doesn't think exist.
The complete extent of what gparted did to the disk is not clear to me, but the testdisk output shows a partition table that can only be described as "corrupted", given the partitions you thought you were creating. Not only are there apparently a great many partitions, but many of the entries apparently overlap each other.
Is it possible that creating the additional partitions was the reason for Windows to not boot any more?
Yes.
Is it because I’ve created them with gparted in Linux - could that damage the boot information on the first sectors?
Yes.
If I convert the 2 partitions back to “unallocated space” (as they were before), is there a significant chance to make Windows boot again?
Maybe. I don't think you have much to lose at this point.
(I have 500 GB data on the 4th partition, to it will take some time to move them to another disk and my first attempt of copying the image failed, so I'd like to know if it makes sense to remove those partitions again)
I think you had better move that data to another disk.
How much of the disk can I use in Windows XP Prof. 32bit?
I wouldn't use it on XP at all. I would try to find a nice safe 2 TB disk. If you must use this one, stick to the first 745 GB (as reported by XP) and you should be fine.
Is there a way to use the rest of the disk in Linux but let Windows ignore it?
I doubt it. To use it on XP you have to use MBR partitioning, and MBR partition table entries with LBAs above 745 GB or so (i.e. "using the rest of the disk") are likely causing the problem.
You could use it as a data disk (second disk) under Windows Vista or later... or an OS disk if your machine has UEFI firmware.
User contributions licensed under CC BY-SA 3.0