menu

듀얼 부팅 [Windows10/Ubuntu] ML/DL 환경세팅 : Part 1 - Ubuntu 설치

  • date_range 06/01/2020 10:11 perm_identity 허재혁 info
    sort
    Setting
    label


펭-하! 새해가 밝고 첫 게시글입니다~!

오랜만에 구글 검색어 트렌드를 봤는데 2019년은 인물이 아닌 인물 및 펭귄이다. 구글센스 펭하!


잡담은 이만하고 본격적으로 신년맞이 작업환경에 변화를 주고자 고민을 했었다. 어떻게 하면 지금 정도의 편리성을 유지하면서 더 효율적으로 만들 수 있을까..

그동안은 기존 집에 있던 데스크탑은 윈도우만 설치해서 RDP(Remote Desktop Protocol)로 사용하였다. 그러나 최근 리눅스와 친해져야하는 상황이 종종 생기다보니 내 작업환경도 리눅스로 변경해보려한다. 우선 리눅스를 설치할 하드디스크를 구입하였다. 데이터도 함께 넣어놓을 공간으로 넉넉하게 2T로 구입! 이 당시 가격으로 약 7만원이다.

그냥 리눅스만 설치해서 사용하면 되지 왜 윈도우를 남길까하는 생각이 들었지만 게임을 접을 수는 없기에 윈도우는 남기도록 한다.

이번 환경 세팅은 AIC를 같이하는 분들의 도움을 받고 성황리(?)에 끝낼 수 있었다. 장지수님 임진수님 감사합니다. 블로그 홍보드립니다.
- 장지수님 블로그 : https://simonjisu.github.io/
- 임진수님 블로그 : https://jinsu-l.github.io/home

1. 작업 환경

내가 세팅할 작업 환경은 아래와 같다. 나는 따로 파티션을 나누고 운영체제를 설치하지 않았다. 대부분 글들이 파티션을 나누고 설치하는 경우가 많기때문에 약간 경우가 나와 다를 수 있다.

  1. 데이크탑 : 듀얼 부팅 설치 Window10 pro [SSD] / Unbuntu(18.04) [HDD]
  2. 노트북 : 윈도우10 pro
  3. 분석환경 : Jupyter Notebook / VScode
  4. SSH Clients : MobaXterm

1.1. 집

  • 새로 설치할 우분투 환경에서 jupyter notebook이나 VScode로 코딩 및 분석 또는 CMD에서 명령어 실행
  • 게임과 문서 작업은 윈도우에서 작업

1.2. 밖

  • 외출시 리눅스로 부팅 후 jupyter notebook 서버와 ssh 서버를 자동으로 실행한다.
  • 노트북으로 jupyter notebook 서버와 VScode에 ssh로 접속해서 서버에 연결하여 사용한다.
  • 코드 실행은 MobaXterm에 ssh로 접속해서 실행한다.

2. HDD 설치

우분투를 설치하기위해 구입한 HDD를 설치해야한다. 오랜만에 데스크탑을 열었더니 먼지가!!! 그동안 다른 방에 비해 내 방에 먼지가 많이 없는편이라 생각했는데 내 데스크탑이 공기청정기였다.

신년맞이 오랜만에 청소부터 해주도록 한다. 청소 후 사진도 찍을걸 그랬다.

준비물 : 휴지, 에어 컴프레셔는 아니지만 공기칙칙이(이름모름. 단, 오래뿌리면 손 동상걸림)


HDD 설치는 SATA3와 전원케이블만 꽂으면 손쉽게 설치할 수 있다. 설치 후 부팅하고 디스크가 있는지 ‘컴퓨터 관리’에서 확인! 이제 우분투 부팅 USB를 만들어 봅시다

3. Ubuntu 18.04 부팅 USB 만들기

준비물 : Ubuntu 18.04 iso 파일, 부팅에 사용할 USB

  • USB는 포맷해야하니 내용물이 있다면 다른곳에 백업해둔다. 그리고 용량은 iso파일보다 커야한다.
  • Ubuntu 18.04 iso 파일 다운로드 여기에서 쉽게 설치할 수 있다.

준비가 끝났으면 부팅 USB를 만들어야한다. iso 파일을 그대로 USB에 넣는다고 부팅 USB가 되는게 아니다. 부팅 USB를 만들어줄 프로그램을 설치해야하는데 나는 그 중 rufus를 사용하기로 했다.

