Wireframe

윈도 재설치에 대한 기록

코로나로 인해 본격적으로 재택근무를 시작하게 된 재작년에 8년정도 사용한 아이맥이 맛이갔던 관계로 급히 데스크탑 PC를 따로 주문했다. 당시에는 PC 수요가 많아서 한참 PC가격이 오르고 있던 때라, 원격 데스크톱만 구동이 되면 상관없다고 생각해서 가장 저렴한 견적으로 조립했었다. 이때 256MB 용량의 SATA 방식 SSD를 구매했는데, 이것 저것 설치하고 만들고 하다보니 어느덧 70% 정도 용량을 사용했다. 게다가 습관적으로 이걸 다시 5 : 2 정도의 비율로 드라이브 2개로 나눠서 사용하다보니 C드라이브 용량의 압박이 점점 심해졌다.

하여, SSD 증설을 해야겠다고 마음먹고 케이스를 열어보니 NVMe 방식 SSD를 설치할 수 있는 M.2 슬롯이 하나 있는게 아닌가? SATA 드라이브를 하나 더 다는 것 보다는 NVMe 드라이브를 연결하는 것이 더 빠르다는 이야기가 있으니까 이것은 단순히 새 SATA 드라이브를 하나 더 다는 대신 더 빠른 새 디스크에 윈도를 재설치하라는 계시로 받아들일만 했다.(그리고 지금 설치된 윈도는 윈도10으로 설치해서 윈도11으로 업그레이드를 한 것이라, 깔끔하게 새로 설치하고 싶었다. 물론 기존 OS에서 업그레이드했다고 해서 별 문제가 되지는 않는다. 늘 그렇듯이 이런 결정은 그냥 기분 문제이다.)

사실 PC를 포맷하고 재설치하는 일련의 작업들은 컴퓨터를 사용해온 시간이 오래된 만큼, 어느 정도는 익숙한 일이기는 하다. 그래도 또 최근 몇년간은 맥만 사용하다보니 살짝 헤맨 부분도 있고 당시에 뭔가를 선택하면서도 잘 모르겠지만 일단(?) 진행해서 운좋게 성공한 것들이 좀 있어서, 그런 점들을 확인하고 기록해두고 싶어서 재설치 과정을 정리해둔다.

메모 : SSD를 추가하면서 윈도를 재설치하는 작업으로, SSD를 마이그레이션 하는 작업은 아니다. 하드디스크를 SSD로 마이그레이션 하는 작업은 예전에 사무실 PC에 SSD를 처음 달면서 한 번 해보기는 했는데, 그 때는 그냥 급한대로 프로그램에서 시키는대로만 했던 거라서, 사실 지금 해보라고 하면 또 헤맬 것 같기는 하다.

0 단계 : SSD 설치하기

설치할 SSD를 골라야 한다. SSD 고르는 법.. 뭐 그런 정보도 찾아봤으면 좋았을지 모르겠지만, 어떤 제품을 살지는 크게 고민하지 않았다. 1TB 까지는 필요없을 것 같아서 500GB 정도로 생각했고, 삼성 아니면 하이닉스가 좋다고 해서 그냥 삼성 제품으로 구매했다. 참고로 M.2는 카드를 뉘어서 연결하는 슬롯의 모양인데, 여기에 카드를 꽂은 후 카드의 반대편 끝은 나사로 고정해야 한다. 그런데 나사 구멍까지의 거리가 보드 마다 살짝 다를 수 있다. M.2 카드 모양의 SSD나 그외 주변 기기의 규격에는 2280이나, 22** 하는 식의 숫자가 있는데, 폭이 22mm, 길이가 80mm라는 뜻이다. 보드에 구매하려는 제품의 길이만큼 위치에 나사를 고정할 수 있는 가이드가 있는지 확인해야 한다.

참고로 삼성꺼만 그런지 모르겠는데, 제품 상자 속 그 어디에도 고정용 나사가 없었다. 다행히 메인보드 부속을 보관하고 있었는데, 거기에 나사가 딱 하나 들어있었음;;

