Pelajari Perintah Linux - fdisk

Nama

fdisk - Partition table manipulator untuk Linux

Ringkasan

fdisk [-u] [-b sectorsize ] [-C cyls ] [-H heads ] [-Sects ] perangkat

fdisk-l [-u] [ perangkat ... ]

partisi fdisk -s ...

fdisk -v

Deskripsi

Hard disk dapat dibagi menjadi satu atau lebih disk logis yang disebut partisi . Pembagian ini dijelaskan dalam tabel partisi yang ditemukan di sektor 0 disk.

Di dunia BSD seseorang berbicara tentang `disk slices 'dan` disklabel'.

Linux membutuhkan setidaknya satu partisi, yaitu untuk sistem file root-nya. Ia dapat menggunakan file swap dan / atau menukar partisi, tetapi yang terakhir lebih efisien. Jadi, biasanya orang akan menginginkan partisi Linux kedua yang didedikasikan sebagai partisi swap. Pada perangkat keras yang kompatibel Intel, BIOS yang mem-boot sistem sering hanya dapat mengakses 1024 silinder pertama dari disk. Untuk alasan ini, orang-orang dengan disk besar sering membuat partisi ketiga, hanya beberapa MB besar, biasanya dipasang di / boot , untuk menyimpan imej kernel dan beberapa file tambahan yang diperlukan pada saat boot, sehingga untuk memastikan bahwa barang ini adalah diakses oleh BIOS. Mungkin ada alasan keamanan, kemudahan administrasi dan pencadangan, atau pengujian, untuk menggunakan lebih dari jumlah minimum partisi.

Selesaikan masalah cetak, hemat waktu dengan perangkat lunak manajemen antrean cetak.

fdisk (dalam bentuk pertama dari permintaan) adalah program berbasis menu untuk pembuatan dan manipulasi tabel partisi. Ia memahami tabel partisi jenis DOS dan disklabel tipe BSD atau SUN.

Perangkat ini biasanya salah satu dari yang berikut:

/ dev / hda / dev / hdb / dev / sda / dev / sdb

(/ dev / hd [ah] untuk disk IDE, / dev / sd [ap] untuk disk SCSI, / dev / ed [ad] untuk disk ESDI, / dev / xd [ab] untuk disk XT). Nama perangkat mengacu ke seluruh disk.

Partisi adalah nama perangkat diikuti dengan nomor partisi. Sebagai contoh, / dev / hda1 adalah partisi pertama pada hard disk IDE pertama dalam sistem. Disk dapat memiliki hingga 15 partisi. Lihat juga /usr/src/linux/Documentation/devices.txt .

Disklabel tipe BSD / SUN dapat menggambarkan 8 partisi, yang ketiga adalah partisi `seluruh disk '. Jangan memulai partisi yang benar-benar menggunakan sektor pertama (seperti partisi swap) di silinder 0, karena itu akan menghancurkan disklabel.

Disklabel tipe IRIX / SGI dapat menggambarkan 16 partisi, yang kesebelasnya harus merupakan keseluruhan partisi `volume ', sedangkan yang kesembilan harus diberi label` header volume'. Header volume juga akan mencakup tabel partisi, yaitu, dimulai pada blok nol dan meluas secara default lebih dari lima silinder. Ruang yang tersisa di header volume dapat digunakan oleh entri direktori header. Tidak ada partisi yang dapat tumpang tindih dengan header volume. Juga jangan mengubah jenisnya dan membuat beberapa sistem file di atasnya, karena Anda akan kehilangan tabel partisi. Gunakan jenis label ini hanya ketika bekerja dengan Linux pada mesin IRIX / SGI atau disk IRIX / SGI di Linux.

