Perintah parted Linux: baca partisi dan pahami resizepart

Perintah parted membaca tabel partisi disk Linux dan dapat mengubah pembagian disk. Gunakan print untuk melihat partisi atau print free untuk melihat ruang yang belum dialokasikan; perintah perubahan dapat langsung menulis ke disk, sedangkan penyesuaian ukuran filesystem tetap merupakan pekerjaan terpisah.

Tabel partisi mencatat batas bagian-bagian disk. Filesystem mengatur berkas di dalam sebuah partisi atau volume. Memperbesar batas partisi tidak otomatis menambah ruang yang dapat dipakai filesystem, dan memperkecil batasnya dapat memotong data jika lapisan di dalamnya belum disesuaikan.

Sintaks dan pemeriksaan versi

parted [OPSI] [DISK] [PERINTAH]

Penanda dalam kurung siku bukan teks yang diketik secara harfiah. Periksa parted --version dan man parted pada host karena dukungan opsi dapat berbeda antarversi. Nyatakan perangkat tujuan secara jelas; tanpa perangkat, Parted dapat memilih perangkat blok pertama yang ditemukan.

Contoh /dev/sdb di bawah berarti seluruh disk, bukan partisi /dev/sdb1. Nama perangkat dapat berubah dan tidak menunjukkan bahwa isinya boleh dihapus. Pada NVMe, contoh pola seluruh disk adalah /dev/nvme0n1, sedangkan partisinya dapat bernama /dev/nvme0n1p1.

Lihat tabel partisi semua disk

sudo parted -l

Opsi -l menampilkan tata letak partisi perangkat yang dapat diperiksa. Cocokkan model, kapasitas, jenis tabel, dan daftar partisi. Kegagalan izin atau pembacaan bukan bukti disk kosong; jangan menindaklanjuti hasil kosong dengan membuat tabel baru.

Perintah daftar dan print ditujukan untuk pemeriksaan. Namun, bila Parted mendeteksi masalah tabel lalu menawarkan Fix, jangan menyetujui perbaikan saat Anda hanya hendak membaca. Hentikan pemeriksaan dan nilai masalahnya terlebih dahulu; jangan menambahkan --fix untuk menghilangkan pertanyaan secara otomatis.

Periksa ruang yang belum dialokasikan

sudo parted /dev/sdb unit MiB print free

Perintah ini memilih disk /dev/sdb, memakai MiB sebagai unit, lalu menampilkan partisi dan celah yang belum dialokasikan. MiB berarti 1.048.576 byte. Unit MiB dan GiB diperlakukan sebagai lokasi tepat; masukan desimal seperti MB atau GB dapat melibatkan rentang penyesuaian lokasi menurut aturan Parted.

Free Space di sini adalah ruang disk di luar partisi, bukan ruang kosong berkas di dalam filesystem. Untuk pemakaian filesystem yang sudah terpasang, gunakan df untuk kapasitas dan ruang filesystem. Ruang di tempat lain pada disk belum tentu dapat dipakai untuk memperbesar partisi tertentu tanpa pekerjaan lain.

Cocokkan identitas disk dan hubungan mount

lsblk -o NAME,SIZE,MODEL,TYPE,MOUNTPOINTS

Cocokkan NAME, SIZE, MODEL, TYPE, dan MOUNTPOINTS dengan inventaris penyimpanan. Panduan lsblk membantu membaca hubungan disk, partisi, dan volume. Mount kosong bukan bukti perangkat tidak dipakai: perangkat mungkin menjadi swap, bagian volume lain, atau dipakai melalui lapisan penyimpanan lain.

Sebelum perubahan nyata, sediakan cadangan data yang dapat dipulihkan, catatan tata letak, dan rencana pemeliharaan. Cadangan tabel partisi tidak menggantikan cadangan isi berkas. Jangan mengubah disk sistem atau disk aktif untuk mencoba contoh latihan.

Baca batas partisi dan jenis tabel

sudo parted /dev/sdb print

Berikut struktur potongan keluaran untuk menjelaskan kolom, bukan hasil pemeriksaan perangkat Anda. Baris partisi sengaja tidak ditampilkan:

Model: ...
Disk /dev/sdb: 20.0GB
Partition Table: gpt
Number  Start   End     Size    File system  Name

Model dan Disk membantu mengenali perangkat; Partition Table menunjukkan format tabel, misalnya GUID Partition Table (GPT). Number adalah nomor partisi, Start dan End batas lokasinya, Size ukuran, File system jenis filesystem yang dikenali, dan Name nama partisi bila format tabel mendukungnya. Kolom yang tampil dapat berbeda menurut perangkat dan versi.

Nama partisi GPT bukan label filesystem. Kolom filesystem yang kosong juga tidak membuktikan tidak ada data atau perangkat aman diformat. Gunakan unit dan informasi lengkap dari perangkat sebenarnya sebelum menghitung batas.

