blob: 7071eeb2e4cd3795b08d04db94b77f538caa9259 [file] [log] [blame]
srs5694659eaf12010-08-23 11:26:12 -040010.6.11 (??/??/2010):
2--------------------
3
srs56945a081752010-09-24 20:39:41 -04004- Streamlined GUID code entry in gdisk; it no longer offers the option
5 to enter GUIDs in separate segments.
srs569482f3f0b2010-09-22 10:50:24 -04006
srs5694327129e2010-09-22 01:07:31 -04007- The -t option to sgdisk now accepts GUID values as well as the
8 sgdisk/gdisk-specific two-byte hex codes.
9
10- Added check that the protective 0xEE MBR partition begins on sector 1
11 to the verify function. If it doesn't, a warning message is displayed,
12 but it doesn't count as an error.
13
14- Added check for overlapping MBR partitions to verify function (gdisk "v"
15 function on all menus; sgdisk -v/--verify function). Also warns about
16 multiple MBR 0xEE partitions (causes problems in some OSes).
17
18- Added check to GPT-to-MBR and hybrid MBR creation options to prevent
19 creation of disks with duplicate partitions. When told to create a disk
20 with duplicates, sgdisk now aborts with the error message "Problem
21 creating MBR!" When attempting to create a hybrid MBR with duplicates,
22 gdisk silently drops duplicate partitions, leaving fewer than requested.
23 Creating duplicates should not be possible in sgdisk when converting to
24 MBR form.
srs5694659eaf12010-08-23 11:26:12 -040025
srs56949ddc14b2010-08-22 22:44:42 -0400260.6.10 (8/22/2010):
27-------------------
srs5694f9312b02010-07-06 15:39:51 -040028
srs56949ddc14b2010-08-22 22:44:42 -040029- Enable disk-wipe (-z and -Z) and verification (-v) operations in
30 sgdisk even if the disk is badly damaged.
31
32- Added support for setting attributes in sgdisk (-A/--attributes option)
33 in sgdisk.
34
35- Fixed bug that created backwards attribute field values (bit #2 was
36 entered as bit #61, etc.).
37
38- Fixed bug that caused creation of hybrid MBR to wipe out the MBR's boot
39 code.
40
41- Added ability to save partition table from one device to another (gdisk:
42 'u' on experts' menu; sgdisk: -R or --replicate option).
43
44- Fixed inaccessible -C/--recompute-chs option in sgdisk.
srs5694f9312b02010-07-06 15:39:51 -040045
srs569461768bc2010-07-04 01:54:00 -0400460.6.9 (7/4/2010):
47------------------
48
49- Fixed minor error in sgdisk man page (--largest-new option requires
50 a partition number).
51
52- Fixed major bug in hybrid MBR creation, which caused incorrect
53 protective partition end point settings and occasionally other
54 problems.
55
srs56940e197dc2010-05-23 13:06:10 -0400560.6.8 (5/23/2010):
57------------------
58
srs569461768bc2010-07-04 01:54:00 -040059- Added tests to see if the file to be opened is a directory, character
60 device, FIFO, or socket; program now terminates if any of these
61 conditions is met. (Linux/FreeBSD/OS X only.) Thanks to Justin Maggard
62 for this patch.
srs56940e197dc2010-05-23 13:06:10 -040063
64- Added 'f' option on gdisk's experts' menu (-G/--randomize-guids in
65 sgdisk). This option randomizes the disk's GUID and all partitions'
66 GUIDs. Intended for use after cloning a disk with a utility that copies
67 the GUIDs intact (such as a raw dd copy) if you want each disk copy to
68 have its own set of GUIDs.
69
70- Added -u/--partition-guid and -U/--disk-guid options to sgdisk. These are
71 the equivalents of the 'g' and 'c' options, respectively, on the gdisk
72 experts' menu: They enable adjusting an individual partition's GUID or a
73 disk's GUID. The GUID may be either a fully specified GUID value or 'R'
74 or 'r' to set a random GUID value.
75
76- Fixed compile problem for FreeBSD (its math library lacks a log2()
77 function). Also created separate Makefile.freebsd with a couple of
78 FreeBSD-specific options.
79
80- Added -N (--largest-new) command to sgdisk. This command creates a single
81 partition that fills the largest single unpartitioned block of space on
82 the disk.
83
84- Fixed sgdisk man page error: the --change-name option was incorrectly
85 listed as --change.
86
87- Added 'h' option to gdisk experts' menu (-C or --recompute-chs in sgdisk)
88 to recompute all protective/hybrid MBR CHS values. This option is
89 intended to work around a bug in at least one BIOS that prevents the
90 computer from booting when the GPT-mandated (but technically illegal)
91 0xFFFFFF CHS value is used as the end point for a protective MBR. The
92 recomputed values will be legal (e.g., 0xFEFFFF instead of 0xFFFFFF),
93 but incorrect in GPT terms, and will therefore enable at least one
94 BIOS to boot with a GPT disk. See http://www.rodsbooks.com/gdisk/bios.html
95 for all I know about BIOS/GPT incompatibilities.
96
970.6.7 (5/1/2010):
98-----------------
99
100- Undid earlier change, with version 0.6.4, that wiped the MBR boot loader
101 when doing MBR-to-GPT conversions. I've now become skeptical that MBR
102 boot loaders were causing any real problems on GPT disks, so I'm going
103 back to the philosophy of leaving as much alone as possible.
104
105- Fixed bug that caused incorrect reporting of free space on 0-size disks
106 (e.g., files of 0 length passed as disk images).
107
108- Fixed bug that caused segfault on some invalid disks
109
110- Fixed bug that caused incorrect partition numbers to be displayed for
111 some verify problems.
112
113
1140.6.6 (3/21/2010):
115-----------------
116
117- Added support for the "no block IO protocol" (referred to as "hide from
118 EFI" in GPT fdisk) and "legacy BIOS bootable" attribute bits. See Table
119 19 of the UEFI 2.3 specification (p. 153) for details.
120
121- Changed the sequence in which GPT data structures are written to disk;
122 backups are now written first, followed by the main structures. This is
123 as recommended in the UEFI 2.3 specification, since it's safer in the
124 extremely unlikely event that a RAID array's size is increased and
125 there's a power outage mid-write. (If the main structures are written
126 first in this case, they'll point to data that's not yet been written;
127 but by writing the backups first, the old main structures will still
128 point to the valid old backup structures.)
129
130- Protective MBRs now have disk signatures of 0x00000000, to better
131 conform with GPT as described in the UEFI 2.3 specification.
132
133- Added alignment information to the summary data produced by the
134 'p' main-menu option in gdisk or the -p option to sgdisk.
135
136- More alignment changes: GPT fdisk now attempts to determine the alignment
137 value based on alignment of current partitions, if any are defined. If no
138 partitions are defined, a default value of 2048 is set. If the computed
139 value is less than 8 on drives over about 596GiB, it's reset to 8, since
140 the drive might be a WD Advanced Format unit that requires an 8-sector
141 (or larger power-of-2) alignment value for best performance. The
142 2048-sector default provides better alignment in some RAID
143 configurations.
144
145- Changed behavior when a backup restore fails. Previously, GPT fdisk
146 would create a fresh blank set of partitions. Now it does so only
147 if the failure occurs when interpreting the backup's contents; if the
148 user typed the wrong filename, the in-memory data structures aren't
149 touched.
150
151
1520.6.5 (3/7/2010):
153-----------------
154
155- Added tests to verify ('v') function and to pre-save checks to look for
156 partitions that end before they begin or that are too big for their
157 disks.
158
159- Fixed a bug that could cause spurious data to appear in a grown partition
160 table.
161
162- Added ability to convert some or all partitions to logical partitions in
163 GPT-to-MBR conversion. This feature is limited by the fact that at least
164 one free sector must exist immediately prior to each logical partition,
165 so it won't do much good if partitions are crammed together. It should be
166 possible to convert back to MBR any disk that started that way, provided
167 no partitions were added or resized when the disk was in GPT form; and
168 disks that were partitioned with Apple's Disk Utility or other tools that
169 insert unpartitioned space should also be convertible. CAUTION: THE
170 LOGICAL PARTITION CREATION FEATURE DOESN'T TRY TO ALIGN PARTITIONS OR
171 PARTITION HEADER DATA TO CYLINDER BOUNDARIES! It's conceivable that some
172 older OSes or utilities will object to these disks, although Linux, OS X,
173 Windows Vista, and Windows 7 all seem happy with them.
174
175- Fixed bug that caused creation of 0-length file if an incorrect device
176 filename was typed.
177
178- The gdisk program now prompts for a device filename if it's called with
179 no options. This enables gdisk to do something useful if it's launched by
180 double-clicking its icon in a GUI environment.
181
182- Added workaround for bug in some versions of MinGW that caused the
183 program to garble input sector numbers.
184
185- The Windows version now works on disks with over-512-byte sectors.
186 Tested on a magneto-optical (MO) drive with 2048-byte sectors.
187
188- Added -D (--display-alignment) option to sgdisk, to display sector
189 alignment value (by default, 1 for sub-800GiB disks and 8 for disks
190 over that size).
191
192- Fixed bug in computation of CHS geometries for protective MBR. This is
193 non-critical, since most modern utilities ignore the CHS geometries.
194 Concerned users can use the 'n' option on the experts' menu to build new
195 protective MBRs with the new algorithm, if desired. (Note that GNU
196 Parted, at least, gets this wrong, too.)
197
198- Fixed memory-allocation bug when reading GPT disks with partition tables
199 with over 128 entries; could cause program to crash on startup.
200
2010.6.4-2 (2/20/2010):
202--------------------
203
204Note: Neither of the following changes affects actual program code, so I've
205left the version number in the program at 0.6.4.
206
207- Altered Makefile to pass user's compiler and linker environment
208 variables through.
209
210- Added #include to gpttext.cc to enable it to compile on the latest
211 GCC versions (it was failing on at least some 4.4.x compilers).
212
2130.6.4 (2/19/2010):
214-------------------
215
216- Added -m (--gpttombr) option to sgdisk, enabling conversion of GPT
217 disks to MBR format, with a limit of four partitions total, and of course
218 without overcoming the 2TiB limit.
219
220- Added -h (--hybrid) option to sgdisk, enabling creation of hybrid
221 MBRs. Fewer options are available in sgdisk than in gdisk, though,
222 in order to keep the user interface manageable.
223
224- Fixed off-by-one bug in specification of partition when using the
225 -T (--transform-bsd) option in sgdisk.
226
227- Changed the code to create a new MBR unique disk signature whenever a new
228 protective MBR is generated (when doing an MBR-to-GPT conversion, when
229 using the 'n' option on the experts' menu, or when using the 'o' option
230 on the main menu, for example). Previous versions attempted to preserve
231 the existing MBR disk signature in most cases, but this resulted in
232 values of 0x00000000 whenever an empty disk was partitioned, and often in
233 other cases, too. Better to risk changing this value too often than to
234 leave multiple disks with 0x00000000 values, I think.
235
236- Added transpose ('t' on experts' menu in gdisk; or -r or --transpose in
237 sgdisk) command to enable fine-tuning partition order without doing a
238 full sort.
239
240- Added code to clear the MBR boot loader when doing an MBR-to-GPT
241 conversion. (This was already done in full-disk BSD-to-GPT conversions.)
242 This is done because I've seen a few problem reports that make me think
243 some MBR boot loaders freak out and hang the system when they encounter
244 GPT disks, and/or they attempt to load a second-stage boot loader stored
245 in what is now GPT territory, causing a system hang. Since MBR boot
246 loaders don't work on GPT disks anyhow (even GRUB needs to be
247 reinstalled), this new wiping behavior shouldn't cause any problems, and
248 may prevent a few.
249
250- Fixed bug in Windows version that prevented saving backup files.
251
252- Fixed bug that caused second and subsequent partition numbers in
253 prompts in hybrid MBR conversion procedure to be displayed in
254 hexadecimal.
255
256- Fixed very obscure potential bug in hybrid MBR/GPT synchronization when
257 deleting partitions; code wasn't matching partition lengths correctly,
258 which would only affect partitions that start at the same point but have
259 different lengths in MBR vs. GPT.
260
261- Fixed bug in the -E option to sgdisk; it was actually returning the
262 last free sector, not the last free sector in the largest free block.
263
264- Fixed bug in -t option to sgdisk; it was corrupting partition type
265 codes.
266
267- Fixed minor alignment bug in partition summary list ('p' from any menu)
268 when partition sizes are between 1000 and 1024 units.
269
270- Backup restore function ('l' on recovery & transformation menu) now
271 accepts both backups generated by GPT fdisk and backups created by a
272 direct copy (via dd, etc.) of the MBR, main GPT header, and main GPT
273 partition table, in that order. ("dd if=/dev/sda of=backup.gpt bs=512
274 count=34" will do this on Linux for a disk with a typical-sized GPT table
275 of 128 entries.)
276
2770.6.3 (2/3/2010):
278------------------
279
280- Fixed serious data corruption bug on big-endian (PowerPC and similar)
281 systems.
282
283- Changed several GPT fdisk Solaris type codes to correct a duplicate
284
285- Corrected error in GPT fdisk type codes for NetBSD LFS and NetBSD RAID;
286 they were identical, but I've now changed NetBSD RAID to A906, which
287 is unique.
288
289- Added GUID for IBM General Parallel File System (GPFS) partition type
290 code. Somewhat arbitrarily set it to use the 7501 number (MBR code 0x75
291 is used by IBM PC/IX, so it's at least the right company, by my loose
292 numbering rules....).
293
294- Improved GUID generation. Prior versions generated completely random
295 numbers for GUIDs. This works, but is technically a violation of the
296 spec. Unix versions now employ libuuid to generate GUIDs in a more
297 correct way. The Windows version still generates random numbers, though.
298
299- Turned PartTypes class into a derived class of GUIDData, and renamed
300 it to PartType.
301
302- Created new GUIDData class, to replace the original GUIDData struct.
303
3040.6.2 (1/29/2010):
305------------------
306
307- The change-type ('t' on main menu) option now changes the partition's
308 name *IF* the current name is the generic one for the partition type.
309 If the current name is not the generic name, it is NOT changed.
310
311- Fixed bug that caused new protective MBR to not be created when the
312 MBR was invalid and the GPT was damaged and the user opts to try to
313 use the GPT data.
314
315- Enabled default partition type code of 0700 when creating partitions
316 or changing their type codes. (Type 0700, Linux/Windows data, is set if
317 the user hits the Enter key alone.)
318
319- Fixed bug in sort ('s' on main menu) option that caused partition
320 numbers to begin at more than 1 if the original partition list had
321 too many empty partitions before the last one defined.
322
323- Improved code to determine which partition table to load in case of
324 CRC mismatches between the partition tables and the stored CRC values
325 in the headers.
326
327- Compiles using MinGW (http://www.mingw.org) to create a Windows binary.
328
329- Moved all disk I/O functions to the new DiskIO class. This helps with the
330 Windows port; it uses diskio-windows.cc for Windows-specific code,
331 diskio-unix.cc for the Linux, FreeBSD, and OS X code, and diskio.cc for
332 cross-platform disk I/O code.
333
334- Changed BSD disklabel detection code to be more correct (I think).
335 This change has no effect on my test disks, but I hope it'll work
336 better on disks with sector sizes other than 512 or 2048.
337
3380.6.1 (1/20/2010):
339------------------
340
341- Fixed bug that returned incorrect disk size on 32-bit versions of
342 FreeBSD.
343
344- Fixed bug that prevented FreeBSD version from working on disk image
345 files.
346
347- Fixed bug that caused BSD disklabel conversion to fail.
348
3490.6.0 (1/15/2010):
350------------------
351
352- Fixed bug that caused the convert to MBR function to fail.
353
354- Added support for disks with other than 512-byte sectors.
355
356- Created embryonic sgdisk program.
357
358- Fixed bug that caused relative sector numbers entered by users (e.g,
359 "+128M") to be misinterpreted as from the start of the range rather than
360 from the default value.
361
3620.5.3 (1/4/2010):
363-----------------
364
365- Fixed bug in display of GUIDs when compiled with some versions of GCC.
366
367- Eliminated warnings caused by additional checks in latest versions of
368 GCC. These warnings were harmless, but to eliminate them I've added
369 more error checking on disk I/O.
370
371- Eliminated unnecessary warnings about potential data loss if the program
372 was launched with the -l option or if writes aren't possible.
373
374- Added code to set the partition boundary value based on the physical
375 sector size. (FindAlignment() function.) This function, however, works
376 only on Linux, and then only if the BLKPBSZGET ioctl is defined. This
377 ioctl is new in kernel 2.6.32 or thereabouts.
378
3790.5.2 (12/31/2009):
380-------------------
381
382- Modified partition creation function to begin partitions on 8-sector
383 boundaries by default. This improves performance on the new Western
384 Digital Advanced Format drives. The new 'd' and 'l' options on the
385 experts' menu display and change, respectively, the boundary size.
386
387- Tweaked code to produce fewer warnings on the latest versions of
388 GCC.
389
3900.5.1:
391------
392
393- Made some minor edits to the man page.
394
395- Incorporated RPM .spec file changes contributed by Scott Collier
396 (boodle11@gmail.com).
397
398- Changed method of locating and loading backup GPT data, to use the
399 main header's pointer, if it's valid, rather than seeking to the
400 end of the disk.
401
402- Added 'e' option (relocate backup GPT data structures) to the experts'
403 menu.
404
405- Fixed bug that prevented recovery of partitions in case of partially
406 damaged GPT data (bad main and good backup or bad backup and good
407 main header, for instance).
408
4090.5.0:
410------
411
412- Added GPT-to-MBR conversion function. It's very limited, but potentially
413 useful in some cases.
414
415- Fixed bug that caused incorrect file sizes to be reported on 32-bit
416 Linux, thus causing problems when editing partition tables in disk images
417 or when loading GPT backup files.
418
419- Fixed bug that caused bogus CRC error reports when loading backup GPT
420 data.
421
422- Reorganized menus. There are now three: the main menu, the experts' menu,
423 and the recovery & transformation menu. The last of these has most of the
424 items that had been on the earlier versions' experts' menu.
425
426- Added ability to re-load the MBR and generate a fresh GPT from it. This
427 is normally identical to quitting and re-running the program, but it
428 could be handy if, say, the GPT partitions on a hybrid configuration are
429 badly messed up; this will enable using the hybridized partitions as the
430 starting point for a new GPT setup.
431
432- The program now generates CHS values for hybrid and GPT-to-MBR conversion
433 MBRs. For the moment, the assumption is the maximum number of heads and
434 sectors per track (255 and 63, respectively), although the bulk of the
435 code supports other values -- it'd just be awkward to enter the data in
436 the user interface.
437
438- Fixed minor display bug that caused number of sectors on the disk to be
439 shown as 0 on large disks when running 32-bit binaries.
440
441- Reverted 0.4.2's zap (destroy GPT) changes, since I don't want to wipe
442 out a valid MBR if the user created that MBR over an older GPT without
443 first properly wiping out the GPT, and the user now wants to wipe out
444 the GPT.
445
446- Reformatted and edited the man page. Aside from edits related to the
447 preceding program changes, I've altered the markup slightly and trimmed
448 much of the more tutorial information from the man page to better
449 conform to typical terse man page style.
450
4510.4.2:
452------
453
454- Code cleanup.
455
456- Fixed very small formatting bug in display of hex code when a match isn't
457 found when converting from an MBR/gdisk hex code to a GUID type code.
458
459- Added the ability to work on disk image files (raw files for virtual
460 machines, backup images, etc.). The program assumes that all such disk
461 image files have 512-byte sectors.
462
463- Added verification prompt to 'o' main-menu option to avoid accidental
464 erasures of all partitions.
465
466- The "destroy GPT data structures" option ('z' on the experts' menu) now
467 also destroys all EFI GPT (0xEE) partitions in the MBR.
468
469- Added an extra warning to the "destroy GPT data structures" option if an APM
470 or BSD disklabel was detected on the disk.
471
472- Added a buffer flush after destroying GPT data structures, to get the OS
473 to read the new (empty or MBR-only) partition table.
474
475- Fixed bug that allowed entry of nonexistent partition numbers when creating
476 a hybrid MBR.
477
4780.4.1:
479------
480
481- Code cleanup/re-organization
482
483- Partition creation function ('n' on main menu) now uses the start of the
484 largest available chunk of free space rather than the first available
485 sector as the default starting sector number. This should enable easier
486 partition creation if there are small bits of free space on the disk.
487
488- You can now specify the end point of a partition by using a minus sign,
489 in which case the end point is the default value minus the specified
490 size. For instance, "-200M" creates a partition that ends 200MiB before
491 the default end point.
492
493- You can now specify the start point of a partition by using a plus or
494 minus sign, in which case the start point is the specified distance from
495 the start (+) or end (-) of free space. This is exactly the same as the
496 new rules for entry of the end point, except that the default value is
497 set differently.
498
499- Deleting a partition now checks for a matching hybrid MBR partition, and
500 if one is found, it's deleted. Any empty space that then surrounds the
501 0xEE (EFI GPT) MBR partitions is then added to the nearby 0xEE partition.
502 If no non-0xEE partitions are left, a fresh protective MBR is generated.
503
504- Added hybrid MBR consistency check to the verify ('v') option and to
505 pre-write checks. If non-0xEE/non-0x00 MBR partitions without
506 corresponding GPT partitions are found, the user is warned. This finding
507 does NOT prevent writing the partition table, though.
508
509- Added non-destructive write test when opening the device file, in order
510 to detect the problem with FreeBSD being unable to write to disks with
511 mounted partitions (or other potential problems).
512
5130.4.0:
514------
515
516- Added support for BSD disklabels. The program can now convert disks that
517 use "raw" disklabels, with the caveat that the first partition will
518 almost certainly need to be deleted because it'll overlap the main GPT
519 header; and convert disklabels contained within a GPT (or a former MBR,
520 converted to GPT) partition. In the latter case, the 'b' main menu option
521 is used.
522
523- Added support for compiling on FreeBSD.
524
525- Fixed bug that could cause crashes or incomplete sorts when sorting
526 the partition table.
527
528- New partitions, including converted ones, now take on the name of the
529 partition type as a default name.
530
531- Reorganized some code; created a separate C++ class for GPT partitions
532 (GPTPart), which replaced a struct and enabled moving code from the
533 bloated GPTData class into GPTPart.
534
535- Fixed a bug that produced spurious warnings about unknown sector sizes
536 when loading a backup file.
537
5380.3.5:
539------
540
541Note: This version was not officially publicly released; I wanted to test
542the big-endian support while developing 0.4.0.
543
544- Tweaked the disk type identification code to warn users to re-sync their
545 hybrid MBRs when one is detected.
546
547- Tweaked MBR-reading code to ignore 0xEE (EFI GPT) partitions. This will
548 only have an effect on a poorly partitioned MBR disk that contains an
549 inappropriate EFI GPT partition, or when attempting to recover a
550 corrupted disk by using the hybrid MBR for data recovery.
551
552- Added big-endian (PowerPC, etc.) support!
553
554- Added code to identify and warn of the presence of an Apple Partition
555 Map (APM) on the disk.
556
557- Enabled MBR conversion code to handle multiple logical partitions.
558
5590.3.4:
560------
561
562- Fixed bug that enabled (possibly accidental) entry of MBR type codes of
563 0x00 in GPTData::MakeHybrid(). The fix also enables entry of default
564 type code by pressing the Enter key when prompted. Applied a similar
565 fix to the entry of the type code for the second protective partition,
566 if one is used.
567
568- Fixed a typo: "sectors" was spelled "sectprs" in one spot!
569
570- Fixed bug that caused default entry for end sector to be refused if an
571 initial value using a plus sign (e.g., "+20G") was also refused.
572
5730.3.3:
574------
575
576- Gave users control over the way MBR partitions are assigned to slots in a
577 hybrid MBR setup; the original method (putting the 0xEE partition after
578 the real partitions) works well for non-boot disks, but both GRUB and
579 GRUB2 become confused by this type of setup, so it needs changing.
580
581- Changed "blocks" to "sectors" in GPT and MBR table displays.
582
583- Added "Boot" column to MBR table display; shows an asterisk (*) when the
584 partition's status is bootable.
585
5860.3.2:
587------
588
589- Changed __DARWIN_UNIX03 to __APPLE__ as code to enable MacOS X support.
590
591- Added the ability to create a hybrid MBR ('h' on experts' menu). This was
592 motivated by my discovery that Windows 7 remains brain-dead when it comes
593 to the ability to boot from a GPT disk, at least on BIOS-based machines.
594
595- Added 'z' option to experts' menu, to destroy GPT data structures and
596 exit. The intent is to use this feature to enable subsequent partitioning
597 of the disk using fdisk or other GPT-unaware tools. (GNU Parted will wipe
598 the GPT data structures itself when you create a new MBR ["msdos
599 disklabel," in Parted parlance], so using Parted is another option.)
600
601- Slightly altered the effect of the 'o' command on the main menu. It now
602 blanks out the protective MBR, as well as the GPT data.
603
6040.3.1:
605------
606
607- Added Mac OS X support, provided as a patch by David Hubbard
608 (david.c.hubbard@gmail.com).
609
610- Fixed bug in disksize() function on Mac OS. (Possibly dependent on the
611 kernel and/or GCC version.) The disk size, of type uint64_t, was not
612 being passed correctly, so I reorganized the function to return it as
613 the function's return value rather than as a parameter. This seems to
614 work OK on my Mac OS test system and on both 32- and 64-bit Linux
615 systems.
616
617- Fixed off-by-one bug in GPTData::FindLastAvailable().
618
619- Fixed bug that caused display of options after a disk-write error.
620
621- Fixed several incorrect MacOS X partition type GUIDs, thanks to Yves
622 Blusseau (1otnwmz02@sneakemail.com).
623
6240.3.0:
625------
626
627- Changed version number to 0.3.0, reflecting the fact that I've received
628 no significant bug reports and so am elevating the program to "beta"
629 status. This change also entailed altering the warning the program
630 displays when saving partition table changes.
631
632- Fixed minor bug in CHS geometry of the protective MBR's type EE partition
633 (was producing 0x000200 as the start value, but should be 0x000100).
634 Should be a non-critical bug since the protective MBR partition
635 definition is only there to keep MBR-only disk utilities from messing
636 with the disk.
637
638- Added ability to enter GUIDs as single massive strings rather than in
639 chunks.
640
6410.2.2:
642------
643
644- Added #include directives required to compile the program using GCC
645 4.4.0.
646
6470.2.1:
648------
649
650- Fixed partition numbering problem in reports of partition overlaps in
651 verification function.
652
653- Fixed 1-sector partition size problem when creating new partitions
654 (partitions were 1 sector too big when using the +size option).
655
656- Changed BytesToSI() to display values in bytes without decimal points
657 (e.g., "512 bytes" rather than "512.0 bytes").
658
659- Added GPTData class member functions to retrieve GPT data structure
660 locations on disk; used in my internal-use-only GPT-wiping program.
661
662- Eliminated the "a reboot is recommended" notice after writing the
663 partition table.
664
665- Added notice after sorting the partition table to the effect that
666 editing /etc/fstab and/or the boot loader files may be required.
667
668- Fixed bug in MBR-reading function that caused 0x0f (Win95 LBA) and 0x85
669 (Linux extended) extended partitions to not be read.
670
671- Fixed bug in GetLastSector() (in support.cc) that would have prevented
672 correct user entry of over-32-bit sector numbers on 32-bit systems.
673
674- Made some changes/corrections to the partition type list in
675 parttypes.cc. Most of these were based on newly-discovered MBR type
676 codes for Apple (Mac OS X) filesystems.
677
678- General code cleanup (setting explicit casts, etc.)
679
6800.2.0:
681------
682
683- Initial semi-public release