ライブUSBでDebian 9.9を使用し、dehddからパーティションをマウントしてみます
mount -t ext4 /dev/sda1 /mnt
私は得る
mount: unknown filesystem type 'ext4'
さて、ext4、ext、ext2タイプは/proc/filesystem
にありません
e2fslibs
とe2fsprogs
をインストールしました。
カーネル構成を見てください。 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
モジュールが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
私のDebianLive 9.1(syslinuxとpersistenceを備えた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)
確認済み、両方のファイルは同じです。
次に、モジュールがロードされているはずです。
$ 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