지속적으로 읽기 전용으로 마운트되는 USB 스틱(약 2개월 전)이 있습니다. 약간의 연구와 테스트 끝에 나는 발견했습니다.블록 장치장치 자체( /dev/sdc
)와 파티션 중 하나( /dev/sdcX
)에는 항상 읽기 전용 플래그( cat /sys/block/sdc/ro
및 cat /sys/block/sdcX/ro
1)가 있습니다.
설치 옵션에 대해 말하는 것이 아닙니다! hdparm -r0 /dev/sdcX
USB 스틱을 삽입하고 재부팅할 때마다 파티션을 읽기-쓰기로 마운트하고 쓸 수 있으려면 플래그를 수동으로 0으로 설정해야 했습니다 (예, 쓰기가 작동했습니다). USB 스틱에는 읽기 전용 하드웨어 스위치가 없습니다. 파티션을 포맷하고, 파티션 테이블을 다시 생성하고, dd if=/dev/zero of=/dev/sdc
이전 파티션 테이블이 완전히 삭제되었는지도 확인했지만 아무 것도 변경되지 않았습니다.
노트:그러나 다른 장치에는 기본적으로 이 읽기 전용 플래그가 설정되어 있지 않습니다.
그렇다면 Linux 커널은 기본적으로 블록 장치에 대한 읽기 전용 플래그를 설정할지 여부를 어떻게 결정합니까? 초기 시작부터 이 동작을 어떻게 영구적으로 변경할 수 있습니까? (실제로 이 USB 스틱에서 Raspberry Pi를 부팅하지만 다른 커널을 사용하는 노트북에서도 읽기 전용 동작이 동일합니다...)?