▣ Kali Linux(칼리리눅스) 설치 된 구형 노트북 간헐적 부팅 오류 해결 과정-By Chat GPT
리눅스 공부를 위해서 구형 노트북(2005년식)에 SSD를 장착하고 RAM은 4GB로 맞춘 후 칼리리눅스를 설치했습니다.
● 발생 증상 질문-질문을 어떻게 하느냐에 따라서 chatGPT는 답변이 달라짐으로 질문을 자세히 해 보았습니다.
노트북에 칼리리눅스(Kali Linux)를 설치해서 사용 하고 있는데, 원격 CLI 프로그램인 Putty 로 리눅스 종료명령어(=shutdown , init 0 )를 내려서 칼리리눅스를 종료하면, 다음에 노트북 전원을 켜면 화면에 Operation System NOT Found 라고 뜨면서 리눅스가 바로 부팅이 안되고, BIOS화면으로 들어가서 F9눌러서 Default 값으로 설정을 불러와서 F10 눌러서 저장하고 나가면, 리눅스가 정상적으로 부팅이 됩니다. 또한 그냥 노트북의 전원버튼을 눌러서 전원을 끄고 다음에 전원을 켰을 때는 리눅스가 정상적으로 바로 부팅이 됩니다. 이러한 문제가 발생되는 경우 어떻게 점검을 해야하는지..단계별로 차근차근 자세한 설명을 부탁합니다.
● 위 증상을 해결하는 방법을 chat GPT에게 물어보았습니다.
1년전에도 컴퓨터 관련 장애처리나 문제해결에 대한 문의를 해 보았는데...그 당시에는 정확하지 않은 답을 많이 보여줬었는데...
2025년5월인 지금은 훨씬 더 향상된 답변을 제공하고 있었습니다.
그 전과는 다르게 chat GPT도 학습이 되어서 그런지, 인터넷에 떠도는 잘 못된 정보와 정확한 정보를 취합해서 어느정도 학습을 거쳐서 문제해결력이 높은 답을 보여주고 있다는 생각이 듭니다.
아래는 chat GPT가 알려준 조치방법입니다.
● 아래 내용은 Chat GPT의 답변 입니다.
이 문제는 Kali Linux 종료 후 부팅 순서 정보(boot configuration)가 손상되거나 일시적으로 BIOS 설정에 영향을 주는 현상으로 보입니다. 특히 원격 종료 시와 전원 버튼을 눌러 종료할 때 차이가 있다는 점에서, 종료 처리 방식과 BIOS/UEFI 설정의 상호작용에 문제가 있을 수 있습니다.
다음은 이 문제를 해결하기 위한 단계별 점검 및 조치 가이드입니다.
✅ 1단계: 기본 현상 요약
- Kali Linux를 PuTTY로 원격 접속 후 shutdown 또는 init 0 실행 → 재부팅 시 "Operating System Not Found" 오류.
- BIOS에서 F9로 Default 설정 → 저장(F10) → 정상 부팅됨.
- 전원 버튼을 눌러 종료했을 때는 정상적으로 부팅됨.
이 문제는 종료 이후 BIOS 설정 또는 부트로더 인식 문제로 요약됩니다.
✅ 2단계: 부팅 순서 점검 (BIOS)
- 노트북 전원을 켜고 BIOS 또는 UEFI 설정으로 진입합니다 (일반적으로 F2, Del, Esc).
- 다음 항목들을 점검합니다:
- Boot Order (부팅 순서): Kali Linux가 설치된 디스크가 최우선 순위에 있는지 확인.
- UEFI / Legacy Boot 설정:
- Kali Linux는 대부분 UEFI로 설치됨.
- BIOS에서 UEFI 모드가 활성화되어 있는지 확인.
- Secure Boot: Kali는 Secure Boot를 지원하지 않거나 충돌이 발생할 수 있으므로, 꺼두는 것을 권장.
- 저장 후 재부팅해봅니다.
🔧 주의: 원격 종료 후 BIOS 설정이 일시적으로 꼬일 수 있는 경우, CMOS 배터리 이상이나 EFI 파티션 손상도 의심해볼 수 있습니다.
✅ 3단계: 종료 명령의 차이점 분석
종료 방식 결과
shutdown, init 0 (PuTTY) | 다음 부팅 시 BIOS 초기화 필요 |
전원 버튼 | 정상적으로 부팅됨 |
이 차이는 정상적인 ACPI 종료 처리 여부와 관련이 있습니다.
점검사항:
- shutdown -h now 대신 다음을 사용해 보세요:
systemctl poweroff
또는
shutdown -P now
💡 init 0이나 shutdown 명령어가 일부 시스템에서는 ACPI 전원 신호를 제대로 전달하지 않아 BIOS 상태가 꼬일 수 있습니다.
✅ 4단계: EFI 파티션 및 부트로더 점검
- Kali에서 다음 명령어로 EFI 파티션이 제대로 마운트되어 있는지 확인:
lsblk
/boot/efi가 vfat 포맷으로 마운트되어 있어야 합니다.
- EFI 부트 항목 점검:
efibootmgr
예상 출력:
BootCurrent: 0001
BootOrder: 0001,0002,...
Boot0001* kali
⚠️ BootOrder에 Kali가 없거나 바뀌는 경우, 원격 종료 후 부트 항목이 유실되는 문제일 수 있습니다.
✅ 5단계: 부트로더 복구 (필요 시)
만약 EFI 항목이 손상되거나 없어진다면:
sudo grub-install
sudo update-grub
또는 EFI 항목 복구:
sudo efibootmgr --create --disk /dev/sdX --part Y --label "Kali" --loader "\EFI\kali\grubx64.efi"
- /dev/sdX: 디스크 식별자 (예: /dev/sda)
- Y: EFI 파티션 번호 (예: 1)
✅ 6단계: CMOS/BIOS 설정 저장 불량 확인
일부 노트북에서는 BIOS 설정이 전원 차단 또는 특이한 종료 시 저장되지 않을 수 있습니다.
점검 방법:
- BIOS에 진입 후 설정을 일부러 변경 → 저장 후 종료 → 설정이 유지되는지 확인
- 유지되지 않으면 CMOS 배터리 교체 고려
✅ 요약
점검 단계 조치
BIOS 점검 | 부팅 순서, UEFI 설정, Secure Boot 끄기 |
종료 방식 | systemctl poweroff, shutdown -P now 권장 |
EFI 점검 | efibootmgr로 부트 항목 확인 및 재설정 |
GRUB 복구 | 필요 시 grub-install, update-grub 또는 efibootmgr 사용 |
CMOS 점검 | BIOS 설정 저장 여부 확인, 문제 시 CMOS 배터리 교체 고려 |
필요하시면 EFI 파티션 구조, GRUB 설정 파일 내용 (/etc/default/grub), efibootmgr 출력 등을 보여주시면 더 구체적인 분석도 도와드릴 수 있습니다.
● Google Ai에게도 비슷한 질문을 해 보았습니다.
● Ai가 많이 발전한 것 같습니다.
이 방법대로 오늘 퇴근하고 확인해 봐야 겠습니다.
가능성이 있어 보이는 답변을 주고 있어서 신뢰가 가네요.
✅ 확인결과
BIOS에서 부팅 장치 순서에서 칼라리눅스가 설치 된 디스크를 1순위로 변경 한 후 문제의 증상은 없어졌습니다.
윈도우 부팅의 경우 DVD-ROM이 1순위로 되어있고, 윈도우 설치 디스크가 2순위로 되어있더라도, DVD-ROM에서 부팅 정보를 찾을 수 없으면 자동으로 2순위로 넘어가서 부팅정보를 찾게 되어있는데...
리눅스의 경우는 그게 잘 안되는 가 봅니다. ㅠㅠ
● 아래 내용은 추가 질문 한 내용입니다.
종료 명령어에 대한 차이점을 이해하는 데 도움이 될 것 같습니다.
*질문 :
칼리리눅스 shutdown poweroff 차이에 대해서 자세히 설명해 주고, root 권한이 없어도 shutdown 명령어가 사용자 권한을 가진 계정에서도 실행되는 이유와 조치방법에 대해서 자세히 알려줘
*ChatGPT 답변
칼리 리눅스에서 shutdown과 poweroff 명령어는 모두 시스템을 종료하는 데 사용되지만, 내부 동작 방식과 권한 처리에서 차이가 있습니다. 또한 일반 사용자 계정에서 shutdown 명령이 작동하는 이유와 그 보안적 조치 방법도 함께 설명드리겠습니다.
🔹 1. shutdown vs poweroff 명령어 차이
항목 shutdown poweroff
기능 | 시스템 종료 예약, 즉시 종료, 재부팅 가능 (-h, -r, 시간 지정 등) | 시스템을 즉시 종료하고 전원을 끔 |
유연성 | shutdown -h now, shutdown -r now, shutdown +10 등 다양한 옵션 제공 | 옵션이 제한적. 단순 전원 종료 목적 |
내부 동작 | systemd 또는 init을 통해 poweroff/halt/reboot를 호출 | systemctl poweroff 또는 halt -p와 동일 동작 |
로그 메시지 출력 | 시스템 사용자에게 메시지를 보내고 delay 가능 | 메시지 없이 즉시 종료 |
관리 권한 요구 | 기본적으로 root 권한 필요 (예외 있음, 아래 참조) | root 권한 필요 |
✅ 보통 shutdown은 더 정교하게 제어 가능한 도구이고, poweroff는 단순히 전원 종료만 하는 명령입니다.
🔹 2. 일반 사용자 계정에서 shutdown 명령이 실행되는 이유
기본적으로 shutdown 명령은 root 또는 관리자 권한이 필요한 명령입니다. 하지만 Kali Linux는 보안 테스트용으로 일반 배포판과 설정이 다를 수 있으며, 다음과 같은 이유로 일반 사용자 계정에서도 shutdown이 실행될 수 있습니다:
📌 가능한 이유들
- sudo 권한이 부여되어 있음
/etc/sudoers 또는 /etc/sudoers.d/ 파일에서 해당 사용자에게 shutdown 권한이 부여됐을 수 있습니다. - # 예시 (sudoers 파일에 존재할 수 있음) username ALL=(ALL) NOPASSWD: /sbin/shutdown
- /sbin/shutdown 명령어에 setuid 설정이 되어 있음
shutdown 바이너리에 setuid 비트가 설정되면 일반 사용자도 root 권한으로 실행 가능해집니다. - ls -l /sbin/shutdown # -rwsr-xr-x 라면 setuid 설정됨 (s 표시)
- PolicyKit (polkit) 정책 허용
modern Linux는 systemd와 polkit을 이용하여 shutdown/reboot 권한을 제어합니다. polkit 정책에 따라 일반 사용자에게도 권한이 부여될 수 있습니다.
🔹 3. 조치 방법 (보안 강화)
일반 사용자 계정이 shutdown을 실행할 수 없도록 제한하려면 다음 방법들을 순차적으로 적용하세요.
✅ 1) shutdown setuid 제거
sudo chmod u-s /sbin/shutdown
이 명령으로 shutdown 명령어는 더 이상 root 권한으로 실행되지 않음.
✅ 2) sudoers 설정 확인 및 수정
sudo visudo
- 해당 사용자에게 shutdown 권한이 부여되어 있다면 삭제:
# 아래 줄을 제거 또는 주석 처리
username ALL=(ALL) NOPASSWD: /sbin/shutdown
✅ 3) polkit 정책 수정 (systemd 기반 시스템)
방법:
- 정책 파일 생성:
sudo nano /etc/polkit-1/localauthority/50-local.d/disable-shutdown.pkla
- 다음 내용 입력:
[Disable Shutdown for Non-Admins]
Identity=unix-user:*
Action=org.freedesktop.login1.power-off
ResultActive=no
- 저장 후 재부팅하거나 polkit 서비스 재시작:
sudo systemctl restart polkit
이 설정은 일반 사용자가 GUI나 터미널에서 종료 버튼 또는 명령어로 종료할 수 없도록 제한합니다.
🔹 4. 확인 및 테스트
- 일반 사용자로 로그인한 후:
shutdown now
- 다음과 같은 메시지가 나오면 조치 성공:
shutdown: Need to be root
또는:
Authorization is required to shutdown the system.
🔚 요약
항목 내용
shutdown | 예약/메시지/재부팅 포함 가능한 종료 명령 |
poweroff | 즉시 전원 종료 |
사용자 계정에서 실행되는 이유 | sudo 권한, setuid, polkit 정책 때문 |
조치 방법 | setuid 제거, sudoers 수정, polkit 제한 설정 |
'정보보안' 카테고리의 다른 글
📚 TTL(Time To Live)란? - By Chat GPT (0) | 2025.04.29 |
---|---|
🚚 Windows에서 사용하는 PowerShell 명령어 정리- By Chat GPT (0) | 2025.04.24 |
📖 MS OS ( DOS, Windows)에서 사용되는 내부명령어에 대해서 정리 - Chat GPT (0) | 2025.04.24 |
📖 리눅스 내부 명령어- Shell Builtin 명령어 정리 ( By chat GPT) (0) | 2025.04.24 |
🧠리눅스에서 커널(Kernel)과 운영체제(OS)의 역할- Chat GPT (0) | 2025.04.23 |