M.2 슬롯은 메인보드에서 가로로 누운 형태로 달려 있는데, 여기에 카드를 30~45 사이 각도로 비스듬히 기울여서 꽂은 다음, 카드를 눕히고 반대쪽 끝을 나사로 고정한다. 애초에 SSD 가 기계적으로 움직이는 장치는 아니라 나사는 엄청 세게 조일 필요는 없다.

카드를 설치하고 나서 다시 윈도를 부팅한다. 디스크 관리자를 실행해서, 설치한 SSD가 인식되는지 확인한다. 새 윈도 설치 단계에서 포맷을 할 거라서 여기서 포맷할 필요는 없다. 부팅 디스크 자체를 변경하고 모든 데이터를 날릴 것이기 때문에, 필요하다면 미리 남겨둘 데이터를 백업해 두도록 한다.

1 단계 : 윈도 설치 미디어 만들기

8GB 정도 용량의 USB 메모리가 하나 있다면, 이걸 윈도 설치 미디어로 만들 수 있다. 요즘은 마이크로소프트에서 윈도 설치 미디어 만드는 도구를 배포하고 있기 때문에, USB 메모리를 꽂아두고 해당 프로그램을 실행하면 간단하게 만들 수 있다.

https://www.microsoft.com/ko-KR/software-download/windows11

2단계 : 부팅 순서 변경하기

사실 나는 이 단계를 생략했다. 유선 키보드를 사용해서 부팅시 F11을 열심히 연타 (메인보드 종류에 따라 키는 F11 혹은 F12 등으로 다를 수 있다. 또, 연타로 잘 안된다면 키를 누른채 부팅하는 방법이 있다고 한다)해서 부트 메뉴를 불러내는데 성공했기 때문이다. 대신에 SSD를 꽂은 직후에 BIOS 설정에는 한 번 들어가 보았다.

요즘 메인보드들은 BIOS 설정에서 “Fast Boot” 같은 옵션을 제공한다. 이 옵션을 사용하면 컴퓨터에 전원이 들어올 때 메인보드가 수행하는 몇 가지 체크를 OS에게 위임하고 부트로더를 로딩하는 작업을 최우선으로 처리하도록 하여, 부팅 시간을 단축한다. 그런데 이 옵션을 설정하면 부팅 시점에 BIOS로 진입하는 것이 매우 어려워진다… 그런 경우에는 윈도11에서 설정 > 시스템 > 복구 > 다시 시작으로 들어가면 컴퓨터가 재부팅이 되는데, 정상적인 윈도로 바로 재부팅하는 것이 아니라, 파란 화면이 나오면서 몇 가지 옵션을 선택하게 된다.이 중에서 다시, 문제해결 > 고급옵션 > UEFI 펌웨어 설정을 누른다. 그러면 두근두근 긴장하면서 키를 연타하지 않아도 PC가 재부팅되면서 자동으로 바이오스 설정화면으로 진입할 수 있다. 블루투스로만 연결되는 키보드를 사용하거나 하는 경우에도 유용하게 사용할 수 있다.

펌웨어(BIOS)에서 부팅 순서를 변경하는 옵션은 대충 간단한 영어 단어와, USB메모리의 제조사나 이름 정도만 알고 있으면 (거의 보통 USB어쩌구..라고 표기된다.) 다들 알아서 할 수 있으리라 믿는다. 자신 없다면 자기가 사용하는 메인보드 모델명으로 검색해보면 방법을 소개하는 블로그나 동영상이 있을 것이다.

설정을 변경하면 “Save Change & Exit” 등과 같이 내용을 저장한 후 재시작하여 설정을 적용한다. 성공적으로 적용됐다면 알아서 USB의 설치 미디어로 부팅을 시작할 것이다.

3단계 : 설치전 디스크 포맷

설치 프로그램이 시작되는 첫단계는 여러 개의 점이 원을 이루면서 돌아가는 전형적인 윈도 로딩 이미지가 나오기 때문에, 기존 윈도로 시작하는 것과 구분이 좀 힘들다. (이 때 몇 초 동안 ‘이거 제대로 되고 있는 건가’ 싶은 생각이 들면서 조그 긴장됨) 잠시 기다리면 설치 초기 화면이 나온다. 여기서는 언어나 키보드 레이아웃, 설치하려는 윈도 종류를 선택한다. (윈도 종류는 윈도11 하나 밖에 없다. 프로/홈 버전을 선택하는 부분은 뒤에 다시 나온다.)

