저는 FreeBSD8을 사용하고 있습니다. 파티션에 문제가 있습니다. 마운트할 수 없습니다. "작업이 허용되지 않습니다."라고 뜹니다.
난 달린다 fsck -t ufs /dev/da0p1
. 작업이 끝나면 성공적으로 마운트할 수 있습니다. 하지만 현재 파티션에는 데이터가 없습니다.데이터가 있는지 없는지 모르겠습니다.
Q: 마운트 해제된 파티션에서 fsck를 실행하세요. 데이터 손실이 발생할 수 있나요? 그렇다면 복구할 수 있는 방법이 있나요?
편집: 나는 단지 fsck -t ufs /dev/da0p1
. -y 또는 -n이 아니고 실행되었을 때 Phase1,2,3,4 등을 인쇄하고 성공적으로 완료했습니다. 도중에 프롬프트가 없습니다.
답변1
그것은 당신이 "예"라고 대답한 것에 달려 있습니다. 파일 시스템에 대해 더 많이 알지 못하고 파일 시스템에 무엇이 있었고 fsck'ing 중에 표시되고 요청된 내용이 없으면 유용하게 대답하기가 매우 어려울 것입니다.
간단히 대답하자면 '예'입니다. 데이터를 제거할 수 있습니다. Lost+found에서 찾은 항목을 해당 드라이브에 넣지 않으려고 매우 열심히 노력하지만 분명히 손상된 파일 시스템에서 복구 중입니다. 즉, FS 손상을 처리할 때 모든 것이 손실될 수 있습니다.
답변2
기술적으로 fsck는 파일 시스템을 설명하는 데이터 구조인 파일 시스템의 메타데이터 문제를 식별하고 해결하려고 시도하며 대부분 파일, 디렉터리, 권한/보안 개체 및 파일 데이터에 대한 포인터로 구성됩니다. 실제로 데이터 자체로는 많은 작업을 수행하지 않으며 단지 이동용으로만 존재합니다. Michael이 그의 답변에서 언급했듯이...fsck가 메타데이터에 적용하는 변경 사항은 실행된 옵션과 도중에 프롬프트에 어떻게 응답했는지에 따라 달라집니다.
운이 좋다면 데이터가 분실+발견 상태에 거의 그대로 남아 있습니다. 그러나 대부분의 경우 무엇인가가 loss+found로 끝나면 파일이 손상되었거나 적어도 일부 메타데이터에서 분리된 것입니다. 따라서 파일은 자신이 속한 디렉토리나 파일 이름을 알지 못할 수 있습니다. 이 경우 파일의 inode 번호만 됩니다. 이것으로 다시 조립하는 것이 불가능하지는 않지만 많은 노력과 시간, 행운이 필요합니다.