두 개의 서로 다른 Linux 설치가 있다고 가정해 보겠습니다.ㅏ그리고두번째, 모두 동일한 스왑 파티션을 사용합니다.
내가 이해하는 한, 달리는 중ㅏ또는두번째주어진 시간에 그 중 하나만 사용하기 때문에 스왑 문제가 발생하지 않습니다. 그러나 내가 실행하면ㅏ, 최대 절전 모드 후 시작두번째, 교환이 사용되고 있습니다둘 다(ㅏ수동적 형태이지만 데이터는 거기에 있습니다).
문제는 시스템이 최대 절전 모드 후에도 살아남을 수 있느냐는 것입니다. 그렇지 않으면 메모리가 손상될 수 있습니까?ㅏ복구할 수 없어서 정상적으로 시작됩니까?
참고: 저의 주요 공연은 하드 드라이브에서 사용 가능한 스왑 파티션을 감지하고 사용하는 라이브 시스템입니다. 최대 절전 모드 시스템이 중단됩니까?
답변1
문제는 최대 절전 모드 시스템이 여전히 살아남을 수 있느냐는 것입니다.
시스템 B가 스왑 공간을 사용한다면(아마 그럴 것이라고 생각하겠지만) 시스템 A가 최대 절전 모드에서 성공적으로 재부팅할 수 있을지 의문이고, 만약 그렇게 한다면 그 결과는 재앙이 될 수 있습니다.
그렇지 않으면 메모리가 손상되거나 A를 복구할 수 없게 됩니까?
커널 문서에는 다음이 포함되어 있습니다.
* BIG FAT WARNING *********************************************************
*
* If you touch anything on disk between suspend and resume...
* ...kiss your data goodbye.
나는 이것이 실제 파일 시스템에 적용된다고 가정합니다 [src]/Documentation/power/swsusp.txt
. 왜냐하면 다음과 같이 명시되어 있기 때문입니다.
복구 프로세스에서는 복구 장치가 있는지 확인하고, 발견된 경우 최대 절전 모드 이미지 서명의 내용을 확인합니다. 둘 다 발견되면 최대 절전 모드 이미지가 다시 시작됩니다.
그래서,가설서명은 교환 장치의 시작 부분에 있으며,가설일반적인 스왑 사용은 장치 시작 부분에서도 시작됩니다. 그런 다음 일반적인 스왑 사용은 "최대 절전 모드 이미지 서명"을 파괴하고 시스템 A가 부팅할 때 해당 서명을 찾지 못하고 최대 절전 모드에서 재개되지 않고 새로 시작됩니다.
그러나 이러한 가정은 합리적으로 보이지만 시스템을 구현하는 사람들의 헌신 없이는 그것이 완전히 합리적이라고 말할 수는 없습니다. 제 조언은 그렇게 하면 아마도 심각한 도박을 하는 것입니다.
noresume
그런데, 최대 절전 모드를 사용하고 있고 아직 부트로더 메뉴에 해당 옵션이 없다면, 최대 절전 모드에서 다시 시작하는 것을 건너뛰도록 선택할 수 있도록 커널 라인에 해당 옵션을 포함시키는 것이 좋습니다 . 내가 아는 한, 불행하게도 스왑 사용을 비활성화하는 커널 라인 매개변수는 없습니다. 예를 들어 시스템 A가 최대 절전 모드로 스왑을 사용한다는 것을 알고 있는 경우 시스템 B에 대해 그렇습니다.
답변2
첫 번째 시스템은 메모리를 스왑에 저장하므로 동일한 스왑을 사용하는 두 번째 시스템을 부팅하려고 하면 두 가지 중 하나가 발생합니다. 두 번째 시스템은 첫 번째 시스템의 첫 번째 데이터를 사용하도록 되돌리려고 시도합니다. 충돌이 발생하고 화상을 입게 됩니다. 그렇지 않으면 첫 번째 시스템의 메모리가 지워져 복구할 수 없게 됩니다.
일반적으로 운영 체제가 최대 절전 모드인 동안에는 다른 운영 체제로 부팅하지 마십시오. 두 번째 운영 체제가 첫 번째 운영 체제가 마운트한 것과 동일한 파티션을 마운트하려고 하면 파일 시스템이 손상됩니다. 두 번째 운영 체제는 첫 번째 운영 체제가 여전히 캐시한 데이터가 무엇인지 알 수 없기 때문입니다. 시스템은 최대 절전 모드 동안 두 번째 운영 체제가 변경된 내용을 알고 있습니다.