내 커널 (CentOS 5.5의 2.6.18-194-el5)이 드라이브의 파티션에 대해 알 수있는 scsi 버스 (또는 그 문제에 대한 다른 버스)를 새로 고칠 수있는 방법을 찾고 있었고 방법을 찾지 못했습니다. partprobe가 즉시 해냈습니다. 어떻게?
중요하기 때문에 여기에 내가 한 일이 있습니다.
크기 조정, MBR 백업 및 복원 등과 같은 파티션 별 작업에 대한 실습을 원했습니다. / dev / sdb에 20GB 파티션을 생성하고 MBR을 백업했습니다.
dd if = / dev / sdb of = sdb.mbr bs = 512 count = 1
그런 다음 fdisk로 이동하여 파티션을 삭제하고 작성하고 종료했습니다.
ls / dev / sdb *
파티션이 없다는 것을 보여주었습니다.
fdisk -l / dev / sdb '
일치, 그래서 내가 좋았다고 생각했다.
그런 다음 dd를 뒤집 었습니다.
dd if = sdb.mbr of = / dev / sdb bs = 512 count = 1
물론 나는 그 시점에서 아무 것도하지 않았다.
ls / dev / sdb *
파티션을 나열하지 않았지만
fdisk -l
디스크에서 처음 512 바이트를 읽고 커널에 의존하지 않기 때문에 아마도 파티션을 보여주었습니다. 버스를 새로 고쳐야한다는 것을 알았으므로 / sys / class / scsi_host / host1에 들어가서
에코 "---"> 스캔
하고
ls / dev / sdb
새로운 것을 보여주지 않아서 / sys / bus / scsi / devices에 갔고 나열된 각 장치에 대해
에코 1> 재검색
그리고 그것은 작동하지 않았다.
나는 그 문제에 대해 더 많은 연구를했고, 'partprobe'를 발견했다. 나는 그것을 실행했고 즉시 작동했습니다.
여기서 대답을 얻지 못하면 아마도 소스를 가져 와서 찾을 것입니다. 그러나 저를 넘어 마법사가 있다고 생각합니다.