Debian

掛載未知文件系統類型 - Debian

  • June 25, 2019

live USB上使用Debian 9.9,並嘗試從 de hdd 掛載一個分區

mount -t ext4 /dev/sda1 /mnt

我明白了

mount: unknown filesystem type 'ext4'

嗯,ext4 , ext3 , ext2類型不在/proc/filesystem

我已經安裝了e2fslibse2fsprogs

  1. 看看你的核心配置。如果ext4是作為模組建構的,那麼它應該輸出CONFIG_EXT4_FS=m和幾行:
$ grep 'CONFIG_EXT4_FS' /boot/config-$(uname -r)
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_FS_ENCRYPTION=y
  1. 檢查模組是否存在於您的 initrd 映像中:
$ zcat /boot/initrd.img-$(uname -r) | cpio -t | grep ext4
lib/modules/4.9.0-4-amd64/kernel/fs/ext4
lib/modules/4.9.0-4-amd64/kernel/fs/ext4/ext4.ko
141243 blocks

在我的 Debian Live 9.1(使用 syslinux 和持久性的 USB 引導)上,載入的 initrd 的路徑有點不同。上述文件是 squashfs 映像中的文件。只是為了確保這確實是同一個文件:

$ dmesg | grep initrd
[    0.000000] Command line: BOOT_IMAGE=/live/vmlinuz_4_9.0_4_amd64 initrd=/live/initrd_img_4_9.0_4_amd64 boot=live persistence components
[    0.000000] Kernel command line: BOOT_IMAGE=/live/vmlinuz_4_9.0_4_amd64 initrd=/live/initrd_img_4_9.0_4_amd64 boot=live persistence components
[    0.870136] Freeing initrd memory: 22792K

initrd 的路徑是/live/initrd_img_4_9.0_4_amd64,我的引導文件安裝在/lib/live/mount/persistence/sdb1. 你的路徑可能不同。

兩條路徑合併在一起:

$ zcat /lib/live/mount/persistence/sdb1/live/initrd_img_4_9.0_4_amd64 | cpio -t | grep ext4
lib/modules/4.9.0-4-amd64/kernel/fs/ext4
lib/modules/4.9.0-4-amd64/kernel/fs/ext4/ext4.ko
141243 blocks
$ diff /lib/live/mount/persistence/sdb1/live/initrd_img_4_9.0_4_amd64 /boot/initrd.img-$(uname -r)

確認,兩個文件是一樣的。 3. 然後應該已經載入了模組:

$ lsmod|grep ext4
ext4                  585728  1
crc16                  16384  1 ext4
jbd2                  106496  1 ext4
fscrypto               28672  1 ext4
mbcache                16384  2 ext4
$ cat /proc/filesystems | grep ext4
   ext4

引用自:https://unix.stackexchange.com/questions/526887