Tabel partisi tipe DOS dapat menggambarkan partisi dalam jumlah tak terbatas. Di sektor 0 ada ruang untuk deskripsi dari 4 partisi (disebut `primer '). Salah satunya adalah partisi extended; ini adalah kotak yang menyimpan partisi logical, dengan pendeskripsi yang ditemukan dalam daftar terkait sektor, masing-masing sebelum partisi logical yang sesuai. Keempat partisi utama, hadir atau tidak, mendapatkan angka 1-4. Partisi logis mulai berjumlah dari 5.

Dalam tabel partisi tipe DOS, offset awal dan ukuran setiap partisi disimpan dalam dua cara: sebagai jumlah sektor absolut (diberikan dalam 32 bit) dan sebagai Silinder / Kepala / Sektor tiga (diberikan dalam 10 + 8 + 6 bit). Yang pertama OK - dengan sektor 512-byte ini akan bekerja hingga 2 TB. Yang terakhir memiliki dua masalah yang berbeda. Pertama-tama, kolom C / H / S ini dapat diisi hanya ketika jumlah kepala dan jumlah sektor per track diketahui. Kedua, bahkan jika kita tahu apa angka-angka ini seharusnya, 24 bit yang tersedia tidak mencukupi. DOS hanya menggunakan C / H / S, Windows menggunakan keduanya, Linux tidak pernah menggunakan C / H / S.

Jika memungkinkan, fdisk akan mendapatkan geometri disk secara otomatis. Ini belum tentu geometri disk fisik (memang, disk modern tidak benar-benar memiliki sesuatu seperti geometri fisik, tentu saja bukan sesuatu yang dapat digambarkan dalam bentuk Silinder / Heads / Sectors sederhana), tetapi adalah geometri disk yang menggunakan MS-DOS untuk tabel partisi.

Biasanya semua berjalan dengan baik secara default, dan tidak ada masalah jika Linux adalah satu-satunya sistem pada disk. Namun, jika disk harus dibagikan dengan sistem operasi lain, seringkali ide yang baik untuk membiarkan fdisk dari sistem operasi lain membuat setidaknya satu partisi. Ketika Linux mem-boot, ia melihat pada tabel partisi, dan mencoba untuk menyimpulkan geometri (palsu) apa yang diperlukan untuk kerjasama yang baik dengan sistem lain.

Setiap kali tabel partisi dicetak, pemeriksaan konsistensi dilakukan pada entri tabel partisi. Pemeriksaan ini memverifikasi bahwa titik awal dan akhir fisik dan logis adalah identik, dan bahwa partisi dimulai dan berakhir pada batas silinder (kecuali untuk partisi pertama).

Beberapa versi MS-DOS membuat partisi pertama yang tidak dimulai pada batas silinder, tetapi pada sektor 2 dari silinder pertama. Partisi yang dimulai pada silinder 1 tidak dapat dimulai pada batas silinder, tetapi ini tidak mungkin menyebabkan kesulitan kecuali Anda memiliki OS / 2 pada mesin Anda.

Sinkronisasi () dan BLKRRPART ioctl () (tabel partisi ulang dari disk) dilakukan sebelum keluar ketika tabel partisi telah diperbarui. Dulu itu dulu diperlukan untuk reboot setelah penggunaan fdisk. Saya tidak berpikir ini terjadi lagi - memang, reboot terlalu cepat dapat menyebabkan hilangnya data yang belum ditulis. Perhatikan bahwa kernel dan perangkat keras disk dapat menyangga data.

Dos 6.x Peringatan

Perintah DOS 6.x FORMAT mencari beberapa informasi di sektor pertama dari area data partisi, dan memperlakukan informasi ini sebagai lebih dapat diandalkan daripada informasi dalam tabel partisi. DOS FORMAT mengharapkan DOS FDISK untuk menghapus 512 byte pertama dari area data dari sebuah partisi setiap kali terjadi perubahan ukuran. DOS FORMAT akan melihat informasi tambahan ini bahkan jika flag / U diberikan - kami menganggap ini sebagai bug di DOS FORMAT dan DOS FDISK.

Intinya adalah jika Anda menggunakan cfdisk atau fdisk untuk mengubah ukuran entri tabel partisi DOS, maka Anda juga harus menggunakan dd ke nol 512 byte pertama dari partisi itu sebelum menggunakan DOS FORMAT untuk memformat partisi. Sebagai contoh, jika Anda menggunakan cfdisk untuk membuat entri tabel partisi DOS untuk / dev / hda1, maka (setelah keluar dari fdisk atau cfdisk dan reboot Linux sehingga informasi tabel partisi valid), Anda akan menggunakan perintah "dd if = / dev / nol = / dev / hda1 bs = 512 count = 1 "ke nol 512 byte pertama dari partisi.

JADILAH HATI-HATI jika Anda menggunakan perintah dd , karena salah ketik kecil dapat membuat semua data pada disk Anda tidak berguna.

Untuk hasil terbaik, Anda harus selalu menggunakan program tabel partisi khusus OS. Sebagai contoh, Anda harus membuat partisi DOS dengan program DOS FDISK dan partisi Linux dengan program fdisk Linux atau cfdisk Linux.

Pilihan

-b sectorsize

Tentukan ukuran sektor disk. Nilai yang valid adalah 512, 1024, atau 2048. (Kernel terbaru tahu ukuran sektor. Gunakan ini hanya pada kernel lama atau untuk mengganti ide kernel.)

-C cyls

Tentukan jumlah silinder dari disk. Saya tidak tahu mengapa orang ingin melakukannya.

-H kepala

Tentukan jumlah kepala disk. (Bukan nomor fisik, tentu saja, tetapi nomor yang digunakan untuk tabel partisi.) Nilai yang masuk akal adalah 255 dan 16.

-Sektek

Tentukan jumlah sektor per track dari disk. (Bukan nomor fisik, tentu saja, tetapi nomor yang digunakan untuk tabel partisi.) Nilai yang wajar adalah 63.

-l

Buat daftar tabel partisi untuk perangkat yang ditentukan dan kemudian keluar. Jika tidak ada perangkat yang diberikan, yang disebutkan dalam / proc / partisi (jika yang ada) digunakan.

-u

Ketika daftar tabel partisi, berikan ukuran dalam sektor bukan silinder.

partisi -s

Ukuran partisi (dalam blok) dicetak pada output standar.

-v

Cetak nomor versi program fdisk dan keluar.