장치는 부팅에 사용할 USB를 선택하고 (잘못선택하면 모두 포맷하게 될 수 있으니 잘 확인한다.) 파일 시스템은 NTFS로 설정한다. 디스크 형식은 CPT로 한다. (CPT와 MBR에 대한 차이가 궁금하다면 여기를 참고하자.)

이제 부팅 USB를 만들려고하는데 오류라고 한다. 왜그럴까 한참 고민하다가 보니 iso파일을 USB안에 넣어놓고 계속 만들기를 하고있었다…


사진을 못남겨서 같은 에러메세지 사진으로 대체 출처: https://gndo.tistory.com/3

다시 iso 파일을 어딘가 옮겨놓고 다시 실행하면 부팅 USB가 잘 만들어졌음을 알 수 있다. 이제 우분투를 설치하기만 하면된다.

4. Ubuntu 설치

우선 우분투를 설치하기 위해서는 앞서만든 부팅 USB를 부팅 순서 첫 번째로 바꿔주어야한다. BIOS 에 진입하는 방법은 각 제조사 별로 다르기 때문에 잘 설명이 되어있는 블로그를 참고했다. 보통은 BIOS 진입 전 어떤 키를 눌러야 들어갈 수 있다고 나온다. 1초 안팎으로 나왔다가 사라지기 때문에 동체시력이 빠르다면 모두 읽어볼 수 있다. 나같은 경우 MSI를 사용하기에 delete 키를 누르면 Bios에 들어갈 수 있다.


내 화면은 아니지만 같은 화면이기에 첨부 출처 : http://egloos.zum.com/fastzombie/v/1932576

BIOS에 들어가면 부팅 순서를 변경해주는게 있다. MSI는 setting에 들어가서 순서를 병경해도 좋고 위에 하드디스크 모양들이 줄지어 있는 곳에서 부팅 순서를 원하는대로 마우스로 끌어다가 수정할 수도 있다.


역시나 내 화면은 아니지만 같은 화면이기에 참고 출처 : http://m.ppomppu.co.kr/new/bbs_view.php?id=computer&no=524521

부팅 USB를 1순위로 했다면 그 다음부터는 쉽다. 재부팅과 함께 우분투 특유의 보라빗 배경이 나오고 몇가지 체크사항만 한 후 모두 next하면 된다. 그런데 우려했던 일이 생겼다. 예전에도 우분투를 설치한적이 있었지만 무한 로그인 에러같은 자잘자잘한 에러가 너무 많아서 피곤해서 포기했었는데 역시나 또 발생했다.

4.1. 그래픽 드라이버 문제


우분투 설치 후 에러메세지 등장

Couldn't get size: 0x800000000000000e 
MODSIGN: Couldn't get UEFI dblist 
Couldn't get size: 0x800000000000000e

문제를 그래픽 카드였다. 보니까 nvidia 드라이버랑 우분투에 기본적으로 설치되는 그래픽 드라이버인 nouveau랑 안맞아서 그렇다고한다. 위 메세지는 우분투 설치 후 복불복으로 발생한다. nvidia 그래픽 카드가 설치되어 있어도 발생하지 않은 경우가 있고 발생하는 경우가 있다. 어떻게 알았냐면 이날 내가 직접 경험했다.

우선 다시 부팅 USB를 넣고 재설치 한다음에 apt-get update를 하려고하는데 Could not get lock 같은 에러메세지가 나왔다. 해당 파일이 존재하면 패키지 및 인덱스 정보를 업데이트하지 못하기 때문이다. 우분투 var는 뭐하는 디렉토리일까 찾아보다가 정리가 잘되어있는 블로그 발견했다.

우분투 기본 디렉토리에 대한 설명은 여기를 참고하자.

리눅스 디렉토리 구조

$ sudo apt-get update

Reading package lists... Done
E: Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
E: Unable to lick directory /var/lib/apt/lists/

이런경우 /var/lib ~ 어쩌구하는 경로를 삭제하고 다시한다

$ sudo rm /var/lib/apt/lists/
$ sudo apt-get update

apt update를 했으면 build-essential도 설치한다

$ sudo apt-get install build-essential

일단 그래픽카드가 nvidia가 맞는지부터 확인한다. 명령어를 입력하면 아래와 같은 결과가 나온다. 확인해보니 nvidia 그래픽카드가 맞다.

$ sudo lshw -C display

