Pengenalan ke Partisi Disk

Lampiran ini belum tentu berlaku ke arsitektur selain AMD64, Intel 64, dan Arm SystemReady. Namun, konsep umum yang disinggung di sini mungkin berlaku.

Bagian ini mendiskusikan konsep disk dasar, strategi partisi ulang disk, skema penamaan partisi yang dipakai oleh sistem Linux, dan topik-topik terkait.

Bila Anda nyaman dengan pemartisian disk, Anda dapat melompat ke Strategi untuk Pemartisian Ulang Disk untuk informasi lebih lanjut tentang proses membebaskan ruang disk untuk mempersiapkan instalasi bagi Fedora.

Konsep Dasar Hard Disk

Hard disk melakukan suatu fungsi sangat sederhana - mereka menyimpan data dan secara handal mengambilnya saat diperintah.

Saat membahas masalah seperti partisi disk, penting untuk memiliki pemahaman tentang perangkat keras yang mendasarinya; namun, karena teorinya sangat rumit dan ekspansif, hanya konsep dasarnya yang akan dijelaskan di sini. Lampiran ini menggunakan serangkaian diagram disk drive yang disederhanakan untuk membantu menjelaskan proses dan teori di balik partisi.

Sebuah Disk Drive yang Tak Terpakai, menampilkan sebuah disk drive baru yang belum dipakai.

Citra dari sebuah disk drive yang tak terpakai.
Figure 1. Sebuah Disk Drive yang Tak Terpakai

Sistem Berkas

Untuk menyimpan data pada disk drive, perlu memformat disk drive tersebut terlebih dahulu. Pemformatan (biasanya dikenal sebagai “membuat sebuah sistem berkas”) menulis informasi ke drive, membuat urutan dari ruang kosong di drive yang tidak diformat.

Citra dari sebuah disk drive yang terformat.
Figure 2. Disk Drive dengan sebuah Sistem Berkas

Seperti yang disiratkan oleh Disk Drive dengan sebuah Sistem Berkas, urutan yang diberlakukan oleh sistem berkas melibatkan beberapa trade-off:

  • Sebagian kecil dari ruang driver yang tersedia digunakan untuk menyimpan data terkait sistem berkas dan dapat dianggap sebagai overhead.

  • Suatu sistem berkas memecah ruang tersisa ke segmen-segmen kecil yang berukuran konsisten. Untuk Linux, segmen-segmen ini dikenal sebagai blok [1].

Perhatikan bahwa tidak ada sistem berkas universal yang tunggal. Seperti ditunjukkan oleh Disk Drive dengan Sistem Berkas yang Berbeda, sebuah disk drive mungkin memiliki satu dari banyak sistem berkas berbeda yang ditulis padanya. Sistem berkas yang berbeda cenderung tidak kompatibel; yaitu, suatu sistem operasi yang mendukung sebuah sistem berkas (atau beberapa tipe sistem berkas yang berhubungan) mungkin tidak mendukung yang lain. Namun, Fedora mendukung variasi luas dari sistem berkas (termasuk banyak yang biasanya dipakai oleh sistem operasi lain seperti Microsoft Windows), membuat pertukaran data antara sistem berkas mudah.

Citra dari suatu disk drive dengan sebuah sistem berkas yang berbeda.
Figure 3. Disk Drive dengan suatu Sistem Berkas yang Berbeda

Menulis suatu sistem berkas ke disk hanyalah langkah pertama. Tujuan dari proses ini adalah untuk benar-benar menyimpan dan mengambil data. Gambar di bawah menunjukkan suatu disk drive setelah sebagian data telah ditulis ke sana:

Image dari suatu disk drive dengan data ditulis ke sana.
Figure 4. Disk Drive dengan Data Telah Ditulis ke Sana

