카테고리 글 보관함: 윈도우 10

윈도우11 0x80004002 에러로 업데이트 불가 문제 해결

마소 스토어 앱에서 앱 업데이트가 안되길래 알아보니 윈도우 업데이트도 똑같은 0x80004002 에러로 안되고 있는 상태.

0x80004002 에러

0x80004002 에러로 검색해 보니 온갖 해결 방법이 있는데 제대로 된것 찾기가 힘들었지만 결국 찾아내서 해결했다.

출처 – https://www.reneelab.jp/0x80004002.html (일본어)

관리자 권한으로 CMD 실행
->윈도우키 누른 후에 cmd 검색하고 커맨드 프롬프트 위에서 마우스 오른쪽 클릭해서 관리자 권한으로 실행한다.

커맨드 프롬프트에서 아래 커맨드를 순서대로 입력한다.

ren은 rename으로 해당 폴더를 .old폴더로 바꾸는거니 추후 삭제해도 무방. 다른 문제가 생기면 원래대로 되돌리기 위해 .old를 붙여서 백업하는 것.

계속해서 아래 커맨드를 순서대로 입력한다.

이 커맨드를 실행하는 목적은 SoftwareDistribution, catroot2 폴더를 지우는것인데
그냥 지우면 이 폴더들을 사용하는 서비스들로 인해서 정상적으로 지워지지 않기 때문에 우선 서비스를 정지시키고, 폴더를 삭제(이동) 후, 서비스를 재시작하는 것이다.

이후 윈도우 재시작을 하고 나서 업데이트를 해 보면 잘 된다.
업데이트 중에 0x800706BA 에러가 나오는 경우도 있는데 잠시 시간(5분 10분?)을 두고 재시도하니 업데이트가 잘 된다.

와이어가드 – 특정 사이트만 VPN 적용해서 우회하기

와이어가드(Wireguard)에서 특정 사이트만 VPN으로 우회해서 접속하는 방법.

루리웹이 가끔 해외접속을 차단하긴 했는데 이번엔 아주 제대로 DDOS 공격을 받았는지 오랫동안 해외접속을 차단하고 있다.
평소에도 와이어가드로 한국IP로 접속하긴 했는데 이게 다른 사이트에서 한국IP로 접속하면 이런저런 문제가 또 생겨서 VPN을 껐다켰다하면서 쓰기 귀찮아서 이번에 제대로 대응을 했다.

루리웹IP 찾는 방법은 커맨드창에서 PING 때려보면 간단하게 나오지만, www 서버뿐 아니라 이미지 서버도 별도로 운영하기 때문에 적당히 몇군데 PING 때려본 결과 대충 아래 대역을 사용 중인거 같으니 전부 넣었다.
와이어가드 접속설정에서 아래 AllowedIPs에 루리웹에서 사용하는 IP인 130.24.8.0에 마스크 /24로 130.24.8.0~130.23.8.255까지 전부 넣었다.

타이탄폴2 msvcr120.dll 이 없어서 실행 안되는 문제 해결

윈도우11이라서 에러가나는건가 생각했는데 처음 타이탄폴2를 설치할때 DLL도 같이 설치 되었을텐데 윈도우를 갈아엎고 게임 설치된 폴더를 다운로드로 다시 지정하게 되면 DLL설치는 건너뛰게 되니까 이런 문제가 생긴듯.

해결방법을 찾은 페이지
https://answers.ea.com/t5/Battlefield-1/MSVCP120-dll-MISSING-ERROR/m-p/10700296

Microsoft Visual C++ 2013 Redistributable을 설치해야 msvcr120.dll가 설치 된다.

다운로드 페이지
https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170

vcredist_x64.exe
vcredist_x64.exe를 다운로드, 설치

EA 어플이 거지 같다고 생각하고 복구 반복하고 별거 다 해 봤는데 이걸로 바로 해결…하고 보니 이전에도 같은 짓을 한 기억이 어렴풋이 나네… 그래서 블로그에 적어둠.

추가 – 재인스톨하지 않고 언어변경하는 방법
Titanfall2\Support\mnfst.txt 파일 열어서 언어코드 확인
일본어는 ja_JP

레지스트리 에디터 열어서 아래 부분에 언어코드를 변경 후, EA 어플리에서 타이탄폴2 복구.
HKEY_LOCAL_MACHINE\SOFTWARE\Respawn\Titanfall2\Locale
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Origin Games\1039093\Locale
HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Respawn\Titanfall2\Locale

출처 – https://www.reddit.com/r/titanfall/comments/10p9n05/how_to_change_language_when_using_ea_app_german/

DisplayPort 사용시 윈도우 진입 전까지 모니터 신호가 없는 문제

DP(Display Port) 사용시 컴을 켜면 한동안 모니터가 신호 없음으로 슬립으로 들어가고
윈도우 로그인 화면이 나오면 그때서야 신호를 받아서 모니터가 켜지는 문제가 있다.

나 같은 경우는 윈도우10에서 어떤 업데이트를 한 이후부터 이렇게 됐는데
마침 보드를 교체할 때라 보드 교체 후, 윈도우11로 업그레이드를 하고 그래픽 카드 드라이버도 바꿨는데 여전히 같은 현상이 생겨서 한동안 HDMI로 연결해서 사용.
HDMI는 전혀 문제가 없어서 컴을 켜면 바이오스 로고 화면부터 나오고, 윈도우 로딩화면도 나오고 로그인 화면이 잘 나온다.

이런저런 검색을 해 봐도 문제가 있는 사람은 많아도 해결한 사람이 잘 안보였는데
그래픽카드 드라이버 업데이트, 바이오스 CSM(레가시 부팅) 모드를 켜거나 끄기, 윈도우에 멀티 모니터 설정에서 주모니터로 설정하기 정도가 있었지만, 내 문제는 해결이 안됐다.

