부팅 문제 해결
root 패스워드 복구
1. root 패스워드 임의 설정
# echo “2 njksehlwjhiw” | passwd --stdin root
2.재부팅 후 부트로더의 동작(GRUB) 중 잠시 정지시키고 카운트 멈춤
3.부팅 항목 중 하나를 선택 후 ‘e’ 눌러서 편집
4.명령어 편집기에서 linux16으로 시작하는 항목 맨 끝에 rd.break 추가 => 부팅 단계에서 멈춤
5.부팅이 완료되었으나, 사용중인 리눅스 시스템이 정상적으로 로드되지는 않은 상태(파일시스템)
6. 파일 시스템은 현재 /sysroot에 마운트 되어 있으며, 수정하기 위하여 읽기/쓰기 가능하도록 마운트 설정을 변경하여야 함
# mount -o rw, remount /sysroot
7. 패스워드 변경을 하기 위해 chroot 명령을 사용
# chroot /sysroot
8. 패스워드 변경
# passwd
9.SELinux 콘텍스트 규칙에 맞게 콘텍스트를 수정하기 위해 다음 명령을 수행
# touch /. autorelabel
리눅스 시스템 부팅 과정
- 시스템 전원 인가
- BIOS/EFI 동작
- POST(Power On Self Test) 수행
- MBR/GPT 정보를 확인하여 부팅 가능 파티션 정보 확인
- 부팅 가능 파티션의 VBR(Volume Boot Record)를 참고하여 부팅 단계 시작
- 부트로더(리눅스 GRUB, GRand Unified Bootloader)
- 시스템 Kernel 로드
- systemd 로드 (initramfs 파일 시스템 마운트) <= rd.break
- pivoting (/sysroot, /)
- local-fs.target
- sysinit.target
- basic.target
- default.target
타깃 변경
- 현재 시스템의 상태(=런레벨)를 변경
systemctl isolate <타깃 이름>
- 재부팅 시 초기 상태를 지정 ( = /etc/inittab init 기반 시스템)
systemctl set-default <타깃 이름>
=> default.target에 원하는 타깃의 파일이 링크로 생성됨
- 재부팅 시 초기 타겟 확인
systemctl get-default
===============================================
/etc/fstab 파일 오류로 인한 부팅 문제 해결
/etc/fstab 파일 오류 시 기본 동작
- 마운트 하려는 파일시스템이 손상 : systemd가 fsck를 시도 => 긴급 쉘(emergency.target), 사용자가 직접 fsck 명령을 사용하여 해결
- 마운트하려는 장치의 UUID 정보가 없을 경우 : 긴급 쉘로 이동
- 마운트하려는 마운트 포인트가 없음 : systemd가 해당 경로를 생성할 수 있을 경우 자동으로 생성하고 진행, 생성할 수 없을 경우 긴급 쉘 전환
- 마운트 설정에서 잘못된 마운트 옵션 : 긴급 쉘로 전환
부팅 시 실행할 타깃 지정
- 부트로더 단계에서 부팅 명령 수정 (‘e’)
- linux16 항목 맨 끝에 systemd.unit=emergency.target
- 시스템이 즉시 해당 모드로 부팅됨
/etc/fstab 파일 오류 수정
- 시스템 부팅 오류 확인 (화면상 출력되는 부팅 메시지 확인)
- 자동으로 긴급 쉘로 들어가거나, 사용자가 직접 긴급 쉘로 전환
긴급 쉘 진입 설정은 위 항목 확인
- mount 정보 확인
- 자동으로 긴급 쉘로 들어갈 경우, / 경로가 rw 상태로 마운트
- 사용자가 긴급 쉘로 지정한 경우, / 경로가 ro 상태로 마운트
- / 경로가 ro 마운트 상태일 경우 rw로 다시 마운트
# mount -o rw, remount /
- /etc/fstab 파일의 오류 수정
- mount -a 명령을 사용하여 오류 수정 확인
- 재부팅
=============================================
조기 디버그 쉘
- # systemctl enable debug-shell.service
- 인증절차가 없는 콘솔을 제공
- Ctrl + Alt + F9
- root로 로그인되어 있음
- 보안 상 설정하지 않는 것을 권장
*이 포스팅은 엔코아 플레이 데이터 수업 내용을 참고로 합니다.
'IT > Linux' 카테고리의 다른 글
네트워크 관리(기초,NetworkManger,호스트이름) (0) | 2021.04.08 |
---|---|
NTP (0) | 2021.04.07 |
SELinux (0) | 2021.04.05 |
방화벽관리(firewalld) (0) | 2021.04.03 |
로그관리(rsyslog,journal) (0) | 2021.04.01 |
댓글