• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:disk

2 -------------------
4 - Fixed problem that caused sgdisk to crash with errors about being unable
5 to read the disk's partition table when compiled with the latest popt
6 (commit 740, which is pre-release as I type; presumably version 1.19 and
9 - Updated guid.cc to deal with minor change in libuuid.
11 - Fixed potential NULL derefernce bug in sgdisk. Thanks to Damian Kurek
14 - The partition number of "0" can now be used to reference newly-created
15 partitions when the --largest-new=0 option to sgdisk is used. Thanks to
18 - Make explicit casts in gptcurses.cc to eliminate compiler warnings about
19 mis-matched types in printw() statements.
21 - Minor code cleanup based on valgrind analysis.
23 - In previous versions, GPT fdisk accepted only integer values for partition
30 - Changes to optimize disk handling, particularly on Windows, courtesy of
33 - Added numerous new partition type codes from Discoverable Partitions
35 (https://uapi-group.org/specifications/specs/discoverable_partitions_specification/).
37 - Added new sgdisk -k/--move-backup-table and gdisk k (on the experts' menu)
39 the sgdisk -j/--move-main-table and gdisk j (on the experts' menu) option
43 ------------------
45 - Removed stray debugging code that caused "partNum is {x}" to be printed
46 when changing a partition's name with sgdisk (-c/--change-name).
48 - Added support for aligning partitions' end points, as well as their start
51 by the new '-I' option in sgdisk. See the programs' respective man pages
56 - Added check for too-small disks (most likely to be an issue when trying
57 to use a too-small disk image); program now aborts if this happens.
59 - Added the ability to build sgdisk and cgdisk for Windows.
61 - Added new type codes:
63 * Apple APFS Pre-Boot (0xaf0b)
66 * ChromeOS mini-OS (0x7f04)
68 * U-Boot boot loader (0xb000)
71 - Fixed build problems with recent versions of ncurses.
73 - Fixed bug that caused cgdisk to report incorrect partition attributes.
75 - Consolidated Makefiles for Linux, FreeBSD, Solaris, macOS, and Windows
76 (32- and 64-bit). The old OS-specific Makefiles remain in case the new
81 -----------------
83 - Fixed double byte swap operation on writes of partition name data on
84 big-endian systems; this is in addition to the double byte swap fix on
88 - Added feature to gdisk and sgdisk to enable swapping the byte order of
91 -b/--byte-swap-name in sgdisk. This seems advanced/obscure enough that I
95 - Added type code for the Barebox boot loader (0xbb00;
96 4778ED65-BF42-45FA-9C5B-287A1DC4AAB1).
98 - Trivial code cleanup.
101 ------------------
103 - Fixed bug that caused spurious warnings about the partition table
107 - Added ARM64 as an architecture for the Mac builds of gdisk and fixparts.
109 "universal" x86-64/ARM64 binaries, so they will run natively on the new M1
111 for x86-64, because they rely on libraries that are not easily built in
114 - Fixed double byte swap operation on partition label data on big-endian
117 - Added three new type codes:
118 - 0x0701 - Microsoft Storage Replica
119 - 0x0702 - ArcaOS Type 1
120 - 0x8401 - Storage Performance Development Kit (SPDK) block device
123 ------------------
125 - Fixed bug that could cause segfault if GPT header claimed partition
127 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-0256
129 - Fixed bug that could cause a crash if a badly-formatted MBR disk was
131 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-0308
133 - Renamed the partition type "Freedesktop $BOOT" to "XBOOTLDR partition".
135 - Added several more Freedesktop partition table type codes (0x8312 through
138 - Fixed type code definition in diskio-unix.cc that prevented 32-bit builds
141 - Minor tweaks to get the software to compile on FreeBSD; that seems to have
145 ------------------
147 - Fixed typos and minor formatting issues in man pages
149 - Changed number of columns in type code output ("sgdisk -L" and equivalents
153 - Makefile change: Add $(LDLIBS) support to enable clean static builds (for
156 - You can now put the 0xEE partition last in a hybrid MBR using sgdisk.
160 - Added numerous type codes for Container Linux, Veracrypt, and
163 - Partition type name searches are now case-insensitive.
165 - It's now possible to quit out of partition type name searches by typing
168 - When changing a partition type code, the default is now the current
169 type code, not a platform-specific type code.
171 - The UEFI GPT fdisk project
179 - Apple no longer supports building i386 or "fat" binaries in XCode (or if
181 macOS binaries are now x86-64 only. Similarly, building now seems to
183 also re-built my Mac build environment and tweaked Makefile.mac
187 -----------------
189 - Added some explicit copy constructors and made some other tweaks to avoid
192 - The macOS binary for sgdisk is now a pure 64-bit build; I'm no longer
193 supporting 32-bit builds of sgdisk. The gdisk and cgdisk binaries remain
194 "fat" 32-/64-bit builds. The reason for dropping the 32-bit support from
195 sgdisk is that I've re-built my macOS development system, and I had
197 libraries upon which sgdisk relies. 32-bit support for the other binaries
200 - Added search feature to partition type list functions ("L" on main menu of
205 descriptions. Note that the search/filter is case-sensitive. If <Enter> is
208 - Change to Makefile.mac to use standard libncurses rather than a 3rd-party
211 - Minor bug fix in alignment of internal data structures.
213 - Minor bug fix in handling of damaged disks. Also, GPT fdisk now reports
214 more information on what data structures are damaged when a damaged disk
217 - Added type code for Apple APFS (7C3457EF-0000-11AA-AA11-00306543ECAC,
220 - Added type code for Atari TOS basic data (0xa200,
221 734E5AFE-F61A-11E6-BC64-92361F002671).
223 - Added type codes for Linux dm-crypt (0x8308,
224 7FFEC5C9-2D00-49B7-8941-3EA10A5586B7) and LUKS (0x8309,
225 CA7D7CCB-63ED-4C53-861C-1742536059CC) partitions.
227 - Added 18 Ceph partition type codes.
229 - Added 52 (yes, 52!) Android partition type codes.
231 - Changed "Creating new GPT entries" message to read "Creating new
233 using sgdisk with a non-destructive option, like "-p".
236 ------------------
238 - Fixed a major bug that caused invalid partition tables to be generated
239 when creating a new partition table (that is, partitioning a blank disk or
243 ------------------
245 - On Linux, the p/-p/--print command now shows the disk's model name, as
249 when accessing disk image files, even on Linux.
251 - GPT fdisk can now report both the physical and logical sector sizes of
258 - Addition of new verification checks, mostly (but not exclusively) related
259 to the new j/-j/--move-main-table option.
261 - Added new option: 'j' on the experts' menu in gdisk;
262 '-j/--move-main-table={sector}' in sgdisk. This option enables relocating
264 else on the disk. The main reason I know of to do this is if the disk is
265 to be used with a system-on-chip (SoC) computer, some of which require the
271 - Updated man pages with new recommendations for ESP and BIOS Boot Partition
274 - Added four type codes (AF06 through AF09) for Apple SoftRAID (Status,
277 - Added two type codes for the Open Network Install Environment (ONIE):
278 0xe100 (7412F7D5-A156-4B13-81DC-867174929325) and 0xe101
279 (D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149).
281 - Added thirteen type codes for Android partitions (0xa000 through
284 - Added type code for QNX6 (aka QNX Power-Safe) filesystem: 0xb300, for
285 CEF5A9AD-73BC-4601-89F3-CDEEEEE321A1.
287 - Removed stray debug message ("REALLY setting name!") from sgdisk,
288 when setting new name via -c option.
291 -------------------
293 - Created uninstall-fixparts and uninstall-gdisk scripts for OS X. As the
297 - Fixed bug that caused -N/--largest-new option to sgdisk to fail when
300 - Fixed bug that caused input glitches in EFI version of gdisk.
302 - Fixed bug that caused sgdisk to not return an appropriate error code
305 - Fixed bug that caused cgdisk's "Info" display to under-report the
308 - OS X 10.11 includes new security features that prevent GPT fdisk from
311 into the normal system. You can re-enable the security features by
314 this feature when gdisk detects that it can't write to the disk under OS
318 - I've updated the OS X installation location from the Unix-standard
324 - I've updated my OS X environment to OS X 10.11 and LLVM 7.0.0. This has
328 systems.) The OS X binaries are now "fat" (32- and 64-bit) versions,
330 32-bit support, in which case the binaries will now work.
332 - Changed the default name of 0xab00 partitions from "Apple boot" to
338 - Changed the OpenBSD type codes (0xa600 and 0xa601): 0xa600 is now
339 824CC7A0-36A8-11E3-890A-952519AD3F61 (OpenBSD disklabel) and 0xa601 is
340 now gone. Previously, 0xa600 was 516E7CB4-6ECF-11D6-8FF8-00022D09712B, a
342 824CC7A0-36A8-11E3-890A-952519AD3F61. OpenBSD is now officially
343 supporting 824CC7A0-36A8-11E3-890A-952519AD3F61 as a disklabel type,
345 non-disklabel type codes at the moment.
347 - Added GUID 0311FC50-01CA-4725-AD77-9ADBB20ACE98 (0xbc00) for
350 - Fixed bug that caused random crashes on ppc64el systems (and perhaps
353 - Added GUID C91818F9-8025-47AF-89D2-F030D7000C2C (0x3900) for Plan 9.
355 - Added GUID 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3 (0x8307) for 32-bit ARM
360 - Edited man pages to clarify that default alignment is to 1MiB boundaries;
361 this translates to 2048 sectors on disks with 512-byte sectors, but it
364 - Changed behavior of -z/--zap and -Z/--zap-all options to sgdisk so that
365 if a subsequent command causes changes, they'll be written to disk.
366 Previously, doing something like "sgdisk --zap-all --clear /dev/sdd"
367 would wipe the disk but not create a partition table; to create a blank
368 table you'd need to do "sgdisk --zap-all --clear --mbrtogpt /dev/sdd",
369 which is a bit odd and counter-intuitive, to the point of arguably being
373 ------------------
375 - I'm now building a binary package of gdisk_x64.efi, using the UEFI GPT
378 - Added partition type for OpenBSD data
379 (824CC7A0-36A8-11E3-890A-952519AD3F61/0xa601). Also mapped 0xa600 to the
380 FreeBSD disklabel type code (516E7CB4-6ECF-11D6-8FF8-00022D09712B). I'm
384 - Added partition type for Windows Storage Spaces
385 (E75CAF8F-F680-4CEE-AFA3-B001E56EFC2D/0x4202)
387 - Added -O/--print-mbr option to sgdisk, enabling easier display of MBR
390 - Updated warning message: "EBR describes a logical partition" now reads
393 - Altered warning displayed when run from Windows on non-GPT disk, because
394 Windows on UEFI-based systems is becoming more common.
396 - Fixed spurious "1" return value in gdisk.
398 - Small code changes to support compilation as EFI application with the
402 - Added new partition type codes for Ceph
403 …(https://github.com/ceph/ceph/blob/9bcc42a3e6b08521694b5c0228b2c6ed7b3d312e/src/ceph-disk#L76-L81):
404 4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D/0xf800 (Ceph OSD),
405 4FBD7E29-9D25-41B8-AFD0-5EC00CEFF05D/0xf801 (Ceph dm-crypt OSD),
406 45B0969E-9B03-4F30-B4C6-B4B80CEFF106/0xf802 (Ceph journal),
407 45B0969E-9B03-4F30-B4C6-5EC00CEFF106/0xf803 (Ceph dm-crypt journal),
408 89C57F98-2FE5-4DC0-89C1-F3AD0CEFF2BE/0xf804 (Ceph disk in creation), and
409 89C57F98-2FE5-4DC0-89C1-5EC00CEFF2BE/0xf805 (Ceph dm-crypt disk in
412 - Added new partition type codes from
414 44479540-F297-41B2-9AF7-D131D5F0458A/0x8303 (Linux / on x86),
415 4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709/0x8304 (Linux / on x86-64),
416 B921B045-1DF0-41C3-AF44-4C6F280D3FAE/0x8305 (Linux / on 64-bit ARM),
417 3B8F8425-20E0-4F3B-907F-1A25A76F98E8/0x8306 (Linux /srv).
420 ------------------
422 - Added feature to sgdisk's -A/--attributes, -c/--change-name,
423 -t/--typecode, and -u/--partition-guid commands: If a -n/--new option
426 them to use the newly-created partition. For instance, "sgdisk -n
427 0:0:+550M -t 0:EF00 /dev/sda" creates a new partition with a type code of
428 EF00. (Previous versions would ignore the "-t 0:EF00" option.)
430 - Fixed bug that caused incorrect partition number to be displayed by
431 sgdisk in error messages when the user specified a non-existent partition
434 - Fixed new (in 0.8.9) bug that caused a failure to create more than one
437 - Fixed bug that caused gdisk and sgdisk to create hybridized partitions
450 ------------------
452 - Removed dependency on libicu for UTF-16 support.
454 - Fixed spurious "0xEE partition doesn't start on sector 1" warning in
457 - Added GPT regeneration command to GPT-destruction options ('z' in gdisk,
458 -z and -Z options to sgdisk). This is done to avoid wiping out data
459 mid-disk that might not be backup GPT data structures, which could
462 - Added check for an oversized 0xEE protective partition. The program now
463 auto-repairs this condition on loading if the GPT data seem otherwise
468 - If the GPT data seem to be damaged in some way or if the disk seems to
469 be a hybrid MBR and if the MBR partition(s) don't fit on the disk, the
470 verify (v) function now warns of this condition, and writing the disk if
473 - Added new type codes (3000, 7412F7D5-A156-4B13-81DC-867174929325 and
474 3001, D4E6E2CD-4469-46F3-B5CB-1BFF57AFC149) for Open Network Install
477 - Added new type ccde (ED01, BFBFAFE7-A34F-448A-9A5B-6213EB736C22), for
478 Lenovo's ESP-like partition.
481 -------------------
483 - Fixed bug that could cause segfault when passing an invalid partition
484 number to sgdisk's -i/--info command.
486 - Added new type code: 933AC7E1-2EB4-4F13-B844-0E14E2AEF915, or gdisk code
488 versions of systemd to permit /home to be auto-mounted; see
489 http://www.freedesktop.org/software/systemd/man/systemd-gpt-auto-generator.html
492 - Added new type code: 9E1A2D38-C612-4316-AA26-8B49521E5A8B, or gdisk code
495 - The number of partition type codes has grown large enough that it fills
501 - Fine-tuned verification ('v') check for 0xEE partition that doesn't begin
502 on sector 1: Previously, a disk with multiple 0xEE partitions would
506 - Fixed hybrid MBR creation on disks larger than 2TiB: Previously, if one
510 - Added check for an active/bootable 0xEE protective partition to the
513 VirtualBox's EFI) to ignore the disk.
516 -----------------
518 - Modified Mac version so that it can work on /dev/rdisk* devices as well
519 as /dev/disk* devices. The result is that, when using the /dev/rdisk*
520 devices, the partition table can sometimes be re-read without removing
521 the disk or rebooting.
523 - Added "-a" option to cgdisk to use a ">" symbol to the left of the
526 - Modified "converting MBR to GPT" message to clarify that the conversion
528 "gdisk -l" operation will change an MBR disk to a GPT disk without
531 - Added partition type code for freedesktop.org's proposed $BOOT partition
532 (bc13c2ff-59e6-4262-a352-b275fd6f7172; GPT fdisk type code EA00)
534 - Adjusted alignment code when using -n or -N in sgdisk to keep the
542 - Fixed small bugs in gdisk_test.sh script.
544 - Removed stray debug message that would appear when reading MBR disks.
546 - Added partition type code for Intel Rapid Start partition (GUID
547 D3BFE2DE-3DAF-11DF-BA40-E3A556D89593, code 8400), used by systems that
549 http://blog.adios.tw/2012/10/funtoo-linux-and-intel-rapid-start.html or
552 - Added partition type code for Haiku BFS (GUID
553 42465331-3BA3-10F1-802A-4861696B7521; code EB00).
556 -----------------
558 - Fixed a bug that could cause sgdisk to crash when passing a partition
559 number of 0 to the -t option.
561 - Added support for building under Solaris.
563 - Added a new check to the verification code.
565 - Added partition type code for Sony system partition
566 (F4019732-066E-4E12-8273-346C5641494F). I'm not entirely clear what this
569 - Tweaked hybrid MBR creation options to fix a problem that caused the main
571 it at the start of the disk AND IF fewer than three partitions are
574 - Changed default build options for Mac OS X to *NOT* use libicu,
578 - Added partition type codes for VMWare ESX (FB00, FB01, and FC00).
581 ------------------
583 - Changed code that writes the partition table so that a disk sync
587 failed, although everything else worked. (I suspect anti-virus software
590 - Added type codes for Midnight BSD (0xA580 - 0xA585). I used these codes
596 ------------------
598 - REALLY fixed Ctrl+D problems! Now gdisk terminates upon receiving a
599 Ctrl+D. In all previous versions, it could lock itself into a CPU-hogging
605 ------------------
607 - Fixed compilation problem on GCC 4.7.
609 - Improved handling of Ctrl+D on some systems.
611 - Added disk's name to message stating that a disk write was successful.
613 - Fixed bug that caused creation of >2TiB partitions on 32-bit systems to
617 ------------------
619 - Adjusted the code to support a number of partitions that's not a multiple
627 - Fixed bugs relating to the handling of empty partitions; Solaris's ZFS
629 handling properly. (Specifically, they sometimes have non-zero end
632 - Fixed a bug that caused an infinite loop of input prompts if the user
635 - Changed gdisk's first-sector input operation to specify a sector number
639 disk (as well as in some other situations).
642 ------------------
644 - Fixed bug that could cause FixParts to keep a partition's assignment
651 - Added code to detect infinite loops of logical partitions when reading
655 - Fixed bug in partition overlap detection in MBR code.
657 - Changed GPT reading code to use the size encoded in GPT headers to
659 restriction that the size be equal to or less than the disk's sector
662 disk's sector size is larger than the GPTHeader data structure size (512
665 with over-512-byte sector sizes if the header sector is padded with
668 - Fixed bug in new (as of 0.8.0) check that main and backup partition
669 tables are identical on big-endian (PowerPC, etc.) hardware.
672 ------------------
674 - Added new return option for sgdisk: 8, which means that a replication
675 operation (-R or --replicate) failed. Note that other operations on
678 - Added gdisk_test.sh shell script, contributed by Guillaume Delacour.
682 - Enable sgdisk's -l (--load-backup) and -o (--clear) options to work
684 though, so if you suspect a disk may be bad and want to use one of these
688 - Added check for mis-matched primary and backup partition tables.
691 - Added Apple Core Storage partition type code (hex code AF05, GUID
692 53746F72-6167-11AA-AA11-00306543ECAC).
694 - Added cgdisk program to the family. This program is a rough workalike
696 man page or http://www.rodsbooks.com/gdisk/cgdisk-walkthrough.html for
699 - Fixed bug that caused CHS end point for protective MBR to be set to
700 0xfeffff rather than the spec-mandated 0xffffff on disks over ~8GB. This
705 ------------------
707 - The Windows version now (finally!) generates proper GUIDs rather than a
709 when converting a disk from MBR format (but, oddly, not when creating a
712 - Added a warning when an MBR partition is discarded because it's too
713 big for the disk.
715 - Changed warning to Windows users about the dangers of converting to GPT
718 - Fixed bug that caused bogus "3" values to pad the ends of partition names
719 on some disks (particularly those created by Microsoft's disk
722 - Made compilation without Unicode support possible (see README file)
724 - Made default filesystem type code OS-dependent (based on the compilation
727 - Added new Linux-only filesystem partition type GUID code,
728 0FC63DAF-8483-4772-8E79-3D69D8477DE4 (8300 entry code). Also changed name
729 of the EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (0700 entry code) to
732 - Fixed a bug that caused an incorrect code to be set for active/bootable
735 - Enable entry of hex codes that begin with "0x" for both GPT and MBR
738 - Fixed bug that caused the boot loader code to be lost when creating a
741 - Fixed bug in sector input code that could produce improper values
745 ------------------
747 - Added support for proper UTF-16LE partition names rather than the
756 - Added check to fixparts to keep it from operating on devices that
760 - Fixed bug that caused the protective MBR to not be written when
763 - Fixed bug that caused second protective MBR partition, when created
767 - Integrated a number of code cleanups contributed by Florian Zumbiehl.
770 ------------------
772 - Fixed bug that caused some types of logical partitions to be misread.
774 - Created FixParts program, to fix problems on MBR-partitioned disks.
778 - Completely redid the GPT-to-MBR code, used both for converting to MBR
781 - Fixed a bug that caused gdisk to "forget" some partitions if there were
784 - Improved CHS value creation on small (<~8GB) disks for protective MBR
785 and when creating hybrid MBRs or converting to MBR format. Linux-only,
786 for the moment; other platforms still produce bad CHS values on sub-~8GB
789 - Enhanced disk replication features ('u' on the experts' menu in gdisk; -R
790 or --replicate in sgdisk). It's now possible to replicate the partition
791 table from a larger to a smaller disk, so long as all the partitions fit
792 on the smaller disk. In sgdisk, the secondary GPT data are moved
793 automatically if disk sizes don't match. In gdisk, the secondary GPT data
794 are moved automatically if the target disk is smaller than the source
795 disk; if the target disk is larger than the source disk, the user is
798 - Fixed --load-backup (-l) option to sgdisk, which was broken.
800 - Changed largest drive that's not given a minimum 4 KiB alignment even
801 when smaller alignment is detected on the disk to 300 GB.
803 - Fixed bug that prevented aborting a partition table backup ('u' on the
806 - Implemented a number of code cleanups provided by Florian Zumbiehl.
809 ------------------
811 - Made small change to the way the start sector is interpreted if you use a
816 - Modified sgdisk's -n (--new) option to work with relative start and end
822 - Added ChromeOS GUID values to list of recognized partition type GUIDs.
826 - Tweaked APM detection to look for APM signature even if an MBR
828 in which an MBR has overwritten an APM disk.
831 --------------------
833 - Added notification about nonexistent partitions to hybrid MBR creation
836 - Fixed bug in GPT-to-MBR conversion that could sometimes enable creation
839 - Fixed bug in GPT-to-MBR conversion that prevented creation of an MBR
843 -------------------
845 - Adjusted alignment code to use 1 MiB alignment by default for drives with
846 other than 512-byte sector sizes. (Previous versions increased this --
847 for instance, to 4 MiB for drives with 2048-byte logical sector size.)
849 - Entry of non-hexadecimal value for partition type code now causes
850 re-prompting for a new value, fixing a recently-introduced minor bug.
852 - Fixed bug in sector entry using K/M/G/T/P suffixes on disks with
853 other-than-512-byte sector numbers.
855 - Added "P" (PiB, pebibyte) suffix to suffixes accepted in entering
858 - Fixed bug that caused sgdisk to segfault if fed the (invalid)
859 "-A show" parameter. Now it terminates with a complaint about an invalid
862 - Removed warning when running on big-endian hardware, since this
866 -------------------
868 - Added -F (--first-aligned-in-largest) option to sgdisk. This option is a
869 variant on -f (--first-in-largest); it returns the number of the first
871 alignment value (set via -a/--set-alignment).
873 - Streamlined GUID code entry in gdisk; it no longer offers the option
876 - The -t option to sgdisk now accepts GUID values as well as the
877 sgdisk/gdisk-specific two-byte hex codes.
879 - Added check that the protective 0xEE MBR partition begins on sector 1
883 - Added check for overlapping MBR partitions to verify function (gdisk "v"
884 function on all menus; sgdisk -v/--verify function). Also warns about
887 - Added check to GPT-to-MBR and hybrid MBR creation options to prevent
888 creation of disks with duplicate partitions. When told to create a disk
896 -------------------
898 - Enable disk-wipe (-z and -Z) and verification (-v) operations in
899 sgdisk even if the disk is badly damaged.
901 - Added support for setting attributes in sgdisk (-A/--attributes option)
904 - Fixed bug that created backwards attribute field values (bit #2 was
907 - Fixed bug that caused creation of hybrid MBR to wipe out the MBR's boot
910 - Added ability to save partition table from one device to another (gdisk:
911 'u' on experts' menu; sgdisk: -R or --replicate option).
913 - Fixed inaccessible -C/--recompute-chs option in sgdisk.
916 ------------------
918 - Fixed minor error in sgdisk man page (--largest-new option requires
921 - Fixed major bug in hybrid MBR creation, which caused incorrect
926 ------------------
928 - Added tests to see if the file to be opened is a directory, character
933 - Added 'f' option on gdisk's experts' menu (-G/--randomize-guids in
934 sgdisk). This option randomizes the disk's GUID and all partitions'
935 GUIDs. Intended for use after cloning a disk with a utility that copies
936 the GUIDs intact (such as a raw dd copy) if you want each disk copy to
939 - Added -u/--partition-guid and -U/--disk-guid options to sgdisk. These are
942 disk's GUID. The GUID may be either a fully specified GUID value or 'R'
945 - Fixed compile problem for FreeBSD (its math library lacks a log2()
947 FreeBSD-specific options.
949 - Added -N (--largest-new) command to sgdisk. This command creates a single
951 the disk.
953 - Fixed sgdisk man page error: the --change-name option was incorrectly
954 listed as --change.
956 - Added 'h' option to gdisk experts' menu (-C or --recompute-chs in sgdisk)
959 computer from booting when the GPT-mandated (but technically illegal)
963 BIOS to boot with a GPT disk. See http://www.rodsbooks.com/gdisk/bios.html
967 -----------------
969 - Undid earlier change, with version 0.6.4, that wiped the MBR boot loader
970 when doing MBR-to-GPT conversions. I've now become skeptical that MBR
974 - Fixed bug that caused incorrect reporting of free space on 0-size disks
975 (e.g., files of 0 length passed as disk images).
977 - Fixed bug that caused segfault on some invalid disks
979 - Fixed bug that caused incorrect partition numbers to be displayed for
984 -----------------
986 - Added support for the "no block IO protocol" (referred to as "hide from
990 - Changed the sequence in which GPT data structures are written to disk;
994 there's a power outage mid-write. (If the main structures are written
999 - Protective MBRs now have disk signatures of 0x00000000, to better
1002 - Added alignment information to the summary data produced by the
1003 'p' main-menu option in gdisk or the -p option to sgdisk.
1005 - More alignment changes: GPT fdisk now attempts to determine the alignment
1009 the drive might be a WD Advanced Format unit that requires an 8-sector
1010 (or larger power-of-2) alignment value for best performance. The
1011 2048-sector default provides better alignment in some RAID
1014 - Changed behavior when a backup restore fails. Previously, GPT fdisk
1017 user typed the wrong filename, the in-memory data structures aren't
1022 -----------------
1024 - Added tests to verify ('v') function and to pre-save checks to look for
1028 - Fixed a bug that could cause spurious data to appear in a grown partition
1031 - Added ability to convert some or all partitions to logical partitions in
1032 GPT-to-MBR conversion. This feature is limited by the fact that at least
1035 possible to convert back to MBR any disk that started that way, provided
1036 no partitions were added or resized when the disk was in GPT form; and
1037 disks that were partitioned with Apple's Disk Utility or other tools that
1044 - Fixed bug that caused creation of 0-length file if an incorrect device
1047 - The gdisk program now prompts for a device filename if it's called with
1049 double-clicking its icon in a GUI environment.
1051 - Added workaround for bug in some versions of MinGW that caused the
1054 - The Windows version now works on disks with over-512-byte sectors.
1055 Tested on a magneto-optical (MO) drive with 2048-byte sectors.
1057 - Added -D (--display-alignment) option to sgdisk, to display sector
1058 alignment value (by default, 1 for sub-800GiB disks and 8 for disks
1061 - Fixed bug in computation of CHS geometries for protective MBR. This is
1062 non-critical, since most modern utilities ignore the CHS geometries.
1067 - Fixed memory-allocation bug when reading GPT disks with partition tables
1070 0.6.4-2 (2/20/2010):
1071 --------------------
1076 - Altered Makefile to pass user's compiler and linker environment
1079 - Added #include to gpttext.cc to enable it to compile on the latest
1083 -------------------
1085 - Added -m (--gpttombr) option to sgdisk, enabling conversion of GPT
1089 - Added -h (--hybrid) option to sgdisk, enabling creation of hybrid
1093 - Fixed off-by-one bug in specification of partition when using the
1094 -T (--transform-bsd) option in sgdisk.
1096 - Changed the code to create a new MBR unique disk signature whenever a new
1097 protective MBR is generated (when doing an MBR-to-GPT conversion, when
1100 the existing MBR disk signature in most cases, but this resulted in
1101 values of 0x00000000 whenever an empty disk was partitioned, and often in
1105 - Added transpose ('t' on experts' menu in gdisk; or -r or --transpose in
1106 sgdisk) command to enable fine-tuning partition order without doing a
1109 - Added code to clear the MBR boot loader when doing an MBR-to-GPT
1110 conversion. (This was already done in full-disk BSD-to-GPT conversions.)
1113 GPT disks, and/or they attempt to load a second-stage boot loader stored
1119 - Fixed bug in Windows version that prevented saving backup files.
1121 - Fixed bug that caused second and subsequent partition numbers in
1125 - Fixed very obscure potential bug in hybrid MBR/GPT synchronization when
1130 - Fixed bug in the -E option to sgdisk; it was actually returning the
1133 - Fixed bug in -t option to sgdisk; it was corrupting partition type
1136 - Fixed minor alignment bug in partition summary list ('p' from any menu)
1139 - Backup restore function ('l' on recovery & transformation menu) now
1143 count=34" will do this on Linux for a disk with a typical-sized GPT table
1147 ------------------
1149 - Fixed serious data corruption bug on big-endian (PowerPC and similar)
1152 - Changed several GPT fdisk Solaris type codes to correct a duplicate
1154 - Corrected error in GPT fdisk type codes for NetBSD LFS and NetBSD RAID;
1158 - Added GUID for IBM General Parallel File System (GPFS) partition type
1163 - Improved GUID generation. Prior versions generated completely random
1168 - Turned PartTypes class into a derived class of GUIDData, and renamed
1171 - Created new GUIDData class, to replace the original GUIDData struct.
1174 ------------------
1176 - The change-type ('t' on main menu) option now changes the partition's
1180 - Fixed bug that caused new protective MBR to not be created when the
1184 - Enabled default partition type code of 0700 when creating partitions
1188 - Fixed bug in sort ('s' on main menu) option that caused partition
1192 - Improved code to determine which partition table to load in case of
1196 - Compiles using MinGW (http://www.mingw.org) to create a Windows binary.
1198 - Moved all disk I/O functions to the new DiskIO class. This helps with the
1199 Windows port; it uses diskio-windows.cc for Windows-specific code,
1200 diskio-unix.cc for the Linux, FreeBSD, and OS X code, and diskio.cc for
1201 cross-platform disk I/O code.
1203 - Changed BSD disklabel detection code to be more correct (I think).
1208 ------------------
1210 - Fixed bug that returned incorrect disk size on 32-bit versions of
1213 - Fixed bug that prevented FreeBSD version from working on disk image
1216 - Fixed bug that caused BSD disklabel conversion to fail.
1219 ------------------
1221 - Fixed bug that caused the convert to MBR function to fail.
1223 - Added support for disks with other than 512-byte sectors.
1225 - Created embryonic sgdisk program.
1227 - Fixed bug that caused relative sector numbers entered by users (e.g,
1232 -----------------
1234 - Fixed bug in display of GUIDs when compiled with some versions of GCC.
1236 - Eliminated warnings caused by additional checks in latest versions of
1238 more error checking on disk I/O.
1240 - Eliminated unnecessary warnings about potential data loss if the program
1241 was launched with the -l option or if writes aren't possible.
1243 - Added code to set the partition boundary value based on the physical
1249 -------------------
1251 - Modified partition creation function to begin partitions on 8-sector
1256 - Tweaked code to produce fewer warnings on the latest versions of
1260 ------
1262 - Made some minor edits to the man page.
1264 - Incorporated RPM .spec file changes contributed by Scott Collier
1267 - Changed method of locating and loading backup GPT data, to use the
1269 end of the disk.
1271 - Added 'e' option (relocate backup GPT data structures) to the experts'
1274 - Fixed bug that prevented recovery of partitions in case of partially
1279 ------
1281 - Added GPT-to-MBR conversion function. It's very limited, but potentially
1284 - Fixed bug that caused incorrect file sizes to be reported on 32-bit
1285 Linux, thus causing problems when editing partition tables in disk images
1288 - Fixed bug that caused bogus CRC error reports when loading backup GPT
1291 - Reorganized menus. There are now three: the main menu, the experts' menu,
1295 - Added ability to re-load the MBR and generate a fresh GPT from it. This
1296 is normally identical to quitting and re-running the program, but it
1301 - The program now generates CHS values for hybrid and GPT-to-MBR conversion
1304 code supports other values -- it'd just be awkward to enter the data in
1307 - Fixed minor display bug that caused number of sectors on the disk to be
1308 shown as 0 on large disks when running 32-bit binaries.
1310 - Reverted 0.4.2's zap (destroy GPT) changes, since I don't want to wipe
1315 - Reformatted and edited the man page. Aside from edits related to the
1321 ------
1323 - Code cleanup.
1325 - Fixed very small formatting bug in display of hex code when a match isn't
1328 - Added the ability to work on disk image files (raw files for virtual
1329 machines, backup images, etc.). The program assumes that all such disk
1330 image files have 512-byte sectors.
1332 - Added verification prompt to 'o' main-menu option to avoid accidental
1335 - The "destroy GPT data structures" option ('z' on the experts' menu) now
1338 - Added an extra warning to the "destroy GPT data structures" option if an APM
1339 or BSD disklabel was detected on the disk.
1341 - Added a buffer flush after destroying GPT data structures, to get the OS
1342 to read the new (empty or MBR-only) partition table.
1344 - Fixed bug that allowed entry of nonexistent partition numbers when creating
1348 ------
1350 - Code cleanup/re-organization
1352 - Partition creation function ('n' on main menu) now uses the start of the
1355 partition creation if there are small bits of free space on the disk.
1357 - You can now specify the end point of a partition by using a minus sign,
1359 size. For instance, "-200M" creates a partition that ends 200MiB before
1362 - You can now specify the start point of a partition by using a plus or
1364 the start (+) or end (-) of free space. This is exactly the same as the
1368 - Deleting a partition now checks for a matching hybrid MBR partition, and
1371 If no non-0xEE partitions are left, a fresh protective MBR is generated.
1373 - Added hybrid MBR consistency check to the verify ('v') option and to
1374 pre-write checks. If non-0xEE/non-0x00 MBR partitions without
1378 - Added non-destructive write test when opening the device file, in order
1383 ------
1385 - Added support for BSD disklabels. The program can now convert disks that
1392 - Added support for compiling on FreeBSD.
1394 - Fixed bug that could cause crashes or incomplete sorts when sorting
1397 - New partitions, including converted ones, now take on the name of the
1400 - Reorganized some code; created a separate C++ class for GPT partitions
1404 - Fixed a bug that produced spurious warnings about unknown sector sizes
1408 ------
1411 the big-endian support while developing 0.4.0.
1413 - Tweaked the disk type identification code to warn users to re-sync their
1416 - Tweaked MBR-reading code to ignore 0xEE (EFI GPT) partitions. This will
1417 only have an effect on a poorly partitioned MBR disk that contains an
1419 corrupted disk by using the hybrid MBR for data recovery.
1421 - Added big-endian (PowerPC, etc.) support!
1423 - Added code to identify and warn of the presence of an Apple Partition
1424 Map (APM) on the disk.
1426 - Enabled MBR conversion code to handle multiple logical partitions.
1429 ------
1431 - Fixed bug that enabled (possibly accidental) entry of MBR type codes of
1437 - Fixed a typo: "sectors" was spelled "sectprs" in one spot!
1439 - Fixed bug that caused default entry for end sector to be refused if an
1443 ------
1445 - Gave users control over the way MBR partitions are assigned to slots in a
1447 the real partitions) works well for non-boot disks, but both GRUB and
1450 - Changed "blocks" to "sectors" in GPT and MBR table displays.
1452 - Added "Boot" column to MBR table display; shows an asterisk (*) when the
1456 ------
1458 - Changed __DARWIN_UNIX03 to __APPLE__ as code to enable MacOS X support.
1460 - Added the ability to create a hybrid MBR ('h' on experts' menu). This was
1461 motivated by my discovery that Windows 7 remains brain-dead when it comes
1462 to the ability to boot from a GPT disk, at least on BIOS-based machines.
1464 - Added 'z' option to experts' menu, to destroy GPT data structures and
1466 of the disk using fdisk or other GPT-unaware tools. (GNU Parted will wipe
1470 - Slightly altered the effect of the 'o' command on the main menu. It now
1474 ------
1476 - Added Mac OS X support, provided as a patch by David Hubbard
1479 - Fixed bug in disksize() function on Mac OS. (Possibly dependent on the
1480 kernel and/or GCC version.) The disk size, of type uint64_t, was not
1483 work OK on my Mac OS test system and on both 32- and 64-bit Linux
1486 - Fixed off-by-one bug in GPTData::FindLastAvailable().
1488 - Fixed bug that caused display of options after a disk-write error.
1490 - Fixed several incorrect MacOS X partition type GUIDs, thanks to Yves
1494 ------
1496 - Changed version number to 0.3.0, reflecting the fact that I've received
1501 - Fixed minor bug in CHS geometry of the protective MBR's type EE partition
1503 Should be a non-critical bug since the protective MBR partition
1504 definition is only there to keep MBR-only disk utilities from messing
1505 with the disk.
1507 - Added ability to enter GUIDs as single massive strings rather than in
1511 ------
1513 - Added #include directives required to compile the program using GCC
1517 ------
1519 - Fixed partition numbering problem in reports of partition overlaps in
1522 - Fixed 1-sector partition size problem when creating new partitions
1525 - Changed BytesToSI() to display values in bytes without decimal points
1528 - Added GPTData class member functions to retrieve GPT data structure
1529 locations on disk; used in my internal-use-only GPT-wiping program.
1531 - Eliminated the "a reboot is recommended" notice after writing the
1534 - Added notice after sorting the partition table to the effect that
1537 - Fixed bug in MBR-reading function that caused 0x0f (Win95 LBA) and 0x85
1540 - Fixed bug in GetLastSector() (in support.cc) that would have prevented
1541 correct user entry of over-32-bit sector numbers on 32-bit systems.
1543 - Made some changes/corrections to the partition type list in
1544 parttypes.cc. Most of these were based on newly-discovered MBR type
1547 - General code cleanup (setting explicit casts, etc.)
1550 ------
1552 - Initial semi-public release