그러다 레딧에서 아래 글을 발견. 해결했다.
Cannot access BIOS with displayport

아래 링크에서 디스플레이 포트 펌웨어를 다운 받아서 펌웨어를 업데이트하라는 것이었는데,
펌웨어 업데이트 후 재시작하면 바이오스 화면부터 잘 나오기 시작한다.
https://www.nvidia.com/en-us/drivers/nv-uefi-update-x64/

이 문제가 골때리는게 바이오스 설정 문제인것 같아서 바이오스 설정 화면으로 들어가고 싶어도 화면이 나오지를 않으니 바이오스 설정을 확인할 수도 바꿀 수도 없다.
윈도우에서 UEFI로 들어가는 문제해결 화면으로 진행해도 화면이 꺼져버리니 뭘 할 수가 없어서 더 답답했다.
HDMI로 연결하면 화면이 잘 나오는데, HDMI 연결할 시에는 DP에 연결된건 뽑지 않으면 여전히 DP로 화면신호가 전송 되어서 화면이 안나오는 경우도 있으니 HDMI로 바꿀 경우에는 참고.

생각해보니 몇년전에도 이 문제로 고통받다가 자연스럽게 해결이 되었는데, 이번에 다시 이 현상이 발생한걸로 봐서 윈도우 설정에 따라서 왔다갔다 하는듯하다.
어쨌든 이제 펌웨어 업데이트를 했으니 다시는 안그러겠지…

윈도우 환경에서 vscode github ssh 공개키 방식으로 연결해서 패스워드 입력 생략

윈도우 환경의 VSCode에서 github 리파지토리를 연동해서 사용할때 아이디/패스워드를 생략하기 위해 SSH 공개키/개인키를 이용해서 접속하는 방법을 설명해 보겠다.

발단

VSCode에서 golang 개발을 하고 있는데 노트북과 데스크탑을 왔다갔다하니 소스코드 공유를 위해서 github를 쓰고 있다.
소스코드 공유를 해야되니 개발 도중의 코드도 자주 푸시할 수밖에 없는데 리모트에 뭐할 때마다 아이디/패스워드를 입력하라고 해서 너무 귀찮다.
그래서 알아보니 리파지토리를 HTTPS가 아니라 SSH를 사용해서 공개키/개인키를 사용해서 접속하면 아이디/패스워드 입력을 안해도 된다고 해서 그렇게 설정하니 너무너무 편하다.

SSH로 리파지토리 접속

먼저 기존에 사용하고 있던 공개키/개인키가 있으면 공개키를 github에 등록하고, 개인키는 윈도우의 유저폴더(c:\Users\USER_ID) 디렉토리 아래 .ssh 폴더에 넣으면 된다.
만들어 둔 공개키/개인키가 없으면 다음 순서대로 진행해서 만들자.

공개키/개인키 작성

github를 쓰고 있으면 git은 당연히 설치했을건데 git 설치폴더에 보면 git-bash.exe 파일이 있다. 실행하면 리눅스 커맨드창이 뜬다.
git이 없으면 이 글을 보고 설치하자. 윈도우10 git 설치와 vscode 에서 github 리파지토리에 파일 올리기

리눅스 커맨드창을 띄웠으면 일단 유저 폴더의 .ssh 폴더로 이동한다.

공개키/개인키 작성은 아래 커맨드를 입력하면 된다. -C 옵션 뒤에는 보통 이메일 주소 같은걸 쓰면 되는데, github에서 사용하는 메일주소를 넣자.

그 다음은 엔터 3번만 누르면 된다. 첫번째는 개인키 파일명인데 디폴트로 하기 위해서 엔터, 두번째와 세번째는 공개키/개인키에 패스워드 설정하기인데 그걸 생략하기 위해서 공개키/개인키 방식을 쓰는거니 입력하지 말고 엔터를 눌러 생략하자.

ssh-keygen을 실행한 .ssh 폴더에 id_rsa(개인키 파일)과 id_rsa.pub(공개키 파일)이 만들어진다.

github.com에 공개키를 등록

github에 로그인해서 오른쪽 위에 아이콘을 클릭하면 설정(Settings)이 나온다. 선택해서 설정 화면으로 이동. SSH and GPG keys 메뉴를 클릭하고 마지막으로 New SSH key 버튼을 누른다.

github 설정 ssh

Title은 적당히 아무거나 넣고, Key 부분에 공개키인 id_rsa.pub 파일을 열어서(메모장으로 열면 됨) 내용을 전체 복사한 다음 붙여넣으면 된다.

github 설정 ssh 등록

이걸로 github에 공개키 등록은 끝났다.

VSCode에서 github 리파지토리 SSH로 연동

기존에 사용하던 리파지토리를 지우고 SSH 주소로 다시 등록한다.

github 리파지토리에서 SSH 주소를 복사한다.

Use SSH 링크를 누르면

github ssh 주소

SSH 접속 주소가 나온다. 오른쪽 옆에 아이콘을 눌러서 복사하자.

github ssh address

우선 기존 등록된 git remote add origin 커맨드로 등록한 https 주소를 해제하자.
VSCode에서 로컬 리파지토리 경로에 폴더에서 터미널을 열고, 아래 커맨드를 실행한다. (.git 폴더가 있는 폴더에서 커맨드를 실행하면 된다. 일반 윈도우 커맨드창에서 실행해도 됨)

그리고 아까 복사해 뒀던 SSH 주소로 재등록.

테스트

git fetch 를 실행하면 알려진 호스트로 등록할거냐라는 메시지가 뜨고 yes 를 입력하면 아이디/패스워드 없이 리파지토리에 접속 되는 것을 확인할 수 있다.