LX-INL-INFO-fdisk
In dit hoofdstuk laten we je zien hoe je een harddisk partitionneert met fdisk. De BIOS van een IBM compatibele PC (dat is momenteel elk PC moederbord met een amd of intel processor) laat slechts 4 primary partities toe. Dat is voor Linux ook zo.
Eén van deze primary partitions, de extended partition, kunnen we nog verder onderverdelen in logical volumes.
We verdelen een schijf in partities met de command line utility fdisk.
# fdisk <device>
Een sata schijf, de enige schijf in je PC:
/dev/sda
Heb je meerdere sata schijven, dan is de eerste schijf sda, de tweede sdb enz.
sata schijf 1 |
/dev/sda |
sata schijf 2 |
/dev/sdb |
... |
|
sata schijf 5 |
/dev/sde |
primary master: |
/dev/hda |
primary slave: |
/dev/hdb |
secondary master: |
/dev/hdc |
secondary slave: | /dev/hdd |
Een betere manier om te weten te komen op welke schijf we fdisk gaan uitvoeren, is eerst een lijst op scherm te brengen van alle partities. Aan de hand van de gegevens die we per schijf zien (o.a. grootte en reeds bestaande partities), is het dan makkelijker de devicenaam te identificeren:
Op een ubuntu machine:
$ sudo fdisk -l [sudo] password for jan: Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xc7eec7ee Device Boot Start End Blocks Id System /dev/sda1 * 1 3187 25599546 83 Linux /dev/sda2 3188 3795 4883760 82 Linux swap / Solaris /dev/sda3 3796 6227 19535040 5 Extended /dev/sda4 6228 19457 106269975 83 Linux /dev/sda5 3796 6227 19535008+ 83 Linux |
# fdisk -l Disk /dev/sda: 160.0 GB, 160041885696 bytes 255 heads, 63 sectors/track, 19457 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000b6e7e Device Boot Start End Blocks Id System /dev/sda1 1 243 1951866 82 Linux swap / Solaris /dev/sda2 244 2431 17575110 83 Linux /dev/sda3 * 2432 4620 17583142+ 83 Linux /dev/sda4 4621 19457 119178202+ 5 Extended /dev/sda5 4621 19457 119178171 83 Linux Disk /dev/sdb: 500.1 GB, 500107862016 bytes 255 heads, 63 sectors/track, 60801 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x3d105e8f Device Boot Start End Blocks Id System /dev/sdb1 1 60801 488384001 83 Linux |
root@pyongyang: ~# fdisk -l Disk /dev/hda: 81.9 GB, 81964302336 bytes 255 heads, 63 sectors/track, 9964 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x0003299a Device Boot Start End Blocks Id System /dev/hda1 * 228 9964 78212452+ 83 Linux /dev/hda2 1 227 1823346 82 Linux swap / Solaris Partition table entries are not in disk order Disk /dev/hdb: 20.4 GB, 20491075584 bytes 255 heads, 63 sectors/track, 2491 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x000efa2c Device Boot Start End Blocks Id System /dev/hdb1 1 182 1461883+ 82 Linux swap / Solaris /dev/hdb2 183 2491 18547042+ 83 Linux |
Zodra we weten welke de devicenaam is van de schijf die we willen partitionneren, kunnen we fdisk uitvoeren op deze schijf.
We werken als root user.
We gebruiken device /dev/sda in ons voorbeeld:
# fdisk /dev/sda The number of cylinders for this disk is set to 38913. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): |
Command (m for help): m Command action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only) Command (m for help): |
Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 * 1 3891 31254426 7 HPFS/NTFS /dev/sda2 3892 38913 281314215 7 HPFS/NTFS |
Command (m for help): d Partition number (1-4): 2 Command (m for help): d Selected partition 1 |
Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System |
Nu willen we een nieuwe partitietabel opbouwen als volgt:
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-38913, default 1): <enter> Using default value 1 Last cylinder, +cylinders or +size{K,M,G} (1-38913, default 38913): +30G |
Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux |
Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 2 First cylinder (3918-38913, default 3918): <enter> Using default value 3918 Last cylinder, +cylinders or +size{K,M,G} (3918-38913, default 38913): +30G Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux |
Command (m for help): n Command action e extended p primary partition (1-4) e Partition number (1-4): 3 First cylinder (7835-38913, default 7835): <enter> Using default value 7835 Last cylinder, +cylinders or +size{K,M,G} (7835-38913, default 38913):<enter> Using default value 38913 Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended |
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (7835-38913, default 7835): <enter> Using default value 7835 Last cylinder, +cylinders or +size{K,M,G} (7835-38913, default 38913): +4G Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended /dev/sda5 7835 8357 4200966 83 Linux |
Command (m for help): t Partition number (1-5): 5 Hex code (type L to list codes): 82 Changed system type of partition 5 to 82 (Linux swap / Solaris) Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended /dev/sda5 7835 8357 4200966 82 Linux swap/Solaris |
Command (m for help): l 0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris 1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT- 2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT- 3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT- 4 FAT16 <32M 41 PPC PReP Boot 85 Linux extended c7 Syrinx 5 Extended 42 SFS 86 NTFS volume set da Non-FS data 6 FAT16 4d QNX4.x 87 NTFS volume set db CP/M / CTOS / . 7 HPFS/NTFS 4e QNX4.x 2nd part 88 Linux plaintext de Dell Utility 8 AIX 4f QNX4.x 3rd part 8e Linux LVM df BootIt 9 AIX bootable 50 OnTrack DM 93 Amoeba e1 DOS access a OS/2 Boot Manag 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O b W95 FAT32 52 CP/M 9f BSD/OS e4 SpeedStor c W95 FAT32 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad hi eb BeOS fs e W95 FAT16 (LBA) 54 OnTrackDM6 a5 FreeBSD ee GPT f W95 Ext'd (LBA) 55 EZ-Drive a6 OpenBSD ef EFI (FAT-12/16/ 10 OPUS 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-RISC b 11 Hidden FAT12 5c Priam Edisk a8 Darwin UFS f1 SpeedStor 12 Compaq diagnost 61 SpeedStor a9 NetBSD f4 SpeedStor 14 Hidden FAT16 <3 63 GNU HURD or Sys ab Darwin boot f2 DOS secondary 16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS 17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE 18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto 1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep 1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT 1e Hidden W95 FAT1 |
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (8358-38913, default 8358): <enter> Using default value 8358 Last cylinder, +cylinders or +size{K,M,G} (8358-38913, default 38913): +50G Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended /dev/sda5 7835 8357 4200966 82 Linux swap / Solaris /dev/sda6 8358 14885 52436128+ 83 Linux |
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (14886-38913, default 14886):<enter> Using default value 14886 Last cylinder, +cylinders or +size{K,M,G} (14886-38913, default 38913): <enter> Using default value 38913 Command (m for help): p Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended /dev/sda5 7835 8357 4200966 82 Linux swap / Solaris /dev/sda6 8358 14885 52436128+ 83 Linux /dev/sda7 14886 38913 193004878+ 83 Linux |
Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks. |
# fdisk -l Disk /dev/sda: 320.1 GB, 320072933376 bytes 255 heads, 63 sectors/track, 38913 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xa70f5c6c Device Boot Start End Blocks Id System /dev/sda1 1 3917 31463271 83 Linux /dev/sda2 3918 7834 31463302+ 83 Linux /dev/sda3 7835 38913 249642067+ 5 Extended /dev/sda5 7835 8357 4200966 82 Linux swap / Solaris /dev/sda6 8358 14885 52436128+ 83 Linux /dev/sda7 14886 38913 193004878+ 83 Linux |