Seperti ditunjukkan Disk Drive dengan Data Ditulis ke Sana, sebagian dari blok yang sebelumnya kosong kini menyimpan data. Namun, hanya dengan melihat gambar ini, kita tidak bisa menentukan secara eksak berapa banyak berkas yang berada pada drive ini. Mungkin hanya ada satu berkas atau banyak. karena semua berkas memakai paling tidak satu blok dan beberapa berkas memakai beberapa blok. Hal penting lain untuk dicatat adalah bahwa blok-blok yang dipakai tidak harus membentuk wilayah yang berkesinambungan; blok terpakai dan tidak terpakai bisa berselang-seling. Ini dikenal sebagai fragmentasi. Fragmentasi bisa mengambil peran saat mencoba mengubah ukuran partisi yang sudah ada.

Seperti dengan kebanyakan teknolog terkait komputer, disk drive berubah dengan berjalannya waktu setelah diperkenalkan. Secara khusus, mereka menjadi semakin besar. Tidak lebih besar dalam ukuran fisik, tapi lebih besar dalam kapasitas mereka untuk menyimpan informasi. Dan kapasitas tambahan ini mendorong perubahan yang mendasar dalam carai disk drive dipakai.

Partisi: Membuat Satu Drive Menjadi Banyak

Disk drive dapat dibagi menjadi partisi. Setiap partisi dapat diakses seolah itu disk terpisah. Ini dilakukan melalui penambahan sebuah tabel partisi.

Ada beberapa alasan untuk mengalokasikan ruang disk ke dalam partisi-partisi disk yang terpisah, misalnya:

  • Pemisahan logis data sistem operasi dari data pengguna

  • Kemampuan memakai sistem berkas yang berbeda

  • Kemampuan menjalankan beberapa sistem operasi pada satu mesin

Saat ini ada dua standar tata letak pemartisian bagi hard disk fisik: Master Boot Record (MBR) dan GUID Partition Table (GPT). MBR adalah sebuah metoda yang lebih tua untuk pemartisian disk yang dipakai dengan komputer berbasis BIOS. GPT adalah tata letak pemartisian yang lebih baru yang merupakan bagian dari Unified Extensible Firmware Interface (UEFI). Bagian ini dan Partisi Di Dalam Partisi - Ringkasan dari Partisi Extended utamanya menguraikan skema pemartisian disk Master Boot Record (MBR). Untuk informasi tentang tata letak pemartisian GUID Partition Table (GPT), lihat GUID Partition Table (GPT).

Sementara diagram dalam bab ini menunjukkan tabel partisi sebagai yang terpisah dari disk drive sebenarnya, ini tidak sepenuhnya akurat. Dalam realita, tabel partisi disimpan di bagian disk paling awal, sebelum sebarang sistem berkas atau data pengguna. Tapi untuk kejelasan, mereka terpisah dalam diagram kita.

Citra dari suatu disk drive yang belum terpakai dengan sebuah tabel partisi.
Figure 5. Disk Drive dengan Tabel Partisi

As Disk Drive with Partition Table shows, the partition table is divided into four sections or four primary partitions. A primary partition is a partition on a hard drive that can contain only one logical drive (or section). Each section can hold the information necessary to define a single partition, meaning that the partition table can define no more than four partitions.

Setiap tabel partisi memuat beberapa karakteristik penting dari partisi:

  • The points on the disk where the partition starts and ends

  • Whether the partition is “active”

  • The partition’s type

The starting and ending points define the partition’s size and location on the disk. The “active” flag is used by some operating systems’ boot loaders. In other words, the operating system in the partition that is marked “active” is booted.

The type is a number that identifies the partition’s anticipated usage. Some operating systems use the partition type to denote a specific file system type, to flag the partition as being associated with a particular operating system, to indicate that the partition contains a bootable operating system, or some combination of the three.

See Disk Drive With Single Partition for an example of a disk drive with single partition.

Citra dari suatu disk drive dengan partisi tunggal.
Figure 6. Disk Drive Dengan Partisi Tunggal

The single partition in this example is labeled as DOS. This label shows the partition type, with DOS being one of the most common ones. The table below shows a list of some of the commonly used partition types and hexadecimal numbers used to represent them.