윈도를 설치하겠다고 진행하면, 이제 디스크를 선택한다. 기존에 윈도 11이 설치된 디스크는 총 4개의 파티션으로 나뉘어져 있다. C:, D:로 사용하던 두 개의 파티션과 1개의 복구 파티션, 1개의 EFI 파티션이다. EFI 파티션은 대략 100MB 정도의 크기인데, 여기에 메인보드가 사용할 펌웨어의 일부 코드가 들어간다고 보면 된다. 어쨌든 EFI 파티션에 들어가는 정보는 메인보드 당 1개이다. 즉, 만약 1대의 컴퓨터에 여러 디스크를 장착하고 각 디스크마다 윈도11을 설치한다해도, EFI는 그 중 1개의 디스크에만 생긴다.

따라서 한 대의 컴퓨터에 2개의 디스크를 연결해서 윈도를 추가로 설치한다 하더라도, 나중에 그 디스크를 떼어 다른 PC에 가져다 붙이면 부팅이 되지 않는다. (새 컴퓨터에는 EFI 파티션이 없으니까). 우리는 여기서 SATA 방식 SSD 보다 더 빠른 NVMe 방식 SSD로 전체 시스템을 이관할 것이다.따라서, 기존 디스크 (DISK 0, 시스템에 따라 이 번호는 달라질 수 있음)의 모든 파티션을 삭제한다. 만약 다른 파티션의 데이터를 그대로 보존한다 하더라도, 기존 디스크의 EFI 파티션은 삭제해야 새로 설치한 디스크상에 EFI 파티션이 만들어진다. 같은 SATA 규격 디스크 2개를 사용한다면 기존의 EFI 파티션을 유지해도 별 문제는 없다.

그리고 NVMe SSD에 새로운 파티션을 생성한다. 전체 용량을 사용하여 부팅디스크로 사용하기로 한다. 파티션 포맷은 MBR이 아닌 GPT를 써야 한다. 데이터 저장용 디스크로는 MBR을 사용해도 상관없지만, 윈도11은 GPT 형식의 파티션으로만 부팅이 가능하다. EFI 파티션은 따로 미리 생성할 필요는 없다. 새 디스크에 윈도를 설치하겠다고 선택하면, 자동으로 EFI 파티션과 백업용 파티션을 자동으로 만들어준다. 기존에 사용하던 SATA SSD는 윈도 설치가 끝난 후에 파티션을 다시 잡아도 되며, 원한다면 이 곳에서 기존 파티션을 날리고 포맷할 수 있다.

4단계 : 윈도 설치

기본적인 설치 파일은 전부 USB 속에 있기 때문에 앞 단계에서 설치 위치를 선택하고나면 곧바로 설치가 시작된다. 예상 외로 설치 파일 복사는 매우 빠르게 끝났는데, 전체 설치 시간은 제법 오래 걸린다.

파일 설치가 끝나고나면 제품키를 물어본다. 제품키를 어디서 찾아야 하나…를 생각하다가 그 제품키가 윈도10용 제품키라는 생각에 이거 그대로 쓰면 되나? 뭐 별별 생각이 다 들었는데, 일단 제품키는 나중에 등록해야겠다 싶어서 이 과정을 패스했다. 윈도11을 구성하는 파일의 설치가 끝나면, 이번에는 마이크로소프트 계정을 물어본다. 이전에도 MS 계정을 등록해서 시스템에 연결해두었었기 때문에, 이번에도 같은 계정으로 로그인해둔다. 대충 이 시점부터는 USB를 빼도 됐던 것 같다. (사실 설치하는 동안 잊고 있었지만, 재부팅을 몇 번 했던 것 같다.) 그러고나면 오피스 써보지 않을래요? 같은 사람 피곤하게 하는 질문을 몇가지 한 후에 설치가 완료된다.

5단계: 초기 윈도 업데이트

