Saya tahu bahwa / dev / sda adalah perangkat mentah, dan bahwa / dev / sda1 adalah partisi atau perangkat virtual.
Tapi saya agak bingung mengapa sda # hanya muncul beberapa waktu, atau hanya pada sistem tertentu. Apa yang menyebabkan ini terjadi? Mungkin saat-saat ketika sda # drive tidak muncul adalah ketika tidak dipartisi? Atau mungkin itu tidak sama di seluruh perangkat keras?
Dan mengapa saya bisa memasang keduanya? (Kadang-kadang) Bukankah partisi harus menjadi yang bisa dipasang?
Sumber daya atau warna apa pun yang dapat Anda berikan akan sangat dihargai. Terima kasih sebelumnya.
linux
unix
mount
hard-drive
umpan
sumber
sumber
Jawaban:
Pada sistem modern, perangkat partisi hanya akan muncul jika partisi tersebut benar-benar ada.
Pada disk dengan tabel partisi MBR, nomor partisi 1 hingga 4 sesuai dengan empat slot di tabel partisi, yang disebut partisi "primer". Mereka tidak harus diisi secara berurutan, jadi mungkin saja, misalnya, untuk memiliki sda2 tetapi tidak ada sda1. Partisi nomor 5 dan lebih tinggi sesuai dengan "drive logis" di partisi extended, dan itu selalu diberi nomor secara berurutan, sehingga Anda tidak dapat memiliki sda6 tanpa memiliki sda5 juga.
Pada disk dengan tabel partisi GPT, mungkin ada lebih banyak (biasanya hingga 128) partisi, dan semuanya adalah "primer". Jadi, Anda dapat memiliki disk yang hanya memiliki partisi sda9, misalnya.
Jika disk tidak memiliki tabel partisi, tentu saja tidak ada perangkat partisi.
Sistem yang lebih lama - yang menggunakan statis / dev daripada yang dikelola oleh udev - biasanya akan memiliki node perangkat untuk semua nomor partisi yang mungkin, terlepas dari apakah partisi tersebut benar-benar ada. (Mencoba membuka file perangkat untuk partisi yang tidak ada tentu saja akan gagal.)
Dimungkinkan untuk tidak mempartisi dan meletakkan sistem file langsung pada disk. Ketika Anda memasang perangkat blok, driver filesystem biasanya mencari superblok pada offset yang telah ditentukan dari awal perangkat, dan karena awal partisi bukanlah awal dari disk itu sendiri, superblock untuk filesystem di partisi terletak di tempat yang berbeda pada disk daripada superblock untuk sistem file yang dibuat pada perangkat "seluruh-disk".
Jadi jika disk yang digunakan hanya memiliki sistem file, dan kemudian dipartisi dan sistem file dibuat di sebuah partisi, superblock lama mungkin masih ada, misalnya di celah kecil sebelum awal partisi pertama. Jadi disk tersebut masih memiliki sistem file pada perangkat disk mentah dan pada perangkat partisi, karena yang mana Anda coba untuk me-mount, ketika driver filesystem pergi mencari superblock itu akan menemukan satu.
Sebenarnya tidak aman untuk melakukan mount dan menggunakan kedua sistem file, karena keduanya tumpang tindih pada disk. Yang satu mungkin memiliki data pembukuan yang penting dalam apa yang orang lain pikirkan adalah ruang kosong. Itu sebabnya ide yang baik untuk nol awal perangkat blok, untuk menghapus superblok yang tidak diinginkan, ketika Anda ingin mengubah disk mentah ke yang dipartisi, atau sebaliknya, atau mengubah jenis sistem file yang digunakan pada partisi, dll .
sumber
Sejauh yang saya tahu, ketika kernel mendeteksi perangkat blok baru di bus scsi-like (termasuk. Sata), di samping menambahkan node di
/dev
untuk seluruh disk itu sendiri, misalnya/dev/sda
akan berusaha untuk melihat apakah ada tabel partisi . Jika ada partisi yang dapat dibaca, maka partisi tersebut akan membuat nomor partisi bernomor tergantung pada apakah mereka partisi fisik atau logis (saya percaya partisi logis mulai dari # 5).Jika Anda melihat node disk tetapi tanpa node partisi, ini berarti belum ada partisi yang terdeteksi. Saya tidak mengetahui adanya contoh di mana Anda dapat memasang perangkat fisik, karena itu menyiratkan bahwa ada sistem file yang langsung ditulis ke perangkat fisik tanpa tabel partisi. Bisa jadi dalam hal hanya ada satu paritition,
mount
akan menafsirkanmount /dev/sda
perintah sebagai makna/dev/sda1
, tapi saya belum pernah menguji ini.sumber
/dev/sdc
tetapi tidak yakin apakah saya mengada-ada./ dev / sda - perangkat mentah
/ dev / sda1 - perangkat 'virtual', seperti partisi.
Satu perbedaan yang menarik adalah jika perangkat memiliki partisi (memiliki data MBR atau yang serupa), Anda tidak dapat membaca data MBR dari perangkat virtual mana pun, karena data MBR berada di luar partisi apa pun di perangkat. MBR berada di sektor pertama perangkat (CHS: 0 0 1). Ada praktik yang baik untuk membuat partisi pertama di 1MiB setelah awal perangkat.
Untuk membaca data MBR, Anda harus menggunakan perangkat mentah (/ dev / sda), yaitu:
sumber
Ah, tabel partisi dan nama perangkat. Bersiaplah untuk bingung dengan mereka.
Punya server HP dengan pengontrol RAID Compaq? Tidak / dev / sda, ucapkan halo ke / dev / ccsis.
Punya komputer desktop lama dengan antarmuka IDE lama? Tidak / dev / hda, ucapkan halo ke / dev / hda.
Punya server modern yang mengatakan Anda / dev / sda tetapi setelah instalasi Anda tidak bisa melihatnya? Katakan halo kepada LVM, instalasi OS Anda telah menjadikan / dev / sda sebagai volume fisik LVM, membuat grup volume di dalamnya, dan volume logis di dalamnya.
Jadi ... jika Anda tidak melihat sesuatu seperti / dev / sda1, Anda mungkin memiliki LVM atau serupa yang digunakan, yang telah menciptakan "partisi" sendiri.
Apakah ini menjawab pertanyaanmu?
sumber