Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

삼성 오디세이(Odyssey) 노트북의 운영체제를 새로 설치하는 방법

제가 구매한 오디세이(Odyssey) 노트북의 경우 하드 디스크가 2개가 있습니다.

NVMe (256GB) - C, D 드라이브
HDD (1GB) - E 드라이브

설치는 NVMe 하드의 내용을 파티션까지 제거한 후에 새로 할 것이기 때문에 이 글을 따라하시는 분들은 우선 NVMe 하드에 담긴 데이터가 있다면 백업을 하신 다음에 진행해야 합니다.




약간 특이한 면이 있다면, 제가 구매한 오디세이의 경우 반드시 UEFI 모드로 설치해야 한다는 점입니다. 왜냐하면, 이상하게도 오디세이의 경우 하드 디스크 인식이 무조건 다음의 순으로 되기 때문입니다.

Disk 0 - HDD
Disk 1 - NVMe

"CSM OS" 방식으로 설치하는 경우, 반드시 Disk 0번으로 잡힌 드라이브에만 할 수 있는데 만약 Disk 1에 설치를 시도하려는 경우 "0x80300024" 오류가 발생합니다. 이 오류를 피하려면 노트북 하단 케이스를 열어 HDD를 분리시켜야 합니다. (분리시키면 Disk 0번이 없으니 당연히 NVMe가 Disk 0 순위가 됩니다.) 그런데... 아마 일반 사용자라면 케이스를 열고 싶어하진 않을 것입니다. 또 다른 방법으로는 BIOS에서 HDD 우선 순위를 변경하는 것인데, 오디세이의 경우 어떻게 해도 순위가 바뀌지 않았습니다.

따라서 "UEFI" 모드로 설치해야 하고, 그 모드에서는 "Disk 1" 순위로 잡힌 NVMe 드라이브에도 설치가 지원되므로 별다른 문제 없이 운영체제를 재설치할 수 있습니다.




가장 먼저 준비해야 할 것은 UEFI 모드로 설치 가능한 윈도우 10 설치 USB 디스크입니다. 이에 대해서는 전에 다음의 글을 통해 설명했습니다.

UEFI 모드로 윈도우 10 설치 가능한 USB 디스크 만드는 방법
; https://www.sysnet.pe.kr/2/0/10937

위의 방법으로 USB를 준비했으면 오디세이에 연결합니다. 그다음, 바이오스 설정을 해야 하므로 부팅 후 시작할 때 "F2" 키를 눌러 바이오스 설정화면으로 넘어갑니다. 그리고, 아래 화면과 같이 "Boot" 범주에서 3가지 설정을 확인합니다.

odyssey_reinstall_1.png

"Secure Boot Control" == Off
"OS Mode Selection" == "UEFI OS"
"Fast BIOS Mode" == Off

변경했으면 우측의 "Save" 버튼을 눌러 설정을 저장하고 다시 부팅할 때 "F2" 키를 눌러 바이오스 설정화면으로 또 들어갑니다. 이번에는 "Boot Device Priority" 링크를 눌러서 진입하는데 다음과 같이 "Boot Option Priorities" 화면으로 바뀌면,

odyssey_reinstall_2.png

아래와 같이 "Boot Option #1"의 항목을 여러분이 이전 단계에서 준비한 USB 디스크로 설정해야 합니다.

Boot Option #1 : "General USB Flash Disk 1100" (이 항목은 여러분들의 윈도우 설치 이미지가 담긴 USB를 지정)
Boot Option #2 : "Disabled"

* 만약 USB 항목이 보이지 않는다면 정상적인 UEFI 용 설치 디스크가 아니기 때문입니다. 
반드시 "UEFI 모드로 윈도우 10 설치 가능한 USB 디스크 만드는 방법" 글에 따라 만든 USB 디스크여야 합니다.

이제 BIOS 설정을 저장하고 나가면 부팅 시 USB 이미지 설치 디스크의 동작으로 넘어갑니다.




USB 설치 디스크로 부팅이 되면, "Windows 설치" 대화창이 뜨고 "설치할 언어", "시간 및 통화 형식", "키보드 또는 입력 방법", "키보드 종류"를 묻습니다. 기본 값 그대로 "다음" 버튼을 누르고, "지금 설치" 버튼이 있는 화면에서 좌측 하단의 "컴퓨터 복구(Repair your computer)"를 선택합니다.

이어서 "옵션 선택" 화면이 나오고, "문제 해결(Troubleshoot)"을 눌러, "고급 옵션(Advanced options)" 화면으로 진행한 후 "명령 프롬프트(Command Prompt)"를 선택합니다. 그럼 "관리자" 권한의 cmd.exe 창이 뜨는데 여기서 diskpart.exe 프로그램을 실행합니다.

X:\Sources> diskpart.exe

