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

비밀번호

댓글 작성자
 




... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
13123정성태9/8/20227415.NET Framework: 2046. C# 11 - 멤버(속성/필드)에 지정할 수 있는 required 예약어 추가
13122정성태8/26/20227419.NET Framework: 2045. C# 11 - 메서드 매개 변수에 대한 nameof 지원
13121정성태8/23/20225426C/C++: 157. Golang - 구조체의 slice 필드를 Reflection을 이용해 변경하는 방법
13120정성태8/19/20226883Windows: 209. Windows NT Service에서 UI를 다루는 방법 [3]
13119정성태8/18/20226428.NET Framework: 2044. .NET Core/5+ 프로젝트에서 참조 DLL이 보관된 공통 디렉터리를 지정하는 방법
13118정성태8/18/20225355.NET Framework: 2043. WPF Color의 기본 색 영역은 (sRGB가 아닌) scRGB [2]
13117정성태8/17/20227448.NET Framework: 2042. C# 11 - 파일 범위 내에서 유효한 타입 정의 (File-local types)파일 다운로드1
13116정성태8/4/20227917.NET Framework: 2041. C# - Socket.Close 시 Socket.Receive 메서드에서 예외가 발생하는 문제파일 다운로드1
13115정성태8/3/20228279.NET Framework: 2040. C# - ValueTask와 Task의 성능 비교 [1]파일 다운로드1
13114정성태8/2/20228418.NET Framework: 2039. C# - Task와 비교해 본 ValueTask 사용법파일 다운로드1
13113정성태7/31/20227650.NET Framework: 2038. C# 11 - Span 타입에 대한 패턴 매칭 (Pattern matching on ReadOnlySpan<char>)
13112정성태7/30/20228074.NET Framework: 2037. C# 11 - 목록 패턴(List patterns) [1]파일 다운로드1
13111정성태7/29/20227891.NET Framework: 2036. C# 11 - IntPtr/UIntPtr과 nint/nuint의 통합파일 다운로드1
13110정성태7/27/20227933.NET Framework: 2035. C# 11 - 새로운 연산자 ">>>" (Unsigned Right Shift)파일 다운로드1
13109정성태7/27/20229262VS.NET IDE: 177. 비주얼 스튜디오 2022를 이용한 (소스 코드가 없는) 닷넷 모듈 디버깅 - "외부 원본(External Sources)" [1]
13108정성태7/26/20227339Linux: 53. container에 실행 중인 Golang 프로세스를 디버깅하는 방법 [1]
13107정성태7/25/20226548Linux: 52. Debian/Ubuntu 계열의 docker container에서 자주 설치하게 되는 명령어
13106정성태7/24/20226190오류 유형: 819. 닷넷 6 프로젝트의 "Conditional compilation symbols" 기본값 오류
13105정성태7/23/20227477.NET Framework: 2034. .NET Core/5+ 환경에서 (프로젝트가 아닌) C# 코드 파일을 입력으로 컴파일하는 방법 - 두 번째 이야기 [1]
13104정성태7/23/202210544Linux: 51. WSL - init에서 systemd로 전환하는 방법
13103정성태7/22/20227126오류 유형: 818. WSL - systemd-genie와 관련한 2가지(systemd-remount-fs.service, multipathd.socket) 에러
13102정성태7/19/20226538.NET Framework: 2033. .NET Core/5+에서는 구할 수 없는 HttpRuntime.AppDomainAppId
13101정성태7/15/202215378도서: 시작하세요! C# 10 프로그래밍
13100정성태7/15/20227928.NET Framework: 2032. C# 11 - shift 연산자 재정의에 대한 제약 완화 (Relaxing Shift Operator)
13099정성태7/14/20227782.NET Framework: 2031. C# 11 - 사용자 정의 checked 연산자파일 다운로드1
13098정성태7/13/20226056개발 환경 구성: 647. Azure - scale-out 상태의 App Service에서 특정 인스턴스에 요청을 보내는 방법 [1]
... 16  17  18  19  [20]  21  22  23  24  25  26  27  28  29  30  ...