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)
13347정성태5/10/20233936.NET Framework: 2118. C# - Semantic Kernel의 Prompt chaining 예제파일 다운로드1
13346정성태5/10/20233781오류 유형: 858. RDP 원격 환경과 로컬 PC 간의 Ctrl+C, Ctrl+V 복사가 안 되는 문제
13345정성태5/9/20235084.NET Framework: 2117. C# - (OpenAI 기반의) Microsoft Semantic Kernel을 이용한 자연어 처리 [1]파일 다운로드1
13344정성태5/9/20236334.NET Framework: 2116. C# - OpenAI API 사용 - 지원 모델 목록 [1]파일 다운로드1
13343정성태5/9/20234202디버깅 기술: 192. Windbg - Hyper-V VM으로 이더넷 원격 디버깅 연결하는 방법
13342정성태5/8/20234140.NET Framework: 2115. System.Text.Json의 역직렬화 시 필드/속성 주의
13341정성태5/8/20233914닷넷: 2114. C# 12 - 모든 형식의 별칭(Using aliases for any type)
13340정성태5/8/20233951오류 유형: 857. Microsoft.Data.SqlClient.SqlException - 0x80131904
13339정성태5/6/20234636닷넷: 2113. C# 12 - 기본 생성자(Primary Constructors)
13338정성태5/6/20234125닷넷: 2112. C# 12 - 기본 람다 매개 변수파일 다운로드1
13337정성태5/5/20234632Linux: 59. dockerfile - docker exec로 container에 접속 시 자동으로 실행되는 코드 적용
13336정성태5/4/20234398.NET Framework: 2111. C# - 바이너리 출력 디렉터리와 연관된 csproj 설정
13335정성태4/30/20234516.NET Framework: 2110. C# - FFmpeg.AutoGen 라이브러리를 이용한 기본 프로젝트 구성 - Windows Forms파일 다운로드1
13334정성태4/29/20234170Windows: 250. Win32 C/C++ - Modal 메시지 루프 내에서 SetWindowsHookEx를 이용한 Thread 메시지 처리 방법
13333정성태4/28/20233626Windows: 249. Win32 C/C++ - 대화창 템플릿을 런타임에 코딩해서 사용파일 다운로드1
13332정성태4/27/20233721Windows: 248. Win32 C/C++ - 대화창을 위한 메시지 루프 사용자 정의파일 다운로드1
13331정성태4/27/20233744오류 유형: 856. dockerfile - 구 버전의 .NET Core 이미지 사용 시 apt update 오류
13330정성태4/26/20233414Windows: 247. Win32 C/C++ - CS_GLOBALCLASS 설명
13329정성태4/24/20233622Windows: 246. Win32 C/C++ - 직접 띄운 대화창 템플릿을 위한 Modal 메시지 루프 생성파일 다운로드1
13328정성태4/19/20233261VS.NET IDE: 184. Visual Studio - Fine Code Coverage에서 동작하지 않는 Fake/Shim 테스트
13327정성태4/19/20233686VS.NET IDE: 183. C# - .NET Core/5+ 환경에서 Fakes를 이용한 단위 테스트 방법
13326정성태4/18/20235059.NET Framework: 2109. C# - 닷넷 응용 프로그램에서 SQLite 사용 (System.Data.SQLite) [1]파일 다운로드1
13325정성태4/18/20234407스크립트: 48. 파이썬 - PostgreSQL의 with 문을 사용한 경우 연결 개체 누수
13324정성태4/17/20234239.NET Framework: 2108. C# - Octave의 "save -binary ..."로 생성한 바이너리 파일 분석파일 다운로드1
13323정성태4/16/20234142개발 환경 구성: 677. Octave에서 Excel read/write를 위한 io 패키지 설치
13322정성태4/15/20234944VS.NET IDE: 182. Visual Studio - 32비트로만 빌드된 ActiveX와 작업해야 한다면?
1  2  3  4  5  6  7  8  9  10  [11]  12  13  14  15  ...