外付けハードドライブをマウントできないので、今はちょっとヒステリー状態です。約1か月前にXFSでフォーマットし、今朝、いくつかのファイル(完全なローカルドライブのスペースを節約するために仮想ハードドライブなど)をそこに移動しましたが、何らかの理由でUSBケーブルが壊れていました。再接続すると、インストールが拒否されます。走ったxfs_repair -L /dev/sdb1
けど役に立たなかった。私は実行してxfs_admin -U generate /dev/sdb1
新しい種類のエラーを見つけました。
xfsスーパーブロックには互換性のない機能があります(0x4)
または同様の条項。ファイルシステムを修復するにはどのような手順を実行する必要がありますか?あるいは、少なくともxfsユーティリティを使用してファイルのリストを取得できる場合は、大きな違いがあります。
答え1
アルキメデスの言葉を引用するには:
ユーレカ!見つけました!
問題はコマンドを呼び出すxfs_admin -U generate /dev/sdXY
ときです。生産するパラメータのため、xfs_adminは非互換ビットを次に切り替えます。存在する、以前のカーネルでファイルシステムを使用できないようにします。説明は下記の引用で確認できます。リアルタイムFM:
xfs_admin(8)
...
-U uuid
Set the UUID of the filesystem to uuid. A sample UUID looks
like this: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". The uuid
may also be nil, which will set the filesystem UUID to the
null UUID. The uuid may also be generate, which will generate
a new UUID for the filesystem. Note that on CRC-enabled
filesystems, this will set an incompatible flag such that
older kernels will not be able to mount the filesystem. To
remove this incompatible flag, use restore, which will restore
the original UUID and remove the incompatible feature flag as
needed.
これを元に戻すには、次のように実行してxfs_admin -U restore /dev/sdXY
パーティションを再マウントできます。奇妙なことに、UUIDを生成するために使用されるシステムは、最新のカーネル(4.2.5-1-ARCH、まあ、最新ではないかもしれませんが、UUID)を実行するシステムです。しなければならないこれは、マシンが互換性を排除しないことを意味します)。とにかく重要なのは問題が解決されたということだ。