설치가 완료된 직후에 해야할 일은 윈도 업데이트. 설치 미디어를 생성한 직후에 설치하긴 했지만, 기본 설치 패키지에 모든 디바이스 드라이버가 다 들어있지는 않을테니, 윈도 업데이트를 실행해서 필요한 추가 파일을 설치하도록 한다.

EFI란?

앞서 EFI 파티션이라는 게 부팅에 필요하다고 했는데, 이게 뭐하는 것인지 살짝만 알아보자. 우리가 컴퓨터에 전원을 넣고 F2나 Esc를 연타해서 들어가는 설정화면을 흔히 BIOS라고 하는데, 실제로 BIOS를 사용하는 컴퓨터는 요즘 세상에는 더 이상 새로 출시되지 않는다고 봐도 좋다. 우리가 흔히 알고 있던 BIOS는 Basic I/O System의 약자로 OS와 하드웨어 사이의 데이터 입출력을 관리하는 부분을 담당하며, 그러한 설계 중에서 하나의 형식이기도 하다. BIOS는 16비트로 구현되기 때문에 인식할 수 있는 저장 장치의 양이나, 추가적인 주변 기기 인식등에서 여러 한계에 도달했고, 이를 대체하는 규격으로 EFI 라는 것이 제정되었다. 나중에 이를 확장한 UEFI 라는 것이 BIOS를 이어 채용됐다. 실제로 UEFI는 맥OS에 의해 일찌감치 사용되고 있던 규격이고, 이후에 PC에서도 도입되었다.

우리가 접하는요즘 컴퓨터의 ‘BIOS’ 화면은 실제로는 UEFI 설정 화면이다, 단지 기존의 습관이 남아서 메인보드의 세팅 화면을 계속 “바이오스 화면”이라고 부를 뿐이다. (이상하다, 전에도 CMOS 라고 했던 거 같은데…) 어쨌든 EFI / UEFI는 BIOS를의 다음 세대 메인보드 펌웨어라고 생각하면 된다. 윈도 11부터는 UEFI 방식 메인보드에서만 설치가 가능하고 기존 BIOS를 사용하는 하드웨어를 더이상 지원하지 않게 된다.

EFI 파티션은 그럼 뭔가?

기존 BIOS는 펌웨어의 모든 기능은 오롯이 펌웨어 내부에 있었다. 하지만 EFI에서는 별도의 저장장치에 있는 코드를 가져와서 실행할 수 있다. EFI 파티션은 부트로더 등의 여러 기능을 별도의 파티션에 보관하고 펌웨어가 별도의 기능이나 OS 코드의 일부를 직접 사용할 수 있도록 해주는 곳이다. 즉 메인보드 펌웨어가 사용해야 할 바이너리 및 데이터를 위해서 마련되는 공간이며, 따라서 UEFI 방식 메인보드를 사용하는 컴퓨터에서는 반드시 필요할 뿐만 아니라, 여러 개의 윈도를 동시에 설치하더라도 하나만 있으면 된다. 그리고 앞서 말했듯이 메인보드에서 사용하기 때문에, 디스크를 떼어 다른 PC에 붙였을 때 정상적으로 작동하라리는 보장을 할 수 없다.

GPT? MBR?

GPT와 MBR은 디스크 파티션의 종류이다. MBR은 “마스터 부트 레코드”의 약자로, 전통적인 디스크 파티션 형식이다. MBR 방식의 파티션은 지원하는 용량에 2TB라는 한계가 있다. 아마도 발표 시점에는 ‘하하하하 2TB면 만화에나 나오는 용량 아님?’ 했겠지만, 그것이 실제로 일어났습니다… GPT는 MBR의 한계를 극복하는 새로운 파티션 형식이다. ‘무려’ 8ZB 라는 용량 한계를 가지고 있지만, 부팅에 사용하려면 UEFI를 사용하는 시스템이어야 한다. (물론 여기서 ‘무려’라는 표현을 썼지만, 또 몇년 지나면 그것이 실제로 일어나겠지…)

