리눅스를 사용하다 보면 원인을 제대로 파악하지 못한 채 시스템이 부팅이 되지 않을 경우가 있습니다. 


저 역시 원인을 파악하지 못한 채 시스템이 부팅되지 않을 경우도 있었고 root 비밀번호를 까먹어서 잘쓰던 OS를 다시 깔아야 한 적도 있었습니다.


이렇게 시스템이 부팅이 되지 않을 경우에 특히 root 비밀번호를 분실 했을 때 어떻게 복구를 해야하는지에 대해 알아보려고 합니다. 


일단 부팅화면에서 root 비밀번호를 분실해서 리눅스를 구동시킬 수 없다고 가정합니다. 


다음과 같은 화면이 뜰 것입니다. 



해당화면에서 'e' 버튼을 누르면 수정모드로 진입하는데 



키보드 ↓을 눌러서 밑으로 쭉내려서 다음과 같은 화면을 찾습니다. 


fi 다음 문장 linux16 /boot/vmlinuz-3.1.0 ...시작되는 문장에서 키보드 End키를 눌러 맨 끝 으로 커서를 이동시켜줍니다. 



커서 이동 후 auto 앞까지 


rhgb quiet LANG=ko_KR.UTF-8


을 지워줍니다. 



그리고 다음 문장에 


init=/bin/sh 


를 입력해줍니다.


싱글모드로 부팅하는 방법입니다.



Ctrl-x 로 재구동 시켜주면 부팅이 되면서 창 맨 밑에


sh-4.2# 


으로 쉘이 구동됩니다. 



쉘이 구동되었습니다.



# whoami


로 확인해보면 root로 접속되었음을 확인할 수 있습니다.



이제 root로는 비밀번호를 알아낼 수는 없지만 변경할 수는 있으므로


# passwd


명령으로 비밀번호 재설정을 해줍니다.


하지만 접근권한이 없어서 에러가 나오는데 이런 경우가 생기면 마운트된 / 폴더에 쓰기 권한이 없어서 일 수 있으므로 확인해봅니다. 



# mount 


명령을 입력 후 맨 마지막 줄을 확인해보면 


/dev/sda2 on / type sxfs (ro,relatime,aatr2,inode64,noquota)


라고 읽기 권한만 부여되어 있음을 확인할 수 있으므로 해당 권한을 변경해주면 됩니다. 



# mount -o remount,rw /


로 / 폴더에 쓰기 권한을 주어 재마운트 시킵니다. 



# mount


로 확인해보면 아까 ro 였던 부분이 rw 로 바껴있는 것을 확인할 수 있습니다.



이제 앞전과 동일하게 


# passwd 


로 비밀번호를 변경합니다.


비밀번호 변경 후 해당 쉘에서는 재시작 및 종료 명령어가 입력되지 않으므로 강제로 재시작 해줍니다.



그리고 올바르게 부팅되는 것을 확인할 수 있습니다. 

+ Recent posts