fdisk

Manage disk partitions


Note: You must be root to run this utility.

Syntax:

fdisk [-fpz] [-B loader] drive [cmd [args]]

Runs on:

Neutrino

Options:

-B loader
Use the 512-byte file named by loader as the primary bootstrap loader for the device when instructed to write a boot loader to the disk. The default is to install a loader that's built into the fdisk utility.
-f
Force the boot loader to be written on command, even if it isn't possible to save an existing old loader to a mounted filesystem. In noninteractive use with the loader command, this forces the loader to be written in cases where the command would otherwise be aborted. In interactive mode, you're queried about the operation if you didn't specify -f; the operation simply proceeds without saving the old loader if you did specify -f.
-p
Pause before starting.
-z
Zero the partition table (interactive mode only).
drive
The disk drive to partition. This must name a block-special file (e.g. /dev/fd1, /dev/hd0).
[cmd [args]]
An installation command, as described below.

Description:

The fdisk utility lets you create and manage partitions on a hard disk. The partition information, which is kept in the disk's first physical block, matches that used by DOS.


Note: You can run fdisk only if you're root or have read/write permissions for the block-special file concerned.

If you want your disk to contain both QNX 4 and DOS partitions, we recommend that you create the DOS partition first, using DOS commands.

On some platforms, fdisk supports an interactive mode.



Caution: On some older machines, you can boot only from OS images that are loaded from within the first 1024 cylinders of the disk. This means that while you may be able to initially install and boot from a partition which extends past the 1024th cylinder, it will someday fail when you go to update the boot image because the location of some of its blocks may change. When this happens you will have a system that's no longer bootable.

Avoid this problem by creating a separate partition to boot from that lies entirely within the first 1024 cylinders of the hard drive, and use a second partition to access the additional space on the drive. (The boot partition may be quite small -- just a few megabytes will suffice.)


Before creating a QNX 4 partition for the first time, you must first start the hard disk driver:

devb-eide &

You should then execute the fdisk command to partition your disk:

fdisk /dev/hd0 add

The QNX 4 filesystem doesn't automatically relearn any changes that you make to the partition table with fdisk. You must either slay and restart the filesystem/driver (devb-*) or use mount -e /dev/hd0 to recognize the new partitions and update the contents of /dev.

Commands

The fdisk utility supports the following commands directly from the command line:

add [args]
Add a new partition entry of the size and type specified. If fdisk can't locate sufficient unallocated disk space to satisfy your request, it allocates the largest available portion of the disk (if any). Here are the arguments for add:
-b
Make the added partition bootable.
-c start,end
The start and end cylinder for the partition to use.
-p percent
The percentage of the largest contiguous space the added partition should use. The default is 100%.

If you specify the -c option, the -p option is ignored.

-s slot
The slot in the partition table to use. The default is the first open slot.
-t type
The type of partition to add (0 - 255). The default is 77.
Use this type: For:
77, 78, or 79 QNX 4
7, 8, or 9 QNX 2.1
1, 4, 6, 11, or 12 DOS
boot [args]
Turn on the boot flag for the indicated partition. If another partition was already flagged as the primary boot partition, the flag is turned off for it. Here are the arguments for boot:
-s slot
Boot the partition in the selected slot.
-t type
Boot the partition of the selected type.
delete [args]
Delete the specified partitions. Here are the arguments for delete:
-a
Delete all partitions.
-s slot
Delete the partition in the selected slot.
-t type
Delete this type of partition.
info
Show the mount information for the raw drive.
loader
Write the QNX loader to the disk.
query [args]
Print the number of cylinders to standard output. Here are the arguments for query:
-f
Print the total number of free cylinders.
-s slot
Print the number of cylinders for the partition in the selected slot.
-T
Print the total number of cylinders.
-t type
Print the number of cylinders for the partition of the selected type.
show
Display the partition table.

Interactive mode

On some platforms, fdisk is a fullscreen, interactive program that's fairly self-explanatory. When you invoke fdisk, you'll see a screen similar to this one (assuming your disk is already partitioned):

FDISK
Ignore Next Prev 1 2 3 4 Change Delete Boot Unboot Restore Loader Save Quit

        _____OS_____     Start      End     ______Number_____    Size    Boot
        name    type    Cylinder  Cylinder  Cylinders  Blocks

--> 1.  QNZ    ( 79)          0       678       679    10908072   5326 MB  *
    2.  ______ (___)    _______   _______   _______   _________  _____
    3.  QNX    ( 77)       1359      1825       467     7502355   3663 MB
    4.  ______ (___)    _______   _______   _______   _________  _____


 Choose a partition by typing the partition number OR moving the pointer
 with the UP/DOWN arrows.
 Then, choose one of the actions on the top line of the screen.



Drive : /dev/hd0                    Config:   255 Heads
Size  : 14323 Mbytes                           63 Sectors/track
Loader: QNX                                  1826 Cylinders
                                              512 Block Size

                                    Last cylinder is 1825

You'll see the available commands displayed at the top of the screen. To select a command, either type its first letter or move the cursor to the command (with the arrow keys) and press Enter.

The commands are:

Command: Action:
Next Move the pointer to the next entry.
Prev Move the pointer to the previous entry.
1, 2, 3, or 4 Move the pointer to the indicated entry.
Change Change the selected partition (see below).
Delete Delete the selected partition.
Boot Turn on the boot flag for the selected partition.
Unboot Turn off the boot flag for the selected partition.
Restore Restore the previous non-QNX bootstrap loader.
Loader Change the bootstrap loader to the QNX loader.
Save Save all changes and quit.
Quit Quit without saving changes.

Note: If you're changing a partition entry, note the following:
  • Save the details about the partition (e.g. by writing them on a piece of paper), because fdisk blanks the fields as you edit them.
  • You have to enter the partition's type number and the start and end cylinders; fdisk calculates the other information for you. Press Enter after typing each value.
  • If the partition was bootable before you changed it, use the Boot command to make it bootable again.

Examples:

Create a QNX 4 partition that occupies half the disk, or the largest available space if there isn't a space big enough for a new partition that occupies half the disk:

fdisk /dev/hd0 add -t 77 -p 50

Exit status:

0
Success.
>0
An error occurred.

Caveats:

After changing any partition information, you must either slay and restart the filesystem/driver (devb-*) or use mount -e to make the filesystem reread the partition table.

See also:

dinit, dloader

Backing Up and Recovering Data in the Neutrino User's Guide