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

비밀번호

댓글 작성자
 




... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
12728정성태7/22/20217482.NET Framework: 1079. MSTestv2 단위 테스트에 메서드/클래스/어셈블리 수준의 문맥 제공
12727정성태7/21/20218435.NET Framework: 1078. C# 단위 테스트 - MSTestv2/NUnit의 Assert.Inconclusive 사용법(?) [1]
12726정성태7/21/20218268VS.NET IDE: 169. 비주얼 스튜디오 - 단위 테스트 선택 시 MSTestv2 외의 xUnit, NUnit 사용법 [1]
12725정성태7/21/20217007오류 유형: 741. Failed to find the "go" binary in either GOROOT() or PATH
12724정성태7/21/20219669개발 환경 구성: 582. 윈도우 환경에서 Visual Studio Code + Go (Zip) 개발 환경 [1]
12723정성태7/21/20217303오류 유형: 740. SharePoint - Alternate access mappings have not been configured 경고
12722정성태7/20/20217176오류 유형: 739. MSVCR110.dll이 없어 exe 실행이 안 되는 경우
12721정성태7/20/20217798오류 유형: 738. The trust relationship between this workstation and the primary domain failed. - 세 번째 이야기
12720정성태7/19/20217129Linux: 43. .NET Core/5+ 응용 프로그램의 Ubuntu (Debian) 패키지 준비
12719정성태7/19/20216314오류 유형: 737. SharePoint 설치 시 "0x800710D8 The object identifier does not represent a valid object." 오류 발생
12718정성태7/19/20216875개발 환경 구성: 581. Windows에서 WSL로 파일 복사 시 root 소유권으로 적용되는 문제파일 다운로드1
12717정성태7/18/20216848Windows: 195. robocopy에서 파일의 ADS(Alternate Data Stream) 정보 복사를 제외하는 방법
12716정성태7/17/20217681개발 환경 구성: 580. msbuild의 Exec Task에 robocopy를 사용하는 방법파일 다운로드1
12715정성태7/17/20219368오류 유형: 736. Windows - MySQL zip 파일 버전의 "mysqld --skip-grant-tables" 실행 시 비정상 종료 [1]
12714정성태7/16/20218097오류 유형: 735. VCRUNTIME140.dll, MSVCP140.dll, VCRUNTIME140.dll, VCRUNTIME140_1.dll이 없어 exe 실행이 안 되는 경우
12713정성태7/16/20218672.NET Framework: 1077. C# - 동기 방식이면서 비동기 규약을 따르게 만드는 Task.FromResult파일 다운로드1
12712정성태7/15/20218064개발 환경 구성: 579. Azure - 리눅스 호스팅의 Site Extension 제작 방법
12711정성태7/15/20218387개발 환경 구성: 578. Azure - Java Web App Service를 위한 Site Extension 제작 방법
12710정성태7/15/202110214개발 환경 구성: 577. MQTT - emqx.io 서비스 소개
12709정성태7/14/20216867Linux: 42. 실행 중인 docker 컨테이너에 대한 구동 시점의 docker run 명령어를 확인하는 방법
12708정성태7/14/202110242Linux: 41. 리눅스 환경에서 디스크 용량 부족 시 원인 분석 방법
12707정성태7/14/202177464오류 유형: 734. MySQL - Authentication method 'caching_sha2_password' not supported by any of the available plugins.
12706정성태7/14/20218687.NET Framework: 1076. C# - AsyncLocal 기능을 CallContext만으로 구현하는 방법 [2]파일 다운로드1
12705정성태7/13/20218830VS.NET IDE: 168. x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
12704정성태7/12/20217975개발 환경 구성: 576. Azure VM의 서비스를 Azure Web App Service에서만 접근하도록 NSG 설정을 제한하는 방법
12703정성태7/11/202113593개발 환경 구성: 575. Azure VM에 (ICMP) ping을 허용하는 방법
... 31  32  33  34  35  [36]  37  38  39  40  41  42  43  44  45  ...