참고로 FAT32, NTFS 등등은 파티션 내에 파일을 어떤 식으로 기록하고 찾을 것인지를 결정하는 파일 시스템의 종류이다. 간단하게 생각해서 파티션/드라이브를 포맷하는 방식이다. 윈도11의 경우 GPT 파티션으로 되어 있는 디스크만 부트 디스크로 사용할 수 있다고 했는데, 그 아래에 나눠진 각각의 파티션은 서로 다른 파일 시스템으로 포맷될 수 있다. 예를 들어 윈도를 설치할 C: 드라이브는 기본적으로 NTFS 방식으로 포맷되지만, EFI 파티션은 FAT32 방식으로 포맷된다. 윈도11을 설치하려는 경우, MBR 방식 파티션의 디스크는 부팅 장치로는 사용할 수 없지만, 데이터 저장 용도로는 계속해서 사용할 수 있다.

드라이버 및 소프트웨어 설치

이전 설치 단계에서 제품키는 입력하지 않고 마이크로소프트 계정만 같은 계정으로 로그인했다고 했다. 이렇게 해두면 별도의 제품키 입력 필요 없이 자동으로 윈도가 정품인증된다. 물론 어떤 컴퓨터든 해당 계정으로 로그인 했다고 해서 자동으로 인증되는 것은 아니다. 나의 경우에는 메인보드 교체가 없는 정확히 동일한 머신에서 재설치를 하였으므로, MS 계정에 저장되어 있는 제품키, 메인보드 식별정보가 모두기존과 같았기에 가능한 일이다. 만약 메인보드를 교체했다면, 재설치를 하지 않았더라도 정품에 대한 재인증이 필요하다. 이런 경우에는 별도의 윈도 제품키를 구매해야 하는지, 아니면 마이크로소프트 고객센터로 전화해서 인증된 메인보드를 교체하였다고 말하면 되는 것인지는 잘 모르겠다. (아마 후자의 경우로 처리가 가능하지 않을까 생각합니다…)

설치하고 세팅해야 할 프로그램들이 많은데, 그 중 가장 처음으로 해야 할 것은 장치 드라이버 들이다. CPU나 메인보드 제조사마다 다를 수도 있는데, 내 경우에는 Asrock M320을 사용 중이고, 유선 랜까지는 정상적으로 작동을 하는데, 사운드가 제대로 나오지 않다가, 시스템 업데이트를 한 번 하고 나니 소리가 나왔다. 그렇지만 이 드라이버는 뭔가 문제가 있는지, 가끔 괴상한 소리를 내면서 시스템이 얼어버리는 문제가 있었다. 따라서 가급적이면 하드웨어에 필요한 드라이버를 먼저 설치하는 과정이 필요하다. 개인적으로는 뭐 작동만 하면 윈도 기본 드라이버만 설치하면 되는거 아닌가하는 입장이었는데, 최근에는 그냥 제조사에서 제공하는 드라이버/프로그램을 설치하는게 속은 편한 것 같다.

예를 들어 사용하고 있는 LG 노트북 같은 경우에는 터치 패드를 기본적으로 윈도11이 지원해주지만, 팜리젝션이나, 마우스 연결 시 자동으로 터치패드 차단 등의 옵션은 LG에서 제공하는 드라이버를 설치하지 않으면 작동하지 않았다. OS 프리 제품을 사서 사용했던 까닭에 한 2년정도 LG 드라이버를 일체 쓰지 않다가, 터치 패드 때문에 공식 드라이버를 설치했는데 터치 패드에서 설정할 수 있는 기능이 많아서 놀랬다. 그 외에도 배터리 보호를 위해 80%까지만 충전되게 하거나 냉각팬 속도를 줄여서 소음을 줄이는 옵션 등 사용할 수 있게 되는 기능이 많고 프로그램 품질도 크게 나쁘지 않아서 만족하며 사용하고 있다.

패키지 관리자 scoop 설치

개인적으로 사용하는 유틸리티들은 정해져 있는데, 매번 홈페이지나 레포지토리를 찾아서 설치파일을 찾고 다운로드 받아서 설치하는 과정이 제법 귀찮기 때문에, 패키지 관리자를 사용해서 설치하는 것을 선호한다. 실제로 가장 빨리 설치하고 싶은 프로그램은 의외로 “SharpKeys”라는 프로그램인데, 레지스트리를 사용한 키 리맵핑을 편하게 해주는 프로그램이다. 개인적으로 집에서 쓰는 컴퓨터부터 회사 PC까지 사용하는 모든 컴퓨터는 OS에 상관없이 CapsLock 키를 한/영 전환으로 쓰고 있기 때문이다. 스페이스 바 오른쪽에 있는 한/영 전환(오른쪽 Alt)키를 엄지손가락으로 누르기도 애매하고… 암튼 이렇게 사용하면 매우 편리하고 좋기 때문이다.