Bedakan perubahan partisi dari perubahan filesystem

resizepart NOMOR AKHIR mengubah posisi akhir partisi, bukan ukuran filesystem. AKHIR adalah posisi dari awal disk, bukan jumlah ruang tambahan. Partisi yang dimulai di 1 MiB dan berakhir dekat 49 MiB memiliki rentang sekitar 48 MiB, bukan 49 MiB.

Untuk memperbesar filesystem, lapisan penyimpanan di bawahnya harus menyediakan ruang yang memadai terlebih dahulu. Untuk memperkecil partisi, filesystem dan lapisan di dalamnya harus mendukung pengecilan dan sudah dibuat muat di batas baru. Sebagian filesystem tidak mendukung pengecilan. Ikuti prosedur khusus filesystem, keadaan mount, enkripsi, dan Logical Volume Manager (LVM, pengelola volume logis) yang benar-benar digunakan.

mkpart membuat entri partisi, bukan menjalankan pemformatan. Argumen ext4 pada contoh latihan hanya petunjuk jenis partisi. mklabel membuat atau mengganti tabel partisi, sedangkan rm menghapus entri partisi. Ketiganya bukan perintah pemeriksaan.

Dalam mode interaktif, perintah perubahan dapat langsung berlaku tanpa menunggu perintah simpan terakhir. quit keluar dan tidak membatalkan perubahan yang telah dilakukan. Kebiasaan fdisk yang menulis dengan w tidak boleh diterapkan pada Parted.

Latihan hanya pada berkas image baru

Latihan berikut memerlukan Linux dengan GNU Parted, truncate, mktemp, dan shell yang mendukung sintaks ini. Pastikan direktori sementara dapat ditulis dan memiliki ruang yang memadai untuk berkas 64 MiB. Jalankan sebagai pengguna biasa: contoh hanya membuat berkas disk.img baru di direktori sementara milik pengguna, tanpa sudo, perangkat /dev, mount, atau filesystem baru.

Jalankan seluruh blok sebagai satu kesatuan. Jangan mengganti variabel image dengan path disk nyata. set -eu menghentikan subshell jika perintah gagal atau variabel yang diperlukan tidak terdefinisi; operasi yang sudah berhasil pada berkas image tidak otomatis dibatalkan.

(
set -eu
labdir=$(mktemp -d)
image="$labdir/disk.img"
truncate -s 64M "$image"
parted --script "$image" mklabel gpt
parted --script "$image" mkpart lab ext4 1MiB 33MiB
parted "$image" unit MiB print free
parted --script "$image" resizepart 1 49MiB
parted "$image" unit MiB print free
printf 'Lab image: %s\n' "$image"
)

Jika berhasil, print pertama menunjukkan partisi GPT nomor 1 bernama lab dengan awal dekat 1 MiB dan akhir dekat 33 MiB. print kedua menunjukkan akhir dekat 49 MiB; tampilan pembulatan dapat berbeda. Bandingkan End serta Free Space sebelum dan sesudah perubahan. Tidak ada filesystem yang dibuat atau diubah, sehingga latihan ini hanya memperagakan batas partisi.

Baris terakhir mencetak lokasi berkas latihan. Untuk membersihkan, pastikan path tersebut benar-benar direktori sementara buatan latihan ini, lalu hapus hanya disk.img milik latihan dan direktori itu jika sudah kosong. Jika blok gagal sebelum mencetak path, jangan menebak atau menghapus direktori sementara lain. Periksa lokasi yang dibuat mktemp terlebih dahulu dan ulangi hanya setelah penyebab kegagalan dipahami.

Opsi dan perintah yang perlu dibedakan

Opsi atau bentuk Fungsi dan batasnya
-l Menampilkan tabel partisi perangkat yang dapat diperiksa.
-s / --script Tidak meminta masukan interaktif. Ini bukan persetujuan otomatis untuk semua peringatan dan bukan jaminan operasi aman atau berhasil.
unit SATUAN Mengatur unit tampilan serta masukan posisi berikutnya.
print free Menampilkan partisi dan ruang disk yang belum dialokasikan.
resizepart NOMOR AKHIR Mengubah posisi akhir partisi; ukuran filesystem tidak diubah.

Rincian perintah, unit, dan perilaku script mode dijelaskan pada manual GNU Parted dari sumber proyek. Cocokkan opsi dengan manual versi yang terpasang sebelum melakukan perubahan.

FAQ

Apakah keluar dari Parted membatalkan perubahan?

Tidak. Perintah perubahan dapat langsung menulis ke disk. quit hanya keluar; jangan menganggapnya sebagai pembatalan atau menunggu perintah w seperti pada fdisk.

Apakah resizepart otomatis memperbesar filesystem?

Tidak. resizepart memindahkan batas akhir partisi. Penyesuaian filesystem memerlukan alat, dukungan, dan urutan pekerjaan sesuai lapisan penyimpanan yang digunakan.