Table 1. Partition Types
Tipe Partisi Nilai Tipe Partisi Nilai

Kosong

00

Novell Netware 386

65

DOS 12-bit FAT

01

PIC/IX

75

XENIX root

02

MINIX lama

80

XENIX usr

03

Linux/MINUX

81

DOS 16-bit ⇐32M

04

Linux swap

82

Extended

05

Linux native

83

DOS 16-bit >=32

06

Linux extended

85

OS/2 HPFS

07

Amoeba

93

AIX

08

Amoeba BBT

94

AIX bootable

09

BSD/386

a5

OS/2 Boot Manager

0a

OpenBSD

a6

Win95 FAT32

0b

NEXTSTEP

a7

Win95 FAT32 (LBA)

0c

BSDI fs

b7

Win95 FAT16 (LBA)

0e

BSDI swap

b8

Win95 Extended (LBA)

0f

Syrinx

c7

Venix 80286

40

CP/M

db

Novell

51

DOS access

e1

PReP Boot

41

DOS R/O

e3

GNU HURD

63

DOS sekunder

f2

Novell Netware 286

64

BBT

ff

Partisi Dalam Partisi - Ringkasan dari Partisi Extended

In case four partitions are insufficient for your needs, you can use extended partitions to create up additional partitions. You do this by setting the type of a partition to “Extended”.

An extended partition is like a disk drive in its own right - it has its own partition table which points to one or more partitions (now called logical partitions, as opposed to the four primary partitions) contained entirely within the extended partition itself. Disk Drive With Extended Partition, shows a disk drive with one primary partition and one extended partition containing two logical partitions (along with some unpartitioned free space).

Image of a disk drive with an extended partition.
Figure 7. Disk Drive With Extended Partition

As this figure implies, there is a difference between primary and logical partitions - there can only be four primary partitions, but there is no fixed limit to the number of logical partitions that can exist. However, due to the way in which partitions are accessed in Linux, no more than 12 logical partitions should be defined on a single disk drive.

GUID Partition Table (GPT)

GUID Partition Table (GPT) is a newer partitioning scheme based on using Globally Unique Identifiers (GUID). GPT was developed to cope with limitations of the MBR partition table, especially with the limited maximum addressable storage space of a disk. Unlike MBR, which is unable to address storage space larger than 2.2 terabytes, GPT can be used with hard disks larger than this; the maximum addressable disk size is 2.2 zettabytes. In addition, GPT by default supports creating up to 128 primary partitions. This number could be extended by allocating more space to the partition table.

GPT disks use logical block addressing (LBA) and the partition layout is as follows:

  • To preserve backward compatibility with MBR disks, the first sector (LBA 0) of GPT is reserved for MBR data and it is called “protective MBR”.

  • The primary GPT header begins on the second logical block (LBA 1) of the device. The header contains the disk GUID, the location of the primary partition table, the location of the secondary GPT header, and CRC32 checksums of itself and the primary partition table. It also specifies the number of partition entries of the table.

  • The primary GPT table includes, by default, 128 partition entries, each with an entry size 128 bytes, its partition type GUID and unique partition GUID.

  • The secondary GPT table is identical to the primary GPT table. It is used mainly as a backup table for recovery in case the primary partition table is corrupted.

  • The secondary GPT header is located on the last logical sector of the disk and it can be used to recover GPT information in case the primary header is corrupted. It contains the disk GUID, the location of the secondary partition table and the primary GPT header, CRC32 checksums of itself and the secondary partition table, and the number of possible partition entries.

There must be a BIOS boot partition for the boot loader to be installed successfully onto a disk that contains a GPT (GUID Partition Table). This includes disks initialized by Anaconda. If the disk already contains a BIOS boot partition, it can be reused.

Strategies for Disk Repartitioning

There are several different ways that a disk can be repartitioned. This section discusses the following possible approaches:

  • Unpartitioned free space is available

  • An unused partition is available

  • Free space in an actively used partition is available

