-
(보안정책 오류가 났을 때 포함) DEP를 해제하는 방법기타 정보/정보공유 2016. 8. 12. 17:35반응형
프로그램이 실행되지 않는 이유는 정말 여러가지이다.
그 중에 Windows에서 실행되는 프로그램 중에
다른 컴퓨터에서는 되는데 내컴퓨터에서만 되지 않는다던가
이상하게 코딩했을 때 문제가 전혀 없는데 디버깅이 되지 않는 경우
그저 프로그램 실행 오류 메시지가 뜬다면 해결방법으로 한가지 해볼 것이 있다.
그것은 바로 DEP를 해제하는 것이다.
DEP란 데이터실행방지(Data Execution Prevention)라는 보안을 위해 Windows 운영체제에 탑재된 기능인데
이게 매우 신뢰되지 않은 프로그램 등등을 실행하려고 하거나
프로그램 개발할 때 어떤 라이브러리를 참조해서 빌드하려고 하면 빌드가 안 되게하는 주범이 되기도 한다.
DEP가 꼭 필요한지, 해제해도 되는지 구글링해 본 결과
개인 PC 사용자에게 있어서는 불필요하다 볼 수 있었다.
필자 경험상 DEP를 해제한다고 해서 PC가 고장나는 일은 없었다.
그러므로 맘 편히 먹고 DEP를 해제하여 프로그램이 실행되는지 살펴보자.
DEP 해제 방법은
먼저 명령프롬프트를 관리자권한으로 실행한다.
win + R 또는 실행창을 열어서 CMD를 치거나
Windows 7인 경우 시작을 클릭하면 검색공간이 있는데 거기에 CMD를 치거나
Windows 8 또는 Windows 10인 경우 시작버튼(작업표시줄 맨 아래 왼쪽에 윈도우그림)을 우클릭하면 명령프롬프트(관리자) 클릭
그럼 검은 바탕화면의 콘솔창이 뜬다.
여기에 다음과 같이 적고 엔터친 다음에 컴퓨터를 재부팅해주면 된다.
bcdedit /set {current} nx alwaysoff
만약 이 DEP를 해제했는데 다시 설정하고 싶다면 역시나 cmd창을 관리자 권한으로 실행하고
bcdedit /set {current} nx alwayson
해주면 된다.
여기서 잠깐!!
보안정책에 의해 어쩌구 하면서 오류가 발생하여 DEP 해제가 안 될 수도 있다.
그렇다면 어떻게 해야 할까.
방법은 BIOS에서 보안을 풀어주면 된다.
Windows 10에서 BIOS 진입방법은 이 글을 참고
컴퓨터의 메인보드마다 바이오스 들어가는 방법이 조금씩 다른데
대부분은 F2를 계속해서 눌러주면 된다.
(내가 사용하는 노트북 씽크패드 레노버는 Fn을 눌러준 상태에서 해야 됐던 걸로 기억한다.)
BIOS에 진입하였으면
Security 또는 Boot에
Secure Boot가 Enabled로 되어있는데 Disabled로 바꿔준다.
그리고 부트모드는 UEFI 를 선택
그리고 Esc 눌러서
Exit Saving Changes > Yes 해준다.
컴퓨터가 다시 켜지면 명령프롬프트를 관리자 권한으로 실행하여
bcdedit /set {current} nx alwaysoff
명령어를 입력하면 된다.
참고로 소문자대문자는 전혀 상관이 없다.
반응형'기타 정보 > 정보공유' 카테고리의 다른 글
Excel 매칭되는 값을 찾을 때 사용하는 함수 VLOOKUP 사용법 (0) 2016.08.23 80040154 클래스가 등록되지 않았습니다. 해결방법 (0) 2016.08.19 Windows 10에서 BIOS 진입하는 방법 (0) 2016.08.17 로또 복권에 당첨되는 꿈, 대박꿈 총정리 (0) 2016.08.07 [비주얼 스튜디오 오류] 이 파일에 디자인할 수 있는 클래스가 없으므로 디자이너에서 이 파일을 표시할 수 없습니다. 디자이너에서 검사한 파일의 클래스는 다음과 같습니다. (0) 2016.07.21