1

Topic: Partition table identified as "atari"

I have a Widows 10 system that shows strange behavior in gparted. Every tool I've tried (several windows tools and e.g. gnu (s)fdisk) correctly finds an msdos (MBR) disk with three partitions (350 Windows boot, 465 G main, 500 M Windows restore), except (g)parted. It says the partition table format is "atari" and the partitions shown don't make sense.

The image below shows a screenshot with the gparted (Live 0.31.0-1) window and the fdisk results below it.

imagebucket.net/u/gm3tqmy

Note that when I boot from the HD, I have a fully functional Windows 10 system.

Does anybody know how (g)parted determines that this must be an "atari" disk, which clearly it isn't?

2

Re: Partition table identified as "atari"

GParted uses the libparted library from the parted project in addition to other tools like blkid to determine file systems and partition tables.

If I recall correctly the "atari" partition table was an extension of the "msdos" / MBR partition table.

You can check from the command line with:

sudo parted -l

and

sudo fdisk -l

3

Re: Partition table identified as "atari"

The command line tool gives similar results as the gnome one, as shown in the screenshot below.

https://sourceforge.net/p/clonezilla/di … G_2799.JPG

So of course you are right, it seems to be something happening inside the libparted. I'm not sure how actively it is developed, looks like the latest & greatest version is 4 years old so I suppose it is pretty stable and bug free. So I thought maybe someone here could point me in the right direction...

[The problem occurs after a Clonezilla restore operation, so it appears that sfdisk is doing something that confuses parted. Both frequently used & mature tools, and my hardware is also pretty mainstream (neither old nor brand new). So ???]

4

Re: Partition table identified as "atari"

You might try reporting the issue upstream to the parted project.

See bug-parted.

5

Re: Partition table identified as "atari"

Ok, I did, thanks for the link.

I noticed that the support for "atari" disks was added as a patch to the 3.2 version of parted (from 2014) in 2016. Am I right to conclude that gparted (and the parted on the live media) incorporates this patch?

6

Re: Partition table identified as "atari"

Our Live Maintainer is the best person to answer the question.  To my knowledge GParted Live uses the version of libparted from the Debian SID repository and adds the two patches as described in the GParted News.  If Debian SID includes the patch you mentioned, then by definition of being downstream we also include it.

7

Re: Partition table identified as "atari"

I'm pretty sure it is a bug in the "atari" patch of libparted. If I create the partition structure with three partitions as shown in the screenshot above (from scratch) using sfdisk, (g)parted falsely identifies my partition table as "atari". If I change the size of the second (main) partition from 975028224 to 975028222, it is correctly identified as an msdos partition table.

I posted all this to the parted bug list, but I'm not sure someone is monitoring it. I think I'll try the debian parted bug list.

8

Re: Partition table identified as "atari"

It sounds like you've done quite a bit of investigative work to identify the patch that appears to cause the issue.

Have you considered creating a patch to fix the issue so that both msdos and atari partition tables are detected correctly?

9

Re: Partition table identified as "atari"

I'd like to, but:

1) I don't have a complete Linux system with gcc etc., just the live distributions, so it is a bit hard to do development. (And you probably would not want a relative Linux n00b like me to mess with something as delicate as a partition editor...)
2) I would need an Atari disk to test it, because any patch that effectively prevents parted to recognize Atari disks will "solve" the msdos end of the problem
3) I am not sure that it is theoretically possible. It might be possible to reduce the likelihood of a false positive by adding more sanity checks; in the end this is playing with the balance between false positive and false negative detection.
The fundamental issue is that the same data may check out as valid partition table in different formats. Since the user will probably know what kind of disk he has, you would almost consider to allow the user to force a certain format. That would be a pretty major change.