Note that this section discusses the aforementioned concepts only theoretically and it does not include any procedures showing how to perform disk repartitioning step-by-step. Such detailed information are beyond the scope of this document.

Keep in mind that the following illustrations are simplified in the interest of clarity and do not reflect the exact partition layout that you encounter when actually installing Fedora.

Using Unpartitioned Free Space

In this situation, the partitions already defined do not span the entire hard disk, leaving unallocated space that is not part of any defined partition. Disk Drive with Unpartitioned Free Space, shows what this might look like.

Image of a disk drive with unpartitioned free space
Figure 8. Disk Drive with Unpartitioned Free Space

In the above example, 1 represents an undefined partition with unallocated space and 2 represents a defined partition with allocated space.

An unused hard disk also falls into this category. The only difference is that all the space is not part of any defined partition.

In any case, you can create the necessary partitions from the unused space. Unfortunately, this scenario, although very simple, is not very likely (unless you have just purchased a new disk just for Fedora). Most pre-installed operating systems are configured to take up all available space on a disk drive (see Using Free Space from an Active Partition).

Using Space from an Unused Partition

In this case, maybe you have one or more partitions that you do not use any longer. Disk Drive with an Unused Partition, illustrates such a situation.

Image of a disk drive with an unused partition
Figure 9. Disk Drive with an Unused Partition

In the above example, 1 represents an unused partition and 2 represents reallocating an unused partition for Linux.

In this situation, you can use the space allocated to the unused partition. You first must delete the partition and then create the appropriate Linux partition(s) in its place. You can delete the unused partition and manually create new partitions during the installation process.

Using Free Space from an Active Partition

This is the most common situation. It is also, unfortunately, the hardest to handle. The main problem is that, even if you have enough free space, it is presently allocated to a partition that is already in use. If you purchased a computer with pre-installed software, the hard disk most likely has one massive partition holding the operating system and data.

Aside from adding a new hard drive to your system, you have two choices:

Destructive Repartitioning

In this case, the single large partition is deleted and several smaller ones are created instead. Any data held in the original partition is destroyed. This means that making a complete backup is necessary. It is highly recommended to make two backups, use verification (if available in your backup software), and try to read data from the backup before deleting the partition.

If an operating system was installed on that partition, it must be reinstalled if you want to use that system as well. Be aware that some computers sold with pre-installed operating systems may not include the installation media to reinstall the original operating system. You should check whether this applies to your system is before you destroy your original partition and its operating system installation.

After creating a smaller partition for your existing operating system, you can reinstall software, restore your data, and start the installation. Disk Drive Being Destructively Repartitioned shows this being done.

Image of a disk drive being destructively repartitioned
Figure 10. Disk Drive Being Destructively Repartitioned

In the above example, 1 represents before and 2 represents after.

Any data previously present in the original partition is lost.

Non-Destructive Repartitioning

With non-destructive repartitioning you execute a program that makes a big partition smaller without losing any of the files stored in that partition. This method is usually reliable, but can be very time-consuming on large drives.

While the process of non-destructive repartitioning is rather straightforward, there are three steps involved:

  1. Compress and backup existing data

  2. Resize the existing partition

  3. Create new partition(s)

Each step is described further in more detail.

Compress Existing Data

As the following figure shows, the first step is to compress the data in your existing partition. The reason for doing this is to rearrange the data such that it maximizes the available free space at the “end” of the partition.

Image of a disk drive being compressed
Figure 11. Disk Drive Being Compressed

In the above example, 1 represents before and 2 represents after.

This step is crucial. Without it, the location of the data could prevent the partition from being resized to the extent desired. Note also that, for one reason or another, some data cannot be moved. If this is the case (and it severely restricts the size of your new partition(s)), you may be forced to destructively repartition your disk.

Resize the Existing Partition

Disk Drive with Partition Resized shows the actual resizing process. While the actual result of the resizing operation varies depending on the software used, in most cases the newly freed space is used to create an unformatted partition of the same type as the original partition.

