외장 하드 드라이브를 마운트할 수 없어서 지금은 좀 히스테리 상태입니다. 약 한 달 전에 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)을 실행하는 시스템입니다.~해야 한다이는 기계가 호환성을 배제하지 않는다는 것을 의미합니다). 어쨌든 중요한 것은 문제가 해결되었다는 것이다.