Subject: bug#22710: libparted 3.2 fat32 bootsector incompatible w. windows

From: "D. Eberhardt" <[email-masked]>
Date: Tue, 16 Feb 2016 22:04:16 +0100

Referring to
"Vista/XP dont accept a shrinked Fat32 partition (USB-stick)"
"http://gparted-forum.surf4.info/viewtopic.php?id=17318"
- since I didn't find any according record in the bug-parted Archives, 
I'd like to report the following:

Additionally to the described in the article, after patches were applied 
Feb.9, 2016, to a Windows 7 Enterprise - 64-bit, I observed the same 
behaviour on a fat32 (vfat) partition that was touched by libparted 3.2 
(gparted 0.24.0):
- Windows reports that the partition needs to be formated for use, linux 
(Knoppix 7.6.1) happily mounts and accesses it.
The partition was not really resized, but 'checked', the gparted log 
reported - "extending file system to full partition size - success"; on 
the details screen I remember something like - "extending to full 
partition size - partition already completely used - no resize 
required/done".

So far for the symptoms:
- libparted touched the fat32 (vfat) partition
- windows reports "partition must be formatted for use"

When I reformatted the partition (29GB - beginning of a 60GB stick with 
other partitions)
# mkfs -t vfat -n DAT6 /dev/sdb1
Windows did access it without hazzle.

Theforum articlelinked asite that refers to PTS Disk Editor (DE); 
actually I'm lacking the time to run it on a Win9x system to learn from 
the DE commenting to the fields in a fatxx bootsector. I'm rather a user 
than a programmer, but I'd like to provide the following od -t x1 output 
of the first 2048 blocks - for the *knowing* :-)
My points are:
- Fat32 is oftenly used to share files between different OSs, namely 
windows and Linux (and bsd e.g.); if I had wanted a partition that 
windows can't access, I might use ext4 or reiserfs.
- if mkfs.fat can do it - why shouldn't it be possible for libparted?

Thanks and regards,
Dirk

1. mkfs -t vfat /dev/sdb1; dd if=/dev/sdb1 count=2048

0000000 eb 58 90 6d 6b 66 73 2e 66 61 74 00 02 20 20 00
0000020 02 00 00 00 00 f8 00 00 20 00 40 00 00 08 00 00
0000040 00 28 a0 03 fc 39 00 00 00 00 00 00 02 00 00 00
0000060 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
0000100 80 00 29 66 a7 66 59 44 41 54 36 34 20 20 20 20
0000120 20 20 46 41 54 33 32 20 20 20 0e 1f be 77 7c ac
0000140 22 c0 74 0b 56 b4 0e bb 07 00 cd 10 5e eb f0 32
0000160 e4 cd 16 cd 19 eb fe 54 68 69 73 20 69 73 20 6e
0000200 6f 74 20 61 20 62 6f 6f 74 61 62 6c 65 20 64 69
0000220 73 6b 2e 20 20 50 6c 65 61 73 65 20 69 6e 73 65
0000240 72 74 20 61 20 62 6f 6f 74 61 62 6c 65 20 66 6c
0000260 6f 70 70 79 20 61 6e 64 0d 0a 70 72 65 73 73 20
0000300 61 6e 79 20 6b 65 79 20 74 6f 20 74 72 79 20 61
0000320 67 61 69 6e 20 2e 2e 2e 20 0d 0a 00 00 00 00 00
0000340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0001000 52 52 61 41 00 00 00 00 00 00 00 00 00 00 00 00
0001020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001740 00 00 00 00 72 72 41 61 9e fd 1c 00 02 00 00 00
0001760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0002000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0006000 eb 58 90 6d 6b 66 73 2e 66 61 74 00 02 20 20 00
0006020 02 00 00 00 00 f8 00 00 20 00 40 00 00 08 00 00
0006040 00 28 a0 03 fc 39 00 00 00 00 00 00 02 00 00 00
0006060 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
0006100 80 00 29 66 a7 66 59 44 41 54 36 34 20 20 20 20
0006120 20 20 46 41 54 33 32 20 20 20 0e 1f be 77 7c ac
0006140 22 c0 74 0b 56 b4 0e bb 07 00 cd 10 5e eb f0 32
0006160 e4 cd 16 cd 19 eb fe 54 68 69 73 20 69 73 20 6e
0006200 6f 74 20 61 20 62 6f 6f 74 61 62 6c 65 20 64 69
0006220 73 6b 2e 20 20 50 6c 65 61 73 65 20 69 6e 73 65
0006240 72 74 20 61 20 62 6f 6f 74 61 62 6c 65 20 66 6c
0006260 6f 70 70 79 20 61 6e 64 0d 0a 70 72 65 73 73 20
0006300 61 6e 79 20 6b 65 79 20 74 6f 20 74 72 79 20 61
0006320 67 61 69 6e 20 2e 2e 2e 20 0d 0a 00 00 00 00 00
0006340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0006760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0007000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 f8 ff ff 0f ff ff ff 0f f8 ff ff 0f 00 00 00 00
0040020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
4000000

2. after gparted "repair" applying libparted

0000000 78 02 e0 4d 53 57 49 4e 34 2e 31 00 02 20 3a 00
0000020 02 00 00 00 00 f8 00 00 20 00 40 00 00 08 00 00
0000040 00 28 a0 03 ff 39 00 00 00 00 00 00 02 00 00 00
0000060 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
0000100 80 00 29 66 a7 66 59 4e 4f 20 4e 41 4d 45 20 20
0000120 20 20 46 41 54 33 32 20 20 20 00 00 00 00 00 00
0000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0000760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0001000 52 52 61 41 00 00 00 00 00 00 00 00 00 00 00 00
0001020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0001740 00 00 00 00 72 72 41 61 9d fd 1c 00 01 00 00 00
0001760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0002000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0006000 78 02 e0 4d 53 57 49 4e 34 2e 31 00 02 20 3a 00
0006020 02 00 00 00 00 f8 00 00 20 00 40 00 00 08 00 00
0006040 00 28 a0 03 ff 39 00 00 00 00 00 00 02 00 00 00
0006060 01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00
0006100 80 00 29 66 a7 66 59 4e 4f 20 4e 41 4d 45 20 20
0006120 20 20 46 41 54 33 32 20 20 20 00 00 00 00 00 00
0006140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0006760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 55 aa
0007000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0040000 f8 ff ff 0f ff ff ff 0f f8 ff ff 0f 00 00 00 00
0040020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
0072000 f8 ff ff 0f ff ff ff 0f ff ff ff 0f 00 00 00 00
0072020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
*
4000000