模組 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=808380debian 不識別 vfat為了解決這個問題:首先,我嘗試重新啟動,然後我曾經apt-get install --reinstall linux-image-3.16.0-4-amd64強制重新安裝並在之後重新啟動。debsums linux-image-3.16.0-4-amd64也顯示我目前的核心應該沒問題。然而,問題仍然存在。

我可能可以透過編譯自己的核心和模組來解決這個問題,但我真的會考慮將 debian 二進位檔案之外作為最後的手段。

答案1

好吧,問題結果是常見的(即錯誤的內核),有一點小問題:由於某種原因,這在我這樣做時無疑是有意義的,我將 grub-pc 安裝為 debian 軟體包,但有LILO(未安裝為套件)作為我的實際開機載入程式運行,因此核心安裝(並重新安裝等)愉快地更新了grub,這對引導時實際載入的核心映像沒有影響。還有一個已知的bug 是特定的 Debian 內核/模組更新沒有增加版本號,從而導致 kmod 的版本選擇關閉(並且讓我覺得我沒有內核/模組不匹配,因為lsmoduname給了我相同的版本號),但是通常,通過重新啟動以載入正確的核心即可輕鬆修復該錯誤,但在本例中則不然,因為引導程式仍然具有舊核心。

答案2

使用 aptitude 比較已安裝的以 linux-headers-* 開頭的軟體包和以 linux-image* 開頭的軟體包。

aptitude search linux-image

aptitude search linux-headers

確保為您正在運行的核心安裝了兩者 uname -a

相關內容