그리고 윈도용 패키지 관리자 중에서는 개인적으로 scoop을 가장 좋아한다. 이유는… 내가 지정한 위치에 scoop 자체 및 앱까지 설치할 수 있기 때문이다. scoop은 기본적으로 사용자 계정 디렉토리에 설치되고, 그러면 이후 scoop에서 설치한 모든 앱은 사용자 계정 디렉토리에 함께 설치된다. 즉, 무조건 C: 드라이브에 설치된다. 이는 대부분의 윈도용 패키지 관리자들이 비슷한 상황인 것 같은데, scoop의 경우 별도의 설정 파일을 조작할 필요 없이, 환경변수만 세팅해주면 된다..

사용자 환경변수로 SCOOP=D:\설치경로... 와 같은 식으로 환경 변수를 편집해준다. 환경 변수를 저장한 후에 파워쉘을 실행해서 설치 스크립트를 실행하면 된다. 이때, 터미널(파워쉘)은 환경 변수를 편집하기 전에 실행됐다면 환경 변수가 변경된 사항을 반영하지 못하므로, 반드시 환경변수 편집 이후에 쉘을 실행한다.

scoop은 많은 경우 Git을 사용하여 패키지를 가져오기 때문에, 최초에 scoop update 명령으로 패키지 목록을 업데이트하려면 Git을 꼭 설치하라고 안내가 나온다.다음과 같은 과정을 거쳐서 Git을 설치하고 SharpKeys를 설치할 수 있다.

  1. 먼저 git을 설치해준다.(scoop install git). Git을 섩치하면 자동으로 7z도 설치된다.
  2. scoop update 를 실행해서, 매니페스토를 업데이트한다.
  3. scoop bucket add extras 를 실행해서 매니페스토를 확장한다.
  4. scoop install sharpkeys 를 실행하여 설치

이제 설치가 완료되면 시작 메뉴에서 프로그램을 실행한다. 개인적으로는 CapsLock 키를 한/영키로 맵핑하고, 오른쪽 Ctrl 옆에 있는 App키를 CapsLock으로 대체한다. 그 설정 내역은 아래와 같다. (프로그램에서 알려주는 한글키의 코드가 따로 있는데, 이걸로 하면 안되고 0x0072 로 해야 정상적으로 한영키로 작동한다.)

CapsLock >> 0x0072 로 맵핑하는 게 제일 소중하다.

그 외에 해야할 일들은 대충

그 외에 브라우저나 오피스 프로그램을 설치하는 과정을 설명할 필요는 없을 것 같다. 단, vim의 경우에는 이런 저런 기능들을 추가해서 직접 빌드하는 것을 선호한다. 64비트 바이너리를 빌드하기 위해서는 mingw-w64가 필요하다. 몇 년 전까지만해도 mingw-w64는 별도의 윈도용 설치 바이너리를 제공했던 것 같은데, 이제 MSYS2 시스템을 사용해서 설치할 수 있다. 참고로 mingw-w64-clang-x86_64-toolchain 이라는 패키지 그룹이 있지만, 이 패키지 그룹을 설치한 상태에서는 gvim 이 링크 에러를 내면서 설치되지 않더라. 꼭 x86_64 를 설치하고 여기에 추가적으로, clang 관련 툴을 설치해야 한다.

$ pacman -Syu  (패키지 정보를 먼저 업데이트한다. 이 때 MSYS2 콘솔이 닫히게 되므로, 재시작해주어야 한다.)
$ pacman -Syu  
$ pacman -S --needed base-devel \
  mingw-w64-x86_64-toolchain \
  mingw-w64-x86_64-clang \
  mingw-w64-x86_64-clang-analyzer \
  mingw-w64-x86_64-clang-tools-extra

Exit mobile version