インストール:/mnt/sda2への/dev/sda2のインストールに失敗しました:無効な引数

インストール:/mnt/sda2への/dev/sda2のインストールに失敗しました:無効な引数

私はフォローアップをしています。このチュートリアル。ただし、ステップ9で停止してUSBをマウントできません。

USBをマウントしようとするたびに、次のエラーが発生します。

root@OpenWrt:~# mount /dev/sda2 /mnt/sda2
mount: mounting /dev/sda2 on /mnt/sda2 failed: Invalid argument

USBはうまく接続されているようですが、なぜかsda2(ext4)パーティションをマウントできません。

パーティショニングには問題がないようです。

root@OpenWrt:~# blkid
/dev/mtdblock2: TYPE="squashfs"
/dev/sda1: UUID="e39964e8-1b51-4b1f-b034-0147fa394eea" TYPE="swap"
/dev/sda2: UUID="157cfc0d-f33d-4103-950d-6ae01baa7177" TYPE="ext4"

これは私のdmesg結果です。

root@OpenWrt:~# dmesg | grep sda
[    9.360000] sd 0:0:0:0: [sda] 7987200 512-byte logical blocks: (4.08 GB/3.80 GiB)
[    9.370000] sd 0:0:0:0: [sda] Write Protect is off
[    9.370000] sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
[    9.370000] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    9.400000]  sda: sda1 sda2
[    9.410000] sd 0:0:0:0: [sda] Attached SCSI removable disk
[   41.850000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[   41.870000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[   41.880000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[  270.660000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[  270.670000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[  270.670000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[  585.040000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[  585.050000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[  585.060000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[  586.540000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[  586.550000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[  586.560000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)
[  651.570000] EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
[  651.580000] EXT4-fs (sda2): couldn't mount as ext2 due to feature incompatibilities
[  651.590000] EXT4-fs (sda2): couldn't mount RDWR because of unsupported optional features (400)

これは私のfdisk -l結果です。

WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sda: 4089 MB, 4089446400 bytes
255 heads, 63 sectors/track, 497 cylinders, total 7987200 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1     7987199     3993599+  ee  GPT

ベストアンサー1

エラーメッセージは次の行から来ます<Linux kernel source code>/fs/ext4/super.c

        if (ext4_has_unknown_ext4_ro_compat_features(sb)) {
            ext4_msg(sb, KERN_ERR, "couldn't mount RDWR because of "
                     "unsupported optional features (%x)",
                     (le32_to_cpu(EXT4_SB(sb)->s_es->s_feature_ro_compat) &
                            ~EXT4_FEATURE_RO_COMPAT_SUPP));

エラーメッセージの数字のプレースホルダがあるため、%xエラーメッセージの実際の数字400は16進数で0x400です。関数がEXT4_FEATURE_RO_COMPAT_定数として識別される場合の型です。

これらの定数は以下で定義できます<Linux kernel source code>/fs/ext4/ext4.h

#define EXT4_FEATURE_RO_COMPAT_METADATA_CSUM    0x0400

dir_nlinksourcejediが言及した署名は0x400ではなく0x20です。

#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK        0x0020

したがって、MR3020はオペレーティングシステムがext4メタデータチェックサムを処理できないため、読み取り/書き込みモードでファイルシステムをマウントできません。したがって、USBスティックの作成に使用するLinuxシステムでは、この機能をオフにする必要があります。 USBスティックをシステムに戻し(ext4ファイルシステムをマウントしない)、次の手順を実行します。

tune2fs -O^metadata_csum /dev/sdX2

(XをLinuxシステムのUSBスティックの実際の識別子に置き換えます。)

このコマンドを正常に実行すると、metadata_csumUSBスティックのext4ファイルシステムでこの機能が無効になり、MR3020でこの機能を使用できるようになりました。

おすすめ記事