1e09372bca227ffbfb9dda48160826d8f63ce9bb
for sgdisk program. (The latter is just proof-of-concept at this point; it doesn't do anything useful.)
GPT fdisk (aka gdisk) by Roderick W. Smith, rodsmith@rodsbooks.com Introduction ------------ This software is intended as a (somewhat) fdisk-workalike program for GPT-partitioned disks. Although libparted and programs that use it (GNU Parted, gparted, etc.) provide the ability to handle GPT disks, they have certain limitations that gdisk overcomes. Specific advantages of gdisk include: * The ability to convert MBR-partitioned disks in-place to GPT format, without losing data * The ability to convert BSD disklabels in-place to create GPT partitions, without losing data * The ability to specify sector-exact partition sizes * More flexible specification of filesystem type code GUIDs, which GNU Parted tends to corrupt (particularly for FAT partitions) * Clear identification of the number of unallocated sectors on a disk * A user interface that's familiar to long-time users of Linux fdisk * The MBR boot loader code is left alone (GNU Parted tends to wipe it out with every change) * The ability to create a hybrid MBR, which permits GPT-unaware OSes to access up to three GPT partitions on the disk Of course, gdisk isn't without its limitations. Most notably, it lacks the filesystem awareness and filesystem-related features of GNU Parted. You can't resize a partition's filesystem or create a partition with a filesystem already in place with gdisk, for instance. There's no GUI version of gdisk. Installing ---------- To compile gdisk, you must have appropriate development tools installed, most notably the GNU Compiler Collection (GCC) and its g++ compiler for C++. Uncompress the package and type "make" at the command prompt in the resulting directory. The result should be a program file called gdisk. You can use this in place or copy the file to a suitable directory, such as /usr/local/sbin. You can copy the man page (gdisk.8) to /usr/local/man/man8 to make it available. Caveats ------- THIS SOFTWARE IS BETA SOFTWARE! IF IT WIPES OUT YOUR HARD DISK OR EATS YOUR CAT, DON'T BLAME ME! To date, I've tested the software on several USB flash drives, a handful of PATA and SATA hard disks, and several virtual disks in a QEMU environment. I believe all data-corruption bugs to be squashed, but I know full well that the odds of my missing something are high. This is particularly true for large drives; my only direct testing with such disks is with virtual QEMU disks. I've received user reports of success with RAID arrays over 2TiB in size, though. My main development platform is a system running the 64-bit version of Ubuntu 8.04. I've also tested on 64-bit OpenSuSE, 32-bit Fedora 10, 32-bit Fedora 11, 32-bit Ubuntu 6.10, 64-bit Ubunut 9.10, 64-bit Gentoo, 32-bit PowerPC Debian Linux, 32-bit Intel-based Mac OS X 10.5 and 10.6, and 64-bit FreeBSD 7.1. Problems relating to 64-bit integers on the 32-bit Linux have been common during development and may crop up in the future. The Mac OS X, FreeBSD, and big-endian (PowerPC) support are new. Redistribution -------------- This program is licensed under terms of the GNU GPL (see the file COPYING). Acknowledgements ---------------- This code is mostly my own; however, I've used three functions from two other GPLed programs: - The code used to generate CRCs is taken from the efone program by Krzysztof Dabrowski and ElysiuM deeZine. (See the crc32.h and crc32.cc source code files.) - A function to find the disk size is taken from Linux fdisk by A. V. Le Blanc. Additional code contributors include: - Yves Blusseau (1otnwmz02@sneakemail.com) - David Hubbard (david.c.hubbard@gmail.com)
Description
Languages
C++
81.5%
Roff
15.3%
Shell
1.7%
Makefile
1.1%
C
0.4%