February 28, 2009

Linux fdisk

"There was several suggestions to deal with partitions using linux fdisk on this forum but little explanation how. Since linux fdisk is much more complex than DOS fdisk it can be very confusing, especialy to inexpirienced windows user, so I decided to write something about metter.
First of all you will need some linux distribution. Let it be DSL (damn small linux). After you create bootable media, connect disk you want to format and boot.


Fdisk needs to know the name of device it will work with. It means that you will need to open root console antype : "fdisk ". In linux it goes like this:
IDE disks:

primary master - /dev/hda
primary slave - /dev/hdb
secondary master - /dev/hdc
secondary slave - /dev/hdd

scsi disks are seen as /dev/sda, /dev/sdb, /dev/sdc etc.

USB disks are seen as SCSI.

[note]Some older (pre 2.6 kernel) sets IDE DVD/CD burners to mount like scsi device. It is because of compatibility with burning software which worked only with scsi devices[note]


After you typed "fdisk ", you are in fdisk prompt. Typing "p" you can get list of partitions allready present. For example:

Command (m for help): p

Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 9601 77120001 83 Linux
/dev/hda2 9602 9729 1028160 82 Linux swap

Command (m for help):

Here you can see (in this case) two primary partitions one ext3 (linux) and second "linux swap" type. Disk can be splited in 4 primary partitions of which one can be extended and they are named from /dev/hda1 to /dev/hda4. One of them can be extended partition which can contain logical partitions. Logical partitions are allways named from /dev/hda5 upward, /dev/hda6, /dev/hda7...
[on IDE disks you can have up to 63 logical partitions and on SCSI disk you can have it up to 15]


In fdisk prompt type "n".
Now, you have to choose what type your new partition will be.

Command (m for help): n
Command action
e extended
p primary partition (1-4)

After you choose type of partition, if there are more than one option you will be asked for partition number.
Next you will be asked for start cylinder and by default it is the lowest possible. I suggest leaving it as it is. Next you will need to enter end cylinder, default is last possible. Here you can enter values like +size or +sizeM or +sizeK or +sizeG where size is number of bytes, sizeG is GB, +sizeM is MB and sizeK is KB (+1024, +8192K, +13M, +4G).


Partition type needs to be defined. Type L, and listing will show.

Command (m for help): L

0 Empty 1c Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid
1 FAT12 1e Hidden W95 FAT1 75 PC/IX be Solaris boot
2 XENIX root 24 NEC DOS 80 Old Minix c1 DRDOS/sec (FAT-
3 XENIX usr 39 Plan 9 81 Minix / old Lin c4 DRDOS/sec (FAT-
4 FAT16 <32M 3c PartitionMagic 82 Linux swap c6 DRDOS/sec (FAT-
5 Extended 40 Venix 80286 83 Linux c7 Syrinx
6 FAT16 41 PPC PReP Boot 84 OS/2 hidden C: da Non-FS data
7 HPFS/NTFS 42 SFS 85 Linux extended db CP/M / CTOS / .
8 AIX 4d QNX4.x 86 NTFS volume set de Dell Utility
9 AIX bootable 4e QNX4.x 2nd part 87 NTFS volume set df BootIt
a OS/2 Boot Manag 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
b W95 FAT32 50 OnTrack DM 93 Amoeba e3 DOS R/O
c W95 FAT32 (LBA) 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
e W95 FAT16 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
f W95 Ext'd (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi ee EFI GPT
10 OPUS 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
11 Hidden FAT12 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC b
12 Compaq diagnost 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
14 Hidden FAT16 <3 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
16 Hidden FAT16 61 SpeedStor a9 NetBSD f2 DOS secondary
17 Hidden HPFS/NTF 63 GNU HURD or Sys ab Darwin boot fd Linux raid auto
18 AST SmartSleep 64 Novell Netware b7 BSDI fs fe LANstep
1b Hidden W95 FAT3 65 Novell Netware b8 BSDI swap ff BBT

Command (m for help):

Now, type t, choose partition you created and enter code of type you want.
Type "w" and that's it, you are done. If you want fdisk to do nothing and forget changes you have done, type "q", fdisk will do nothing until you exit it.

You will see effect next time when you remount device.

Fdisk has loads of other useful functions (defining number of cylinders, heads or sectors for example) and list of his functions you can get with typing "m".

Hope this was helpfull and sorry for my englisch." devhardware.com

No comments:

Post a Comment