*-display                 
        description: VGA compatible controller
        product: GP102 [GeForce GTX 1080 Ti]
        vendor: NVIDIA Corporation
        physical id: 0
        bus info: pci@0000:01:00.0
        version: a1
        width: 64 bits
        clock: 33MHz
        capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
        configuration: driver=nvidia latency=0
        resources: irq:146 memory:de000000-deffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:e000(size=128) memory:c0000-dffff

4.2. nouveau 제거

그리고 이제 nouveau 확인 후 제거 방법을 차례차례 따라서 입력한다.

  1. 우선 확인! 만약 아래 명령어를 치고 리스트가 나오면 설치가 되어있는거다.

     $ lsmod | grep nouveau
    
  2. 아래 경로에 blacklist 파일을 추가한다. 아래 파일을 추가하면 이후 업데이트에서 모두 nouveau에 대한것은 무시된다.

     $ sudo vi /etc/modprobe.d/blacklist-nouveau.conf
    
  3. 위 명령어를 입력하고 편집기가 나타나면 아래 두줄을 입력한 후 저장한다. 편집기 저장 후 종료는 언제나 esc → :wq 입력 후 엔터

     blacklist nouveau
     options nouveau modset=0
    
  4. 그 다음은 아래 명령어 입력 후 재부팅

     $ sudo update-initramfs -u
     $ sudo reboot
    

재부팅이 된후에는 갑자기 모니터화면의 해상도가 바껴있다. 기존 그래픽 드라이버를 제거해서 그런가싶다. 그냥 진행하면 된다. 이제 graphic driver를 다시 깔아야한다.

4.3. nvidia 그래픽 드라이버 설치

아래 명령어를 통해서 우분투 18.04에서 기본으로 제공하는 X windows 환경을 종료하고 Console모드로 들어가게한다. 명령어를 치면 어떤 변화가 보이는가 했지만 겉으면 변하는 것은 없었다. 그냥 에러메세지가 안나오길래 그대로 진행.

$ sudo service gdm stop

그리고 우분투 드라이버를 repository에 등록한다.

다음 명령어를 통해서 그래픽 카드의 드라이버 종류들을 확인할 수 있다. 추천 드라이버는 nvidia-driver-440이라고 한다.

$ ubuntu-drivers devices

== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001B06sv000019DAsd00002471bc03sc00i00
vendor   : NVIDIA Corporation
model    : GP102 [GeForce GTX 1080 Ti]
driver   : nvidia-driver-410 - third-party free
driver   : nvidia-driver-390 - third-party free
driver   : nvidia-driver-435 - distro non-free
driver   : nvidia-driver-440 - third-party free recommended
driver   : nvidia-driver-430 - third-party free
driver   : nvidia-driver-415 - third-party free
driver   : xserver-xorg-video-nouveau - distro free builtin
$ sudo add-apt-repository ppa:graphics-drivers/ppa

그 다음 업데이트와 autoinstall 후 재부팅

$ sudo apt update
$ sudo ubuntu-drivers autoinstall
$ sudo reboot

재부팅이 되었다면 nvidia-smi 를 입력해서 그래픽카드 정보가 잘나오는지 확인

$ nvidia-smi

이제 기본적인 우분투 환경은 끝이다!

5. 운영체제 전환 방법!

이제 윈도우와 리눅스를 각각 다른 하드 디스크에 설치했다. 다음엔 이제 이 두 운영체제를 어떻게 바꿔가며 사용할 수 있는지 방법을 찾아야한다.

방법은 간단하다. 나는 컴퓨터 부팅시 자동으로 우분투로 켜지게 할 것이기 때문에 부팅 순서 1순위를 우분투가 설치된 하드디스크로 지정해준다.

그렇다면 윈도우는 어떻게 부팅할까? 다시 바이오스에 들어가서 부팅순서를 윈도우가 깔린 하드디스크로 변경? 아니다.

각 바이오스마다는 바이오스로 바로 진입하는 키와 부팅옵션만 선택하게 할 수 있는 키가 있다. 키는 메인보드마다 다르기 때문에 여기에 들어가서 각 제조사별 키를 확인하면 된다.

요약

  1. 부팅 1순위 : 우분투가 설치된 HDD로 설정
  2. 윈도우가 사용하고 싶으면 재부팅 후 F11로 부팅옵션에 들어가 윈도우가 설치된 SSD 클릭

광고의 모든 수익금은 활동비로 지원됩니다.