모듈 vfat가 로드되지 않습니다(나는 확실한 수정을 시도했습니다)

모듈 vfat가 로드되지 않습니다(나는 확실한 수정을 시도했습니다)

vfat 모듈이 부팅 시 로드되지 않고 modprobe vfat오류를 생성하면서 문제를 강제로 시도하려고 합니다.

modprobe: ERROR: could not insert 'vfat': Unknown symbol in module, or unknown parameter (see dmesg)

dmesg 라인으로

[  663.227894] fat: Unknown symbol __bread_gfp (err 0)
[  663.227924] fat: Unknown symbol __getblk_gfp (err 0)

또한 부팅 시 를 실행하라는 두 개의 [FAILED] 메시지가 표시됩니다 systemctl status systemd-modules-load.service. 그렇게 한 결과는 다음과 같습니다.

● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static)
   Active: failed (Result: exit-code) since Fri 2016-02-12 12:55:11 EST; 18min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
 Main PID: 502 (code=exited, status=1/FAILURE)

Feb 12 12:55:11 aleph systemd-modules-load[502]: Failed to insert 'fuse': No such file or directory
Feb 12 12:55:11 aleph systemd[1]: systemd-modules-load.service: main process exited, code=exited, status=1/FAILURE
Feb 12 12:55:11 aleph systemd[1]: Failed to start Load Kernel Modules.
Feb 12 12:55:11 aleph systemd[1]: Unit systemd-modules-load.service entered failed state.

나는 기본적으로 바닐라 Debian Jessie를 실행하고 있으며 내 커널에 대해 아무것도 손으로 조정하지 않았습니다. uname -a보고

Linux aleph 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux

그리고 modinfo fat vfat:

filename:       /lib/modules/3.16.0-4-amd64/kernel/fs/fat/fat.ko
license:        GPL
depends:        
intree:         Y
vermagic:       3.16.0-4-amd64 SMP mod_unload modversions 
filename:       /lib/modules/3.16.0-4-amd64/kernel/fs/fat/vfat.ko
author:         Gordon Chaffee
description:    VFAT filesystem support
license:        GPL
alias:          fs-vfat
depends:        fat
intree:         Y
vermagic:       3.16.0-4-amd64 SMP mod_unload modversions 

오류의 세부 사항에 대해 Google 검색에서 읽은 모든 내용은 여기서 문제가 실행 중인 커널 버전과 kmod에서 선택한 모듈 간의 불일치라는 것을 암시합니다. 이를 위해 나는 제안된 두 가지 확실한 단계를 수행했습니다.https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=808380그리고데비안에서 vfat가 인식되지 않습니다해당 문제를 해결하기 위해 먼저 재부팅을 시도한 다음 apt-get install --reinstall linux-image-3.16.0-4-amd64강제로 다시 설치하고 재부팅했습니다. debsums linux-image-3.16.0-4-amd64또한 현재 커널이 정상이어야 함을 나타냅니다. 그러나 문제는 지속됩니다.

아마도 내 자신의 커널과 모듈을 컴파일하여 이 문제를 해결할 수 있지만, 데비안 바이너리 외부로 나가는 것을 최후의 수단으로 고려하고 싶습니다.

답변1

좋아, 문제는 약간의 주름이 있는 일반적인(즉, 잘못된 커널) 것으로 밝혀졌습니다. 어떤 이유에서인지 그 당시에는 의심할 여지 없이 이해가 되었지만 grub-pc를 데비안 패키지로 설치했지만 LILO(패키지로 설치되지 않음)가 실제 부트로더로 실행되므로 커널은 부팅 시 실제로 로드되는 커널 이미지에 아무런 영향을 주지 않고 즐겁게 업데이트된 grub을 설치(및 재설치 등)합니다. 아직모두 다 아는특정 데비안 커널/모듈 업데이트가 버전 번호를 증가시키지 않아 kmod의 버전 선택이 중단되는 버그(그리고 동일한 버전 번호를 제공했기 lsmod때문에 커널/모듈 불일치가 없다는 인상을 주는데 기여했습니다 ). uname버그는 일반적으로 올바른 커널을 로드하기 위해 재부팅하면 쉽게 수정되지만 부트로더에 여전히 이전 커널이 있는 이 경우는 아닙니다.

답변2

aptitude를 사용하여 linux-headers-*로 시작하는 설치된 패키지와 linux-image*로 시작하는 패키지를 비교하세요.

aptitude search linux-image

그리고

aptitude search linux-headers

실행 중인 커널에 둘 다 설치되어 있는지 확인하세요. uname -a

관련 정보