Saya sedang mencari cara untuk me-refresh bus scsi (atau bus lain, dalam hal ini) yang memungkinkan kernel saya (2.6.18-194-el5 pada CentOS 5.5) untuk mengetahui tentang partisi pada drive, dan saya tidak bisa dapat menemukan jalan. partprobe melakukannya secara instan. Bagaimana?
Karena ini penting, inilah yang saya lakukan:
Saya ingin mendapatkan latihan dalam hal-hal khusus partisi seperti mengubah ukuran, membuat cadangan MBR dan memulihkannya, dan sebagainya. Saya telah membuat partisi 20GB di / dev / sdb, mendukung MBR:
dd jika = / dev / sdb = sdb.mbr bs = 512 count = 1
kemudian saya pergi ke fdisk, menghapus partisi, menulisnya, dan keluar.
ls / dev / sdb *
menunjukkan bahwa tidak ada partisi, dan
fdisk -l / dev / sdb '
cocok, jadi saya pikir saya baik.
Saya kemudian membalikkan dd:
dd if = sdb.mbr dari = / dev / sdb bs = 512 count = 1
Tentu saja, saya tidak melakukan apa-apa pada saat itu, jadi
ls / dev / sdb *
tidak mencantumkan partisi apa pun, tetapi
fdisk -l
menunjukkan partisi tersebut, mungkin karena ia membaca 512 byte pertama pada disk dan tidak bergantung pada kernel. Saya tahu bahwa saya harus menyegarkan bus, jadi saya masuk ke / sys / class / scsi_host / host1, dan melakukan
gema "- - -"> pindai
dan melakukan
ls / dev / sdb
tidak menunjukkan sesuatu yang baru, jadi saya pergi ke / sys / bus / scsi / devices dan untuk masing-masing perangkat yang terdaftar, saya lakukan
gema 1> pindai ulang
dan itu tidak berhasil.
Saya kemudian melakukan penelitian lebih lanjut tentang masalah ini, dan menemukan 'partprobe', yang datang dengan berpisah. Saya menjalankannya, dan itu berhasil seketika.
Jika saya tidak mendapatkan jawaban yang mungkin di sini, saya mungkin akan mencari sumbernya dan mencarinya, tetapi saya pikir ada penyihir di sini di luar saya, jadi saya pikir saya akan menarik bagi Anda semua.