Sysresccd-Partitioning-EN-Partitions-attributes
From SystemRescueCd
Contents |
Partition identifiers
Each partition of your disk has an identifier. It's written in the partition table which is in the MBR if it's a disk based on the standard msdos partition table. This is just a number which says which sort of partition it is. You can get the list of all the possible partition identifiers that can be used in an msdos partition table by typing "L" in fdisk under linux:
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
When you look at this table, you can see that there are 256 possible identifiers. In general, they are written in hexadecimal because it allows representing 256 different combinations with only two characters. The partition identifier is supposed to be consistent with the contents of the partition, but it's not always correct. It's perfectly possible to install Linux on a partition having its identifier set to 7 which is normally used for NTFS partitions. It's more important to use the right identifier if you want to install Windows. It may refuse to boot if you use the wrong identifier for the partition. Anyway it should be correct if you use a high-level partitioning tool such as parted. This identifier is also very important if it's an extended partition (types 5 and f). If you want to change the identifier of a partition you have to use fdisk, and press "T" in the menu. It corresponds to change a partition's system id
Here are the most important identifiers:
- 7: Normal NTFS (visible Windows partition)
- 17: Hidden NTFS (hidden Windows partition)
- 82: Linux swap (linux partition for swap)
- 83: Linux data (linux partition for data)
- 8e: Linux LVM (linux partition for LVM)
- 5: Extended partition (contains logical partitions)
- f: Extended LBA partition (contains logical partitions)
Example of a typical partition table
Here is an example of a disk where both Linux and Windows are installed. This is the way it looks in fdisk for linux:
Device Boot Start End Blocks Id System /dev/sda1 1 32 250000 83 Linux /dev/sda2 * 32 249 1750000 7 HPFS/NTFS /dev/sda3 250 783 4289355 f W95 Ext'd (LBA) /dev/sda5 250 316 538146 83 Linux /dev/sda6 317 426 879698+ 7 HPFS/NTFS /dev/sda7 426 783 2871478 17 Hidden HPFS/NTFS
Here is how the same partition table is printed by another tool: GNU Parted
Number Start End Size Type Filesystem Flags 1 512B 256MB 256MB primary ext3 2 256MB 2048MB 1792MB primary ntfs boot 3 2048MB 6440MB 4392MB extended lba 5 2048MB 2599MB 551MB logical ext3 6 2599MB 3500MB 901MB logical ntfs 7 3500MB 6440MB 2940MB logical ntfs hidden
And now the same in GParted:
Partition flags
Each partition may also have other attributes, also know as flags:
- One partition of the disk may be marked as active/bootable
- FAT/NTFS may be marked as hidden or visible
The bootable/active flag
The first flag is called either bootable or active. Only one partition of the disk may have this flag. This flag is used to mark the partition that contains the operating system that should be booted when the computer starts using that disk. When the computer starts, the boot code of the MBR is executed. By default the MBR contains the conventional MBR code, which is used to automatically start the operating system which is installed on the partition marked as active. This is the typical situation of a computer when Microsoft Operating-Systems are installed. Other boot managers can be installed in the MBR boot code, such as Grub which is used to start Linux or Windows (or any other Operating-System). These boot managers tend to ignore the bootable/active flag since they have their own representation of the installed systems. You can also install more than one version of Windows on your disk if you have multiple primary partitions. This bootable/active flag can be used to choose which one you want to boot.
The hidden flag
Partitions may be either visible or hidden. In reality the Operating-System can always see the partition of the disk and it can decide to ignore the partitions which are marked as hidden. You can hide a partition if you don't want this partition to be visible under Windows. It can be used to hide data, or to be sure they won't be accidentally removed. You can clear this flag at any time using a partitioning tool such as Parted or fdisk. In reality there is no such flag in the partition table. FAT and NTFS partitions have multiple identifiers so there is one identifier for a visible NTFS partition, and another identifier is used for hidden NTFS partitions. Linux partition don't have such a hidden identifier but that's not a real problem since it's possible to simply not mount a partition if you don't want its contents to be visible.
Disks and partition names
Linux and Windows have different naming conventions for disks and partitions. Here is a description of how disk names are set under Linux:
- SCSI and SATA disks are named
/dev/sda(first disk),/dev/sdb(second disk),/dev/sdc, ... - IDE/PATA disks names used to be
/dev/hda(first disk),/dev/hdb(second disk), ... but can also be calledsda,sdb, ... - RAID arrays use other names such as
/dev/cciss/c0d0p1(HP SmartArray raid controllers)
With traditional msdos/bios partition table numbers 1 to 4 are reserved for primary partitions (an extended partition is a primary partition), and numbers from 5 are used for logical partitions. Thus there can be a /dev/sda5 (first logical partition inside the extended partition) even if there is no partition called /dev/sda4:
/dev/sda1is the first primary partition of the disk called/dev/sda/dev/sda2is the second primary partition of the disk called/dev/sda/dev/sda5is the first logical partition of the disk called/dev/sda/dev/sda6is the second logical partition of the disk called/dev/sda
If you are using the GPT disk layout then there is no need for extended partitions, because there can be more than 4 primary partitions. Then partitions are based on normal numbering starting at 1.
You can look at the file called /proc/partitions under Linux to see your disks and partitions:
% cat /proc/partitions major minor #blocks name 8 0 6291456 sda 8 1 250000 sda1 8 2 1750000 sda2 8 3 1 sda3 8 5 538146 sda5 8 6 879698 sda6 8 7 2871478 sda7
If it's installed you can also use fsarchiver to show the list of partitions with more details:
% fsarchiver probe simple [=====DEVICE=====] [==FILESYS==] [=====LABEL=====] [====SIZE====] [MAJ] [MIN] [/dev/sda1 ] [ext3 ] [boot ] [ 244.14 MB] [ 8] [ 1] [/dev/sda2 ] [ntfs ] [windows-xp ] [ 1.67 GB] [ 8] [ 2] [/dev/sda5 ] [ext3 ] [linux-data ] [ 525.53 MB] [ 8] [ 5] [/dev/sda6 ] [ntfs ] [windows-data ] [ 859.08 MB] [ 8] [ 6] [/dev/sda7 ] [ntfs ] [backups ] [ 2.74 GB] [ 8] [ 7]
