Ketahui Command Linux - fdisk

Nama

fdisk - Pemisah jadual partition untuk Linux

Sinopsis

fdisk [-u] [-b sectorize ] [-C cyls ] [-H kepala ] [-S sects ] peranti

fdisk -l [-u] [ device ... ]

fdisk -s partition ...

fdisk -v

Penerangan

Cakera keras boleh dibahagikan kepada satu atau lebih cakera logik yang disebut partition . Bahagian ini diterangkan dalam jadual partition yang terdapat dalam sektor 0 cakera.

Dalam dunia BSD, satu ceramah mengenai 'irisan cakera' dan 'disklabel'.

Linux memerlukan sekurang-kurangnya satu partition, iaitu untuk sistem fail akarnya. Ia boleh menggunakan fail swap dan / atau sekat swap, tetapi yang lebih berkesan. Jadi, biasanya seseorang akan mahu partition Linux kedua didedikasikan sebagai partition swap. Pada perkakasan yang kompatibel Intel, BIOS yang memboloskan sistem selalunya hanya boleh mengakses 1024 silinder pertama cakera. Atas sebab ini, orang yang mempunyai cakera besar sering membuat partition ketiga, hanya beberapa MB yang besar, biasanya dipasang pada / boot , untuk menyimpan imej kernel dan beberapa fail tambahan diperlukan pada masa boot, untuk memastikan bahawa perkara ini adalah boleh diakses oleh BIOS. Mungkin ada sebab keselamatan, kemudahan pentadbiran dan sandaran, atau pengujian, untuk menggunakan lebih daripada sekurang-kurangnya jumlah partition.

Menyelesaikan isu cetakan, menjimatkan masa dengan perisian pengurusan antrian cetak.

fdisk (dalam bentuk pertama penyertaan) adalah program yang dipacu menu untuk penciptaan dan manipulasi jadual partition. Ia memahami jadual partition DOS jenis dan disklabel jenis BSD atau SUN.

Peranti biasanya salah satu daripada yang berikut:

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

(/ dev / hd [ah] untuk cakera IDE, / dev / sd [ap] untuk cakera SCSI, / dev / ed [ad] untuk cakera ESDI, / dev / xd [ab] untuk cakera XT). Nama peranti merujuk kepada keseluruhan cakera.

Partition adalah nama peranti diikuti dengan nombor partisi. Sebagai contoh, / dev / hda1 adalah partition pertama pada cakera keras IDE yang pertama dalam sistem. Disk boleh mempunyai sehingga 15 partisyen. Lihat juga /usr/src/linux/Documentation/devices.txt .

Disklabel jenis BSD / SUN dapat menerangkan 8 partisyen, yang ketiga harus menjadi partisi `keseluruhan disk '. Jangan memulakan partition yang sebenarnya menggunakan sektor pertama (seperti partition swap) di silinder 0, kerana itu akan memusnahkan disklabel.

Sebuah disklabel jenis IRIX / SGI dapat menggambarkan 16 partition, kesebelas yang seharusnya menjadi keseluruhan partition 'volume', sedangkan kesembilan harus diberi label 'header volume'. Pengepala volum juga akan menutup jadual partition, iaitu bermula pada blok sifar dan memanjang secara lalai lebih dari lima silinder. Ruang yang tinggal di header volum boleh digunakan oleh entri direktori header. Tiada partition boleh bertindih dengan pengepala volum. Juga jangan ubah jenisnya dan buat beberapa sistem fail di atasnya, kerana anda akan kehilangan jadual partition. Gunakan label jenis ini hanya apabila bekerja dengan Linux pada mesin IRIX / SGI atau cakera IRIX / SGI di bawah Linux.

Jadual partition jenis DOS boleh menggambarkan bilangan partition tanpa had. Dalam sektor 0 ada ruang untuk penerangan 4 partition (dipanggil `primary '). Salah satu daripada ini boleh menjadi partition dilanjutkan; ini adalah kotak yang memegang partisi logik, dengan deskriptor yang dijumpai dalam senarai berkaitan sektor, masing-masing sebelum partisyen logik yang sepadan. Empat partition utama, hadir atau tidak, dapatkan nombor 1-4. Partisi logik mulai penomoran dari 5.

Dalam jadual partition jenis DOS, permulaan offset dan saiz setiap partition disimpan dalam dua cara: sebagai bilangan sektor mutlak (diberikan dalam 32 bit) dan sebagai triple Silinder / Ketua / Sektor (diberikan dalam 10 + 8 + 6 bit). Bekas OK - dengan 512-byte sektor ini akan berfungsi sehingga 2 TB. Yang kedua mempunyai dua masalah yang berbeza. Pertama sekali, bidang C / H / S ini boleh diisi hanya apabila bilangan kepala dan bilangan sektor bagi satu trek diketahui. Kedua, walaupun kita tahu apa angka-angka ini, 24 bit yang tersedia tidak cukup. DOS menggunakan C / H / S sahaja, Windows menggunakan kedua-duanya, Linux tidak pernah menggunakan C / H / S.

