Wikipedia에서는 콜드 리스타트와 핫 리스타트를 구별합니다..
그렇다면 Linux에서 명령을 사용할 때 핫 재시작과 콜드 재시작 중에서 선택하는 방법은 무엇입니까 reboot
?
편집: Wikipedia에서는 Linux의 세 번째 재부팅 모드를 언급합니다. 그렇다면 이 세 가지 모드 중에서 어떻게 선택해야 할까요?
답변1
x86에는 더 많은 재부팅 유형이 있으며 Linux에서는 다음 명령을 사용하여 재부팅 유형 중에서 선택할 수 있습니다.커널 reboot
명령줄 매개변수아니면 /sys/kernel/reboot/mode
그리고 /sys/kernel/reboot/type
. 콜드 재시작과 웜 재시작(Wikipedia에서 정의됨)이 각각 선택 reboot=cold
됩니다 . 다른 유형에는 ACPI, EFI 및 삼중 오류가 포함됩니다.reboot=warm
kexec
다시 시작은 을 실행하여 호출할 수 있습니다 systemctl kexec
.
답변2
그렇다면 Linux에서 재부팅 명령을 사용할 때 핫 재시작과 콜드 재시작 중에서 선택하는 방법은 무엇입니까?
당신이 원하는 방식이 아닙니다. 웜 재부팅을 수행 중이며 수행하려고 합니다.
귀하의 PC에서 일어나는 일을 설명하고 IBM PC를 언급하는 모든 기사는현재로서는 기술적으로 부정확할 수 있습니다..
이 경우에는 그렇습니다. IBM PC에서 일어난 일은 현재 일어나고 있는 일과 거의 관련이 없습니다(IBM PC는 42년 전입니다). 컴퓨터는 적어도 거의 30년 전 ATX가 등장한 이후 지속적으로 펌웨어를 실행해 왔습니다. 따라서 기본적으로 관련된 구성 요소의 내용을 무시하십시오.
컴퓨터의 펌웨어(BIOS는 이를 구현하는 소프트웨어가 아니라 실제로는 쓸모 없는 API이며 많은 펌웨어는 더 이상 BIOS를 에뮬레이션하지 않으므로 기사의 표현이 매우 부정확합니다.)강의"전원 끄기"에서 부팅하든 소프트웨어를 통해 다시 시작하든 몇 가지 자체 테스트를 수행하세요.
그러니 위키피디아 기사를 무시하세요. 다양한 방법을 보실 수 있습니다시작하다x86에서 재부팅리눅스 소스 코드에서;이 방법은 실제로 펌웨어가 다른 작업을 수행하도록 강제하지 않는다는 점에 유의하세요!
Linux가 재부팅하라는 지시를 받으면 PC에서는 모든 서비스가 중지되고, 파일 시스템이 마운트 해제되고, 하드웨어가 최대한 초기화 해제된 다음 ACPI를 통해 마더보드의 펌웨어에 부팅해야 한다는 지시가 전달됩니다.
그 후 수행되는 작업은 전적으로 펌웨어에 따라 다릅니다. 그러나 정상적인 시작에서 작동하는 방식과 아무런 차이가 없습니다. 종종 시간이 많이 걸리는 메모리 검사도 건너뛰지 않습니다!
소위 "세 번째 방법"은 kexec
실제로 다릅니다. 그러나 자신이 하고 있는 일을 실제로 알지 않는 한 일반적으로 해당 접근 방식을 "선택"할 수 없습니다. 이는 일반적으로 다단계 시작 프로세스에서 수행됩니다.
kexec
새 커널 이미지가 RAM에 복사되고 레지스터와 필요한 하드웨어가 설정된 다음 새 커널의 진입점으로 점프합니다. 이는 부트로더(GRUB) 또는 펌웨어의 UEFI 구현이 수행하는 작업입니다 . 하다.