파티션 테이블 강제 다시 읽기: BLKRRPART와 BLKPG ioctl의 차이점은 무엇입니까? (리눅스)

파티션 테이블 강제 다시 읽기: BLKRRPART와 BLKPG ioctl의 차이점은 무엇입니까? (리눅스)

Linux가 재부팅하지 않고 새로 생성된 파티션을 고려하도록 하려면 커널 "파티션 캐시"를 강제로 플러시하는 데 사용할 수 있는 몇 가지 도구가 있습니다.

  • partx -va /dev/sdX
  • kpartx -va /dev/sdX
  • hdparm -z /dev/sdX
  • blockdev --rereadpt /dev/sdX
  • sfdisk -R /dev/sdX(더 이상 사용되지 않음)
  • partprobe /dev/sdX
  • ...

이러한 기술의 차이점은 잘 모르겠지만, ioctllike BLKRRPART또는 와 같은 동일한 기술을 사용하지 않는 것 같습니다 BLKPG. 그래서,이들사이의 차이점은 무엇인가요 ioctl?

답변1


BLKRRPART커널에게 파티션 테이블을 다시 읽도록 지시합니다.man 4 sd

필요에 따라 파티션을 생성, 추가, 삭제할 수 있습니다 BLKPG(물론 디스크가 아닌 커널에서). 개별 파티션의 오프셋과 크기를 커널에 알려야 합니다. 이는 파티션 테이블을 미리 구문 분석해야 함을 의미합니다. 바라보다리눅스 커널:/include/uapi/linux/blkpg.h

개인적으로 사용하고 있어요partprobe(이별의 일부), 아마도 커널에서 지원하지 않는 파티션 테이블을 지원하기 위해 후자의 접근 방식을 사용합니다.

관련 정보