Jika boleh, fdisk akan memperoleh geometri cakera secara automatik. Ini tidak semestinya geometri cakera fizikal (sesungguhnya, cakera moden tidak mempunyai apa-apa seperti geometri fizikal, pastinya bukan sesuatu yang boleh diterangkan dalam bentuk Silinder / Kepala / Sektor yang mudah), tetapi adalah geometri cakera yang menggunakan MS-DOS untuk jadual partition.

Biasanya semua berjalan lancar dengan lalai, dan tidak ada masalah jika Linux adalah satu-satunya sistem pada cakera. Walau bagaimanapun, jika cakera perlu dikongsi dengan sistem pengendalian yang lain, sering kali idea yang baik untuk membiarkan fdisk dari sistem operasi lain membuat sekurang-kurangnya satu partition. Apabila boot Linux ia melihat jadual partition, dan cuba untuk menyimpulkan apa (palsu) geometri diperlukan untuk kerjasama yang baik dengan sistem lain.

Apabila jadual partition dicetak, pemeriksaan konsisten dilakukan pada penyertaan jadual partition. Pemeriksaan ini mengesahkan bahawa titik permulaan dan akhir fizikal dan logik adalah sama, dan partisyen bermula dan berakhir pada sempadan silinder (kecuali partisyen pertama).

Beberapa versi MS-DOS mencipta partition pertama yang tidak bermula pada sempadan silinder, tetapi pada sektor 2 silinder pertama. Pemisahan yang bermula di silinder 1 tidak boleh bermula pada sempadan silinder, tetapi ini tidak mungkin menyebabkan kesulitan kecuali anda mempunyai OS / 2 pada mesin anda.

Penyegerakan () dan BLKRRPART ioctl () (jadual partition semula dari cakera) dilakukan sebelum keluar apabila jadual partition telah dikemas kini. Dahulu dahulu ia perlu dilakukan untuk reboot selepas penggunaan fdisk. Saya tidak fikir perkara ini lagi - sememangnya, reboot terlalu cepat mungkin menyebabkan kehilangan data yang belum ditulis. Ambil perhatian bahawa kedua-dua kernel dan perkakasan cakera mungkin menjejaskan data.

Dos 6.x Amaran

Perintah FOROS FORMAT DOS 6.x mencari beberapa maklumat dalam sektor pertama bidang data partisi, dan merawat maklumat ini sebagai lebih dipercayai daripada maklumat dalam jadual partition. DOS FORMAT mengharapkan DOS FDISK untuk membersihkan 512 bait pertama bagi kawasan data sekatan apabila perubahan saiz berlaku. DOS FORMAT akan melihat maklumat tambahan ini walaupun bendera / U diberikan - kami menganggap ini sebagai bug dalam DOS FORMAT dan DOS FDISK.

Intinya ialah jika anda menggunakan cfdisk atau fdisk untuk menukar saiz entri partition DOS, maka anda juga harus menggunakan dd untuk sifar 512 bait partisi sebelum menggunakan DOS FORMAT untuk memformat partisi. Sebagai contoh, jika anda menggunakan cfdisk untuk membuat entri jadual partition DOS untuk / dev / hda1, maka (setelah keluar dari fdisk atau cfdisk dan reboot Linux supaya maklumat tabel partisi sah), anda akan menggunakan perintah "dd if = / dev / sifar = / dev / hda1 bs = 512 count = 1 "ke sifar 512 bait pertama partisi.

BERHATI-HATILAH jika anda menggunakan perintah dd , kerana kesilapan yang kecil boleh membuat semua data pada cakera anda tidak berguna.

Untuk hasil terbaik, anda harus selalu menggunakan program jadual partition khusus OS. Contohnya, anda perlu membuat partition DOS dengan program DOS FDISK dan partition Linux dengan program fdisk Linux atau Linux cfdisk.

Pilihan

-buat sektoral

Tentukan saiz sektor cakera. Nilai yang sah adalah 512, 1024, atau 2048. (Kilang baru-baru ini tahu saiz sektor. Gunakan hanya pada kernel lama atau untuk menimpa idea-idea kernel.)

-C silo

Tentukan bilangan silinder cakera. Saya tidak tahu mengapa sesiapa yang mahu berbuat demikian.

-H kepala

Tentukan bilangan kepala cakera. (Bukan nombor fizikal, sudah tentu, tetapi nombor yang digunakan untuk jadual partition.) Nilai yang berpatutan adalah 255 dan 16.

-S sects

Tentukan bilangan sektor setiap trek cakera. (Bukan nombor fizikal, sudah tentu, tetapi nombor yang digunakan untuk jadual partition.) Nilai yang munasabah ialah 63.

-l

Senaraikan jadual partition untuk peranti tertentu dan kemudian keluar. Jika tiada peranti diberikan, yang disebut dalam / proc / partition (jika ada) digunakan.

-u

Apabila menyenaraikan jadual partition, berikan saiz dalam sektor dan bukannya silinder.

-s partition

Saiz partition (dalam blok) dicetak pada output standard.

-v

Cetak nombor versi program fdisk dan keluar.