phpman > man > FIXPARTS(8)

Markdown | JSON | MCP    

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 com‐
              mon (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.  FixParts
              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 immediately  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 con‐
              straints 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'  de‐
       sign  means  that it's likely to alter partition numbering even when such changes are not re‐
       quested.

       The fixparts program employs a user interface similar to that of Linux's fdisk, but  fixparts
       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 par‐
              tition.


       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, im‐
              poses a limit of 124 logical partitions). All the logical partitions reside  inside  a
              single  extended  partition,  and are defined using a linked-list data structure. This
              fact means that every logical partition must be preceded by at least one sector of un‐
              allocated 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  logical
       partitions,  and  one  to  three more primary partitions (for a total of three primary parti‐
       tions, 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 par‐
       tition (which is just a specific type of primary partition).

       Unlike most disk utilities, fixparts' user interface ignores extended partitions. Internally,
       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  logi‐
       cal  partitions. This is done because most of the repairs and manipulations 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 neces‐
       sarily correlate with primary/logical status. In most utilities, partitions 1-4 correspond to
       primary partitions, whereas partitions 5 and up are logical partitions. In fixparts, any par‐
       tition number may be assigned primary or logical status, so long as the rules for layout  de‐
       scribed  earlier  are  obeyed. When the partition table is saved, partitions 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 conven‐
       tional 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 functions
       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 par‐
              tition 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 possible. For
              instance, omitting a partition that precedes the target partition may enable  convert‐
              ing a partition to logical form if there had been no free sectors between the two par‐
              titions.


       o      Omit a partition. Once omitted, the partition will still appear in the fixparts parti‐
              tion  list, but it will be flagged as omitted. You can subsequently convert it to pri‐
              mary 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/ac‐
              tive flag's status, starting and ending sector numbers,  primary/logical/omitted  sta‐
              tus,  whether  or  not  the partition may be converted to logical form, and the parti‐
              tion'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 par‐
              tition layout supports such a change. Note that every partition can theoretically  be‐
              come a primary partition, although in some configurations, making this change will re‐
              quire omitting some partitions.  If fixparts refuses to allow changing a partition  to
              primary,  you  may  need  to convert other partitions to logical form or omit them en‐
              tirely.


       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 parti‐
              tion table may be affected by this option. In both cases, as already noted, the parti‐
              tion  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  hexadecimal
              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 summary
              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 Win‐
              dows 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 logical
              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 consequences
              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)
FIXPARTS(8)
NAME SYNOPSIS DESCRIPTION
primary extended logical
OPTIONS BUGS AUTHORS SEE ALSO AVAILABILITY

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 14:14 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top