FIXPARTS(8) FixParts Manual FIXPARTS(8)
NAME
fixparts - MBR partition table repair utility
SYNOPSIS
fixparts device
DESCRIPTION
FixParts (aka fixparts) is a text-mode menu-driven program for repairing certain types of
problems with Master Boot Record (MBR) partition tables. The program has three design
goals, although a few additional features are supported, as well:
* It can remove stray GUID Partition Table (GPT) data, which can be left behind on a
disk that was once used as a GPT disk but then incompletely converted to the more
common (as of 2011) MBR form.
* It can repair mis-sized extended partitions -- either partitions that extend beyond
the physical end of the disk or that overlap with nearby primary partitions. Fix-
Parts is designed in such a way that this type of repair occurs automatically, so
if it's the only problem with your disk, you can launch the program and then imme-
diately save the partition table, making no manual changes, and the program will
fix the problem.
* You can change primary partitions into logical partitions or vice-versa, within
constraints imposed by the MBR data structures.
Additional features include the ability to change partition type codes or boot/active
flags, to delete partitions, and to recompute CHS values. With the possible exception of
recomputing CHS values, these secondary features are better performed with fdisk, because
fixparts' design means that it's likely to alter partition numbering even when such
changes are not requested.
The fixparts program employs a user interface similar to that of Linux's fdisk, but fix-
parts is much more specialized. Most importantly, you can't create new partitions with
fixparts, although you can change primary/logical assignment.
In the MBR scheme, partitions come in three varieties:
primary
These partitions are defined in the first sector of the hard disk and are limited
in number to four. Some OSes, such as Windows and FreeBSD, must boot from a primary
partition.
extended
Extended partitions are specialized primary partitions. They serve as holding areas
for logical partitions.
logical
A disk can contain an arbitrary number of logical partitions (fixparts, however,
imposes a limit of 124 logical partitions). All the logical partitions reside in-
side a single extended partition, and are defined using a linked-list data struc-
ture. This fact means that every logical partition must be preceded by at least one
sector of unallocated space to hold its defining data structure (an Extended Boot
Record, or EBR).
These distinctions mean that primary and logical partitions cannot be arbitrarily inter-
spersed. A disk can contain one to three primary partitions, a block of one or more logi-
cal partitions, and one to three more primary partitions (for a total of three primary
partitions, not counting the extended partition). Primary partitions may not be sandwiched
between logical partitions, since this would mean placing a primary partition within an
extended partition (which is just a specific type of primary partition).
Unlike most disk utilities, fixparts' user interface ignores extended partitions. Inter-
nally, the program discards the information on the original extended partition and, when
you tell it to save its changes, it generates a new extended partition to contain the
then-defined logical partitions. This is done because most of the repairs and manipula-
tions the tool performs require generating a fresh extended partition, so keeping the
original in the user interface would only be a complication.
Another unusual feature of fixparts' user interface is that partition numbers do not nec-
essarily correlate with primary/logical status. In most utilities, partitions 1-4 corre-
spond to primary partitions, whereas partitions 5 and up are logical partitions. In fix-
parts, any partition number may be assigned primary or logical status, so long as the
rules for layout described earlier are obeyed. When the partition table is saved, parti-
tions will be assigned appropriately and then tools such as the Linux kernel and fdisk
will give them conventional numbers.
When it first starts, fixparts performs a scan for GPT data. If the disk looks like a con-
ventional GPT disk, fixparts refuses to run. If the disk appears to be a conventional MBR
disk but GPT signatures are present in the GPT primary or secondary header areas, fixparts
offers to delete this extraneous data. If you tell it to do so, the program immediately
wipes the GPT header or headers. (If only one header was found, only that one header will
be erased, to minimize the risk of damaging a boot loader or other data that might have
overwritten just one of the GPT headers.)
With the exception of optionally erasing leftover GPT data when it first starts, fixparts
keeps all changes in memory until the user writes changes with the w command. Thus, you
can adjust your partitions in the user interface and abort those changes by typing q to
quit without saving changes.
OPTIONS
The fixparts utility supports no command-line options, except for specification of the
target device.
Most interactions with fixparts occur with its interactive text-mode menu. Specific func-
tions are:
a Toggle the active/boot flag. This flag is required by some boot loaders and OSes.
c Recompute the cylinder/head/sector (CHS) values for all partitions. CHS addressing
mode is largely obsolete, but some OSes and utilities complain if they don't like
the CHS values. Note that fixparts' CHS values are likely to be incorrect on disks
smaller than about 8 GiB except on Linux.
l Change a partition's status to logical. This option will only work if the current
partition layout supports such a change. Note that if changing a partition's status
in this way is not currently possible, making some other change may make it possi-
ble. For instance, omitting a partition that precedes the target partition may en-
able converting a partition to logical form if there had been no free sectors be-
tween the two partitions.
o Omit a partition. Once omitted, the partition will still appear in the fixparts
partition list, but it will be flagged as omitted. You can subsequently convert it
to primary or logical form with the r or l commands, respectively. When you save
your changes with w, though, the partition will be lost.
p Display basic partition summary data. This includes partition's number, the
boot/active flag's status, starting and ending sector numbers, primary/logi-
cal/omitted status, whether or not the partition may be converted to logical form,
and the partition's MBR types code.
q Quit from the program without saving your changes. Use this option if you just
wanted to view information or if you make a mistake and want to back out of all
your changes.
r Change a partition's status to primary. This option will only work if the current
partition layout supports such a change. Note that every partition can theoreti-
cally become a primary partition, although in some configurations, making this
change will require omitting some partitions. If fixparts refuses to allow chang-
ing a partition to primary, you may need to convert other partitions to logical
form or omit them entirely.
s Sort partition entries. This option orders partitions in the display to match their
on-disk positions, which can make understanding the disk layout easier in some
cases. This option has no effect on the ultimate ordering of logical partitions,
which are sorted before being saved. The order of primary partitions in the final
saved partition table may be affected by this option. In both cases, as already
noted, the partition numbers displayed by fixparts may not be the same as those
used by the kernel or displayed by other partitioning tools.
t Change a partition's type code. You enter the type code using a one-byte hexadeci-
mal number.
w Write data. Use this command to save your changes and exit from the program.
? Print the menu. Type this command (or any other unrecognized command) to see a sum-
mary of available options.
BUGS
Known bugs and limitations include:
* The program compiles correctly only on Linux, FreeBSD, Mac OS X, and Windows.
Linux versions for x86-64 (64-bit), x86 (32-bit), and PowerPC (32-bit) have been
tested, with the x86-64 version having seen the most testing. Under FreeBSD, 32-bit
(x86) and 64-bit (x86-64) versions have been tested. Only 32-bit versions for Mac
OS X and Windows have been tested.
* The FreeBSD version of the program can't write changes to the partition table to a
disk when existing partitions on that disk are mounted. (The same problem exists
with many other FreeBSD utilities, such as gpt, fdisk, and dd.) This limitation can
be overcome by typing sysctl kern.geom.debugflags=16 at a shell prompt.
* The program can load only up to 128 partitions (4 primary partitions and 124 logi-
cal partitions). This limit can be raised by changing the #define MAX_MBR_PARTS
line in the basicmbr.h source code file and recompiling.
* The program can read partitions only if the disk has correct LBA partition descrip-
tors. These descriptors should be present on any disk over 8 GiB in size or on
smaller disks partitioned with any but very ancient software.
* The program makes no effort to preserve partition numbers. This can have conse-
quences for boot loaders and for mounting filesystems via /etc/fstab. It may be
necessary to edit configuration files or even to re-install your boot loader.
*
The program may change the order of partitions in the partition table.
AUTHORS
Primary author: Roderick W. Smith (rodsmith AT rodsbooks.com)
Contributors:
* Yves Blusseau (1otnwmz02 AT sneakemail.com)
* David Hubbard (david.c.hubbard AT gmail.com)
* Justin Maggard (justin.maggard AT netgear.com)
* Dwight Schauer (das AT teegra.net)
* Florian Zumbiehl (florz AT florz.de)
SEE ALSO
cfdisk(8), cgdisk(8), fdisk(8), mkfs(8), parted(8), sfdisk(8), gdisk(8), sgdisk(8).
http://en.wikipedia.org/wiki/Master_boot_record
http://www.rodsbooks.com/fixparts/
AVAILABILITY
The fixparts command is part of the GPT fdisk package and is available from Rod Smith.
Roderick W. Smith 1.0.8 FIXPARTS(8)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-29 14:45 @216.73.216.105 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)