web-dev-qa-db-ja.com

不明なファイルシステムタイプをマウントする-Debian

ライブUSBDebian 9.9を使用し、dehddからパーティションをマウントしてみます

mount -t ext4 /dev/sda1 /mnt

私は得る

mount: unknown filesystem type 'ext4'

さて、ext4extext2タイプは/proc/filesystemにありません

e2fslibse2fsprogsをインストールしました。

1
  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
    


  2. モジュールが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)
    

    確認済み、両方のファイルは同じです。


  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
    
3
Freddy