그리고 list disk 명령어로 디스크 상태를 확인하고,

DISKPART> list disk
  Disk ###  Status          Size      Free      Dyn   Gpt
  --------  -------------   -------   -------   ---   ---
  Disk 0    Online           931 GB      0  B         *
  Disk 1    Online           238 GB   1024 KB         *
  Disk 2    Online            15 GB      0  B

3개의 Disk가 나오는데, 각각 다음과 같은 식일 것입니다.

Disk 0 == HDD
Disk 1 == NVMe
Disk 2 == (윈도우 Install 용 USB)

만약 여러분들의 상태가 "Disk 0 == NVMe, Disk 1 == HDD"라면 이 글을 읽지 마시고 다른 설치 방법을 참고하세요. (능숙하신 분이라면 그래도 이 글을 읽으면서 자신의 상황에 맞게 적용할 수 있겠지만, 초보자인 경우라면 자칫 데이터를 모두 잃어버릴 수 있으므로 주의가 필요합니다.)

운영체제를 NVMe에 설치할 것이므로 disk 1번을 선택 후,

DISKPART> sel disk 1

Disk 1 is now the selected disk.

1번 디스크의 파티션을 확인해 정말 운영체제를 새로 설치할 디스크인지 다시 한번 확인합니다.

DISKPART> list part
  Partition ###  Type            Size      Offset
  -------------  -------------   -------   ------
  Partition 1    Recovery         500 MB   1024 KB
  Partition 2    System           100 MB    501 MB
  Partition 3    Reserved          16 MB    601 MB
  Partition 4    Primary          195 GB    617 MB    // <== C 드라이브
  Partition 5    Primary           42 GB    195 GB    // <== D 드라이브

(제 경우에는 NVMe 하드에 C와 D드라이브로 나뉘어 있어서 저렇게 보이는 것입니다.)

맞으면, 이제 clean 명령으로 모든 파티션을 삭제합니다. (물론, NVMe 하드에 있는 모든 데이터가 삭제됩니다.)

DISKPART> clean

DiskPart succeeded in cleaning the disk.

그다음 UEFI 설치를 위해 GPT 모드로 변경합니다.

DISKPART> convert gpt

list disk로 다시 확인하면 다음과 같이 "Gpt" 항목의 별표와 함께 초기화된 것을 확인할 수 있습니다.

DISKPART> list disk
  Disk ###  Status          Size      Free      Dyn   Gpt
  --------  -------------   -------   -------   ---   ---
  Disk 0    Online           931 GB      0  B         *
* Disk 1    Online           238 GB    238 GB         *
  Disk 2    Online            15 GB      0  B

문제는, 이 상태에서 Disk 0에 있는 데이터 파티션이 "C" 드라이브 문자를 자동으로 가져간다는 것입니다. 따라서, 이 문자를 다른 문자로 변경해야 하는데 다음과 같은 식의 명령어로 순서를 진행합니다.

// 0번 HDD를 선택하고,
sel disk 0

// 0번 HDD의 파티션을 확인하고,
list part

// 만약 2번 파티션이 C 드라이브를 소유한 경우,
// 해당 파티션의 드라이브 문자를 변경
sel part 2
assign letter=f

그다음, GPT 모드로 새롭게 초기화한 "Disk 1"에 파티션을 잡고 드라이브 문자를 할당합니다. 제 경우에는 Disk 1에 D 드라이브 용 데이터 공간을 위해 40GB 정도 남겨둘 것이므로 다음과 같이 195GB 정도만 C 드라이브로 할당했습니다.

DISKPART> sel disk 1

Disk 1 is now the selected disk.

DISKPART> create part primary size=200000

DiskPart succeeded in creating the specified partition.

DISKPART> format fs=ntfs quick

  100 percent completed

DiskPart successfully formatted the volume.

DISKPART> assign letter=c

여기까지 마치고 diskpart.exe를 "exit" 명령어로 종료한 후 다시 부팅을 해, 이번에는 윈도우 설치 화면으로 진입해 정상적으로 "Install Now" 버튼을 눌러 설치를 진행합니다. 중간에 라이선스 키를 입력하는 화면이 뜨고, 이후 "Windows 설치 프로그램" 단계에서 "업그레이드"와 "사용자 지정"이 나오는데 여기서 "사용자 지정"을 선택하고 C 드라이브 용으로 "드라이브 1"의 "파티션 1"로 잡았던 195GB 파티션을 선택해 윈도우 설치를 진행합니다.

이후 설치를 마치고 나면, NVMe 하드에 대해 다음과 같은 파티션 구성을 확인할 수 있습니다.

Partition 1    Primary          195 GB
Partition 2    Recovery         500 MB
Partition 3    EFI              100 MB

제 경우에 남은 공간이 42GB 정도가 더 있으므로 이것을 "디스크 관리자"를 이용해 마저 파티션 할당하고 D 드라이브로 문자를 부여했습니다.




