Apakah boleh untuk mkfs tanpa nomor partisi?

10

Saya punya pen drive dan satu partisi:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

dan saya telah diformat dengan perintah:

   # mkfs.fat -n A /dev/sdb

dan itu bekerja dengan baik.

Tapi setelah itu, saya membaca halaman manual untuk mkfs:

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

Dikatakan mkfsharus bekerja dengan nomor partisi. Dan masalah saya adalah mengapa operasi saya bekerja tanpa prompt kesalahan?

Alaneuler
sumber
1
tidak ada masalah menggunakan seluruh perangkat, bukannya satu partisi. ini akan lebih masuk akal jika Anda ingin 3,5 G gemuk dan 4G ext3 / luckfs / apa pun, maka Anda harus berpisah dan memformat setiap bagian.
Archemar
1
Jika Anda meletakkannya di perangkat yang mengharapkan tabel partisi ada, mungkin meminta Anda untuk memformat ... biasanya lebih baik untuk memiliki tabel partisi bahkan jika itu tidak diperlukan.
frostschutz
1
Halaman manual mengatakan perangkat biasanya berupa partisi hard disk . Seluruh hard disk juga merupakan perangkat blok yang cocok.
Toby Speight

Jawaban:

10

Membuat sistem file pada seluruh disk daripada partisi dimungkinkan, tetapi tidak biasa. Dokumentasi hanya menyebutkan partisi secara eksplisit karena itulah kasus yang paling umum ( biasanya dikatakan demikian ). Anda dapat membuat sistem file pada apa pun yang bertindak cukup seperti file ukuran tetap, yaitu sesuatu di mana jika Anda menulis data di lokasi tertentu dan membaca kembali dari lokasi yang sama maka Anda mendapatkan kembali data yang sama. Ini termasuk seluruh disk, partisi disk, dan jenis perangkat blok lainnya , serta file biasa (gambar disk).

Setelah melakukannya mkfs.fat -n A /dev/sdb, Anda tidak lagi memiliki partisi pada disk itu. Berhati-hatilah bahwa kernel masih berpikir bahwa disk memiliki partisi, karena itu membuat tabel partisi di-cache dalam memori. Tetapi Anda tidak boleh mencoba menggunakannya /dev/sdb1lagi, karena sudah tidak ada lagi; menulisnya akan merusak sistem file yang Anda buat /dev/sdbkarena /dev/sdb1merupakan bagian dari /dev/sdb(semuanya kecuali beberapa ratus byte di awal). Jalankan perintah partprobesebagai root untuk memberi tahu kernel agar membaca kembali tabel partisi.

Meskipun membuat sistem file pada seluruh disk dimungkinkan, saya tidak merekomendasikannya. Beberapa sistem operasi mungkin memiliki masalah dengan itu (saya pikir Windows akan mengatasinya tetapi beberapa perangkat seperti kamera mungkin tidak), dan Anda kehilangan kemungkinan membuat partisi lain. Lihat juga Keunggulan sistem file tanpa partisi

Gilles 'SANGAT berhenti menjadi jahat'
sumber
8

Biasanya baik-baik saja untuk meletakkan filesystem di seluruh perangkat, daripada mempartisi dan memformat partisi, jika Anda tidak bermaksud memiliki lebih dari satu filesystem di perangkat Anda. Anda harus konsisten; karena Anda memakai sistem file sdadaripada sda1, Anda harus me sda- mount juga, karena sda1tidak akan ada sama sekali.

Perangkat dalam pertanyaan Anda tampaknya merupakan drive yang dapat dilepas berformat FAT: jika akan digunakan dengan perangkat yang disematkan yang mungkin memiliki gagasan yang lebih atau kurang rinci tentang bagaimana sistem file dapat dipasang, mungkin perlu dilakukan pengujian yang dilakukan di kenyataannya mendukung sistem file seluruh perangkat tanpa tabel partisi. (Misalnya, kamera cenderung membuat satu partisi dan memformatnya; sangat mungkin bahwa mereka akan mendeklarasikan kartu memori tanpa partisi yang tidak dapat digunakan.)

Dhag
sumber