이전(이미 복원된) 최대 절전 모드에서 Linux 복원

이전(이미 복원된) 최대 절전 모드에서 Linux 복원

Linux의 스왑 파티션에서 성공적으로 최대 절전 모드로 전환하고 다시 시작했습니다. 내가 아는 한, 그 이후로 아무것도 스왑되지 않았으며 스왑 파티션도 다른 방식으로 수정되지 않았습니다. 이로 인해 이전 상태의 최대 절전 모드 이미지는 수정된 헤더 등을 통해서만 여전히 존재하고 작동한다고 생각됩니다.

그것이 사실이라면,그런 이미지에서 어떻게 다시 시작할 수 있나요?그런 다음 탄젠트 질문은 그러한 일을 시도하는 것이 바람직한지 여부와 이로 인해 깨질 수 있는 사항이 무엇인지입니다.

이 작업을 수행할 수 있는 확실한 가능성은 최대 절전 모드 프로세스를 재현하지만 실제로 이미지를 저장하지 않는 것입니다. 잘못 조작한 후 /sys/power/resume나는 다음에서 이 세그먼트를 발견했습니다.https://www.kernel.org/doc/Documentation/power/swsusp.txt:

The resume process checks for the presence of the resume device,
if found, it then checks the contents for the hibernation image signature.
If both are found, it resumes the hibernation image.

이것으로부터 나는 이 서명이 최대 절전 모드에서 기록되어 장치를 다시 시작해야 하며 나중에 다시 시작되지 않도록 삭제된다는 느낌을 받습니다. 그것이 사실이라 하더라도 나는 커널 코드에서 서명에 대한 정보를 얻을 만큼 숙련되지 않았고 스왑 파티션의 16진수 덤프는 놀랍게도 희박하고 내가 이해할 수 없는 구조로 가득 차 있습니다.

답변1

나는 한때 비슷한 일을 하는 실수를 저질렀습니다.

  1. Windows를 호스트 OS로 실행하고 VirtualBox에서 게스트 OS로 Linux를 실제 설치했습니다(원시 VMDK 매핑 가상 장치를 통해). 저는 매일 문제 없이 이 작업을 수행하며, 며칠에 한 번씩 Windows 상단에서 가상으로 실행되는 동일한 Linux 설치와 실제로 베어 메탈에서 실행되는 Linux 설치 간에 전환합니다.
  2. 어떤 이유로 Windows는 제가 모르는 사이에 최대 절전 모드에 들어갔습니다. 저는 수동으로 수행하거나 허용하지 않았습니다(다음과 같은 잠재적인 문제를 피하기 위해).
  3. 한동안 기계를 사용하지 않아서 이전에 어떤 상태였는지 잊어버렸습니다. 백업을 실행할 때 모든 것이 올바르게 종료되었다고 가정했습니다(VM이 완전히 종료된 다음 호스트 OS가 완전히 종료됨).
  4. 기본적으로 Linux로 바로 부팅했습니다. 이는 본질적으로 심각한 충돌 후 Linux를 재부팅하는 것이므로 모든 것이 어느 정도 괜찮았습니다. 그 당시에는 이전에 어떤 일이 일어났는지 기억조차 나지 않았기 때문에 전혀 특이한 점을 발견하지 못했습니다.
  5. 최대 절전 모드에서 복원되고 있다는 사실을 알지 못한 채 새로 생각하면서 Windows로 재부팅했습니다.
    • 여기에는 실제 Linux SSD에서 실행되는 VM인 메모리로 다시 로드하는 것이 포함되었습니다.

결과? Linux VM이 즉시 충돌했으며Linux의 모든 것이 완전히 망가져 수리나 복구가 불가능할 정도로 절망적이었습니다..

먼저 복구 CD로 부팅하여 ext4 파일 시스템을 복구한 다음 액세스하더라도 수많은 무작위로 손상된 시스템과 사용자 데이터 파일이 포함된 부팅할 수 없는 시스템이 생겨서 어떤 것의 무결성에 대해서도 확신을 가질 수 없게 되었습니다.

거기에서 할 수 있는 유일한 정상적인 일은 Linux를 처음부터 다시 설치하고 백업에서 데이터를 복원하는 것이었습니다.

비슷한 이유로 이전에 저장된 최대 절전 모드 파일로 부팅한 경우 이런 일이 발생할 가능성이 거의 높습니다. (제대로 작동하는 시스템이 어떻게 그렇게 할 수 있는지 잘 모르겠습니다.)

관련 정보