드라이브 문자 할당 시 다음과 같은 오류가 발생한다면?

DISKPART> assign letter=c

가상 디스크 서비스 오류:
지정한 드라이브 문자를 할당하는 데 사용할 수 없습니다.

이미 다른 파티션에 "C" 드라이브 문자가 할당되어 있기 때문입니다. 이런 경우 "list vol" 명령을 내리면 어떤 디스크에 할당되어 있는지 확인할 수 있고 그 디스크의 해당 파티션을 찾아들어가 "assign letter" 명령어로 다른 드라이브 문자로 변경해야 합니다.




[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]







[최초 등록일: ]
[최종 수정일: 4/28/2020]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13459정성태11/26/20232365닷넷: 2171. .NET Core 3/5+ 기반의 COM Server를 기존의 regasm처럼 등록하는 방법파일 다운로드1
13458정성태11/26/20232372닷넷: 2170. .NET Core/5+ 기반의 COM Server를 tlb 파일을 생성하는 방법(tlbexp)
13457정성태11/25/20232300VS.NET IDE: 187. Visual Studio - 16.9 버전부터 추가된 "Display inline type hints" 옵션
13456정성태11/25/20232624닷넷: 2169. C# - OpenAI를 사용해 PDF 데이터를 대상으로 OpenAI 챗봇 작성 [1]파일 다운로드1
13455정성태11/25/20232508닷넷: 2168. C# - Azure.AI.OpenAI 패키지로 OpenAI 사용파일 다운로드1
13454정성태11/23/20232858닷넷: 2167. C# - Qdrant Vector DB를 이용한 Embedding 벡터 값 보관/조회 (Azure OpenAI) [1]파일 다운로드1
13453정성태11/23/20232342오류 유형: 879. docker desktop 설치 시 "Invalid JSON string. (Exception from HRESULT: 0x83750007)"
13452정성태11/22/20232447닷넷: 2166. C# - Azure OpenAI API를 이용해 사용자가 제공하는 정보를 대상으로 검색하는 방법파일 다운로드1
13451정성태11/21/20232578닷넷: 2165. C# - Azure OpenAI API를 이용해 ChatGPT처럼 동작하는 콘솔 응용 프로그램 제작파일 다운로드1
13450정성태11/21/20232384닷넷: 2164. C# - Octokit을 이용한 GitHub Issue 검색파일 다운로드1
13449정성태11/21/20232491개발 환경 구성: 688. Azure OpenAI 서비스 신청 방법
13448정성태11/20/20232785닷넷: 2163. .NET 8 - Dynamic PGO를 결합한 성능 향상파일 다운로드1
13447정성태11/16/20232657닷넷: 2162. ASP.NET Core 웹 사이트의 SSL 설정을 코드로 하는 방법
13446정성태11/16/20232608닷넷: 2161. .NET Conf 2023 - Day 1 Blazor 개요 정리
13445정성태11/15/20232925Linux: 62. 리눅스/WSL에서 CA 인증서를 저장하는 방법
13444정성태11/15/20232668닷넷: 2160. C# 12 - Experimental 특성 지원
13443정성태11/14/20232722개발 환경 구성: 687. OpenSSL로 생성한 사용자 인증서를 ASP.NET Core 웹 사이트에 적용하는 방법
13442정성태11/13/20232508개발 환경 구성: 686. 비주얼 스튜디오로 실행한 ASP.NET Core 사이트를 WSL 2 인스턴스에서 https로 접속하는 방법
13441정성태11/12/20232824닷넷: 2159. C# - ASP.NET Core 프로젝트에서 서버 Socket을 직접 생성하는 방법파일 다운로드1
13440정성태11/11/20232456Windows: 253. 소켓 Listen 시 방화벽의 Public/Private 제어 기능이 비활성화된 경우
13439정성태11/10/20233044닷넷: 2158. C# - 소켓 포트를 미리 시스템에 등록/예약해 사용하는 방법(Port Exclusion Ranges)파일 다운로드1
13438정성태11/9/20232614닷넷: 2157. C# - WinRT 기능을 이용해 윈도우에서 실행 중인 Media App 제어
13437정성태11/8/20232789닷넷: 2156. .NET 7 이상의 콘솔 프로그램을 (dockerfile 없이) 로컬 docker에 배포하는 방법
13436정성태11/7/20233004닷넷: 2155. C# - .NET 8 런타임부터 (Reflection 없이) 특성을 이용해 public이 아닌 멤버 호출 가능
13435정성태11/6/20232936닷넷: 2154. C# - 네이티브 자원을 포함한 관리 개체(예: 스레드)의 GC 정리
13434정성태11/1/20232722스크립트: 62. 파이썬 - class의 정적 함수를 동적으로 교체
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...