Linux가 물리적 하드 디스크에 * 어떤 * 자동 읽기를 시도하지 않도록하려면 어떻게해야합니까?

나노 패러 드

파티션 테이블이나 수퍼 블록에 불행히도 복구 할 수없는 섹터가있는 하드 디스크가있어 LBA에 액세스 할 때 디스크 펌웨어가 잠 깁니다. 저는 물리적으로 불량 섹터에서 멀리 떨어진 데이터를 복구하는 데 관심이 있습니다. /dev/sdX제가 실행하는 도구로 읽는 것과 일치하지 않는 한, Linux에 드라이브로 아무것도하지 않도록 지시 할 수 있다면 할 수있는 좋은 기회라고 생각 합니다. 명시 적으로 sg_read_long, sg_write_long그리고 ddrescue.

현재 내 Linux 설치 (Ubuntu)는 파티션 테이블을 읽고 자동으로 마운트하려고합니다. 컴퓨터가 부팅 된 후 드라이브가 USB로 연결될 때 이런 일이 발생하는 것을 원하지 않습니다. mtab, Nautilus 등과 같은 모든 사용자 모드 항목 외에도 드라이브에 대한 모든 자동 읽기를 중지하기 위해 설정해야하는 커널 구성 옵션이 있습니까?

서리 방지

과다한 자동화 (systemd, udev et al.)를 수행하는 전체 사용자 영역을 제거해야하므로 busybox 및 ddrescue (또는 필요한 다른 도구)만으로 최소한의 initramfs를 빌드해야합니다. 이 가이드를 참조 용으로 사용할 수 있습니다 : https://wiki.gentoo.org/wiki/Custom_Initramfs

그 외에도 파티션 테이블을 지원하지 않는 사용자 지정 커널을 컴파일해야합니다. 그렇지 않으면 커널 자체가 자체적으로 자동으로 읽기를 시도합니다.

사람들은 물론 파티션이 나타나기를 원하기 때문에 일반적으로 모든 커널이 yes로 설정되어 있기 때문에 이것은 비정상적인 구성입니다.

CONFIG_MSDOS_PARTITION=y # for old school dos/mbr partitions
CONFIG_EFI_PARTITION=y   # for new GPT/UEFI partitions
# but there are many others like:
CONFIG_AIX_PARTITION=y
CONFIG_MAC_PARTITION=y
CONFIG_SOLARIS_X86_PARTITION=y

커널에 의한 HDD 읽기를 제거하려면이 모든 것을 비활성화해야합니다. 어떤 종류의 파티션 테이블도 지원하지 않는 커널을 만드십시오.

그런 다음에도 드라이브를 핫 플러그하기 전에 사용자 정의 커널 + initramfs를 먼저 부팅해야합니다. 그렇지 않으면 BIOS가 이미 장치에서 부팅 파티션을 검색합니다. 비활성화 할 수는 있지만 직접 제어 할 수는 없습니다.

회복에 행운을 빕니다.


드라이브에 대한 모든 자동 읽기를 중지하기 위해 설정해야하는 커널 구성 옵션이 있습니까?

커널 매개 변수를 사용하면이 작업을 훨씬 쉽게 수행 할 수 있지만 잘 모릅니다. 기껏해야 장치를 완전히 블랙리스트에 추가하여 사라지게 할 수 있습니다. 그냥 제거하고 싶은 내장 된 내장 장치에 유용 할 수 있지만 그 이후로는 아무것도 복구 할 수 없습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관