Image of a disk drive with a resized partition
Figure 12. Disk Drive with Partition Resized

In the above example, 1 represents before and 2 represents after.

It is important to understand what the resizing software you use does with the newly freed space, so that you can take the appropriate steps. In the case illustrated here, it would be best to delete the new DOS partition and create the appropriate Linux partition(s).

Create new partition(s)

As the previous step implied, it may or may not be necessary to create new partitions. However, unless your resizing software is Linux-aware, it is likely that you must delete the partition that was created during the resizing process. Disk Drive with Final Partition Configuration, shows this being done.

Image of a disk drive with final partition configuration
Figure 13. Disk Drive with Final Partition Configuration

In the above example, 1 represents before and 2 represents after.

Partition Naming Schemes and Mount Points

A common source of confusion for users unfamiliar with Linux is the matter of how partitions are used and accessed by the Linux operating system. In DOS/Windows, it is relatively simple: Each partition gets a “drive letter.” You then use the correct drive letter to refer to files and directories on its corresponding partition. This is entirely different from how Linux deals with partitions and, for that matter, with disk storage in general. This section describes the main principles of partition naming scheme and the way how partitions are accessed in Fedora.

Partition Naming Scheme

Linux uses a naming scheme that is file-based, with file names in the form of /dev/xxyN.

Device and partition names consist of the following:

/dev/

This is the name of the directory in which all device files reside. Because partitions reside on hard disks, and hard disks are devices, the files representing all possible partitions reside in /dev/.

xx

The first two letters of the partition name indicate the type of device on which the partition resides, usually sd.

y

This letter indicates which device the partition is on. For example, /dev/sda for the first hard disk, /dev/sdb for the second, and so on.

N

The final number denotes the partition. The first four (primary or extended) partitions are numbered 1 through 4. Logical partitions start at 5. So, for example, /dev/sda3 is the third primary or extended partition on the first hard disk, and /dev/sdb6 is the second logical partition on the second hard disk.

Even if your system can identify and refer to all types of disk partitions, it might not be able to read the file system and therefore access stored data on every partition type. However, in many cases, it is possible to successfully access data on a partition dedicated to another operating system.

Disk Partitions and Mount Points

Each partition is used to form part of the storage necessary to support a single set of files and directories. This is done by associating a partition with a directory through a process known as mounting. Mounting a partition makes its storage available starting at the specified directory (known as a mount point).

For example, if partition /dev/sda5 is mounted on /usr/, that would mean that all files and directories under /usr/ physically reside on /dev/sda5. So the file /usr/share/doc/FAQ/txt/Linux-FAQ would be stored on /dev/sda5, while the file /etc/gdm/custom.conf would not.

Continuing the example, it is also possible that one or more directories below /usr/ would be mount points for other partitions. For instance, a partition (say, /dev/sda7) could be mounted on /usr/local/, meaning that /usr/local/man/whatis would then reside on /dev/sda7 rather than /dev/sda5.

How Many Partitions?

At this point in the process of preparing to install Fedora, you should give some consideration to the number and size of the partitions to be used by your new operating system. However, there is no one right answer to this question. It depends on your needs and requirements.

Unless you have a reason for doing otherwise, you should at least create a /boot partition and a / (root) partition. Depending on your system’s hardware specifications, additional partitions may be necessary, such as /boot/efi for 64-bit AMD, Intel and Arm systems with UEFI firmware, a biosboot partition for AMD and Intel systems with a GUID Partition Table (GPT) label on the system disk, or a PReP Boot partition on IBM Power Systems servers.

See Recommended Partitioning Scheme for more information about the recommended partitioning scheme.


1. Blok memang benar berukuran konsisten, tidak seperti ilustrasi kami. Perlu diingat juga, bahwa disk drive rata-rata memuat ribuan blok. Gambar adalah penyederhanaan untuk tujuan diskusi ini.