반응형

안녕하세요.


얼마 전 윈도우로 사용하던 회사 PC에 리눅스를 설치하였습니다.


윈도우를 지우지 않고, 하드디스크의 파티션만 분할하여 멀티부팅으로 사용중입니다.



윈도우에서 사용하던 디렉토리와 파일을 리눅스에서 사용하려면 해당 디렉토리, 파일이 있는 디스크 (파티션)을 마운트 해야합니다.


1회성으로 사용하고 말 것이라면 탐색기 (리눅스에선 이걸 뭐라고 하는지 모르겠네요;;;)에서 해당 디스크를 클릭만 해주면 자동으로 마운트가 됩니다.


사용을 다 하고 언마운트 버튼을 눌러 마운트를 해제해 주어도 되구요.


그런데 저는 윈도우에서 쓰던 Dropbox 폴더를 리눅스에서 그대로 사용하길 원해서 해당 디렉토리가 있는 윈도우의 E 드라이브를 부팅시 자동으로 마운트 되도록 설정하였습니다.


이 때 사용한 것이 'fstab' 입니다.



'fstab'은 부팅 시 자동으로 마운트 할 내용을 정의하고 있는 파일입니다.


정확한 경로는 /etc/fstab 입니다.


해당 파일에 자동으로 마운트 할 파티션 정보를 양식에 맞게 적어두면, 부팅 시 자동으로 마운트를 시킵니다.



실습(?)을 하듯 과정을 적어보도록 하겠습니다.


* 목표 : 윈도우에서 사용하던 C, D, E 드라이브를 부팅 시 마운트 시키기



1. 현재 파티션 구성 확인하기


다음의 명령어로 현재 파티션의 구성을 확인합니다.


$ sudo fdisk -l


저 같은 경우 이 명령어를 입력하면 다음과 같이 화면에 나옵니다.



parkch0708@chp-lab:~$ sudo fdisk -l

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes

255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk identifier: 0xe575b6e4


   Device Boot      Start         End      Blocks   Id  System

/dev/sda1   *        2048   314572799   157285376    7  HPFS/NTFS/exFAT

/dev/sda2       314574848   629147647   157286400    7  HPFS/NTFS/exFAT

/dev/sda3       629147648  1468008447   419430400    7  HPFS/NTFS/exFAT

/dev/sda4      1468010494  1953523711   242756609    5  Extended

Partition 4 does not start on physical sector boundary.

/dev/sda5      1468010496  1668007935    99998720   83  Linux

/dev/sda6      1945524224  1953523711     3999744   82  Linux swap / Solaris

/dev/sda7      1668009984  1945520127   138755072   83  Linux


Partition table entries are not in disk order

parkch0708@chp-lab:~$  


제가 사용하고 있는 PC에는 1테라 짜리 하드디스크 한개 (/dev/sda)가 장착되어 있습니다.


총 7개의 파티션으로 나뉘어져 있고, 사용 할 수 없는 /dev/sda4를 제외하면 용도는 다음과 같습니다.


- sda1 : 윈도우 C 드라이브

- sda2 : 윈도우 D 드라이브

- sda3 : 윈도우 E 드라이브

- sda5 : 리눅스 /

- sda6 : 리눅스 SWAP

- sda7 : 리눅스 /home



이 명령어를 통해 자동으로 마운트 할 파티션이 어떤 파티션인지 확인하면 됩니다.


저 같은 경우엔 윈도우의 C, D, E 드라이브를 마운트 할 것이기 때문에 sda1, sda2, sda3를 마운트 해야 합니다.



2. 파티션의 UUID 확인


1에서 확인한 디바이스 명 (예 : /dev/sda1)을 fstab에 그대로 기록해도 되지만,


이렇게 할 경우 스토리지를 추가해서 디바이스 명이 바뀌게 되면 오류가 발생할 수도 있습니다.


그렇기 때문에 고유한 번호인 UUID를 사용합니다.


UUID 확인은 다음의 명령어를 통해 확인합니다.


$ blkid


저는 다음과 같은 결과를 얻었습니다.


parkch0708@chp-lab:~$ blkid

/dev/sda1: UUID="F67409D174099591" TYPE="ntfs"

/dev/sda2: UUID="602EC0692EC03A34" TYPE="ntfs" 

/dev/sda3: UUID="92C0FBC3C0FBAB9B" TYPE="ntfs" 

/dev/sda5: UUID="ebbffa53-8829-4a59-97e5-59e5a5c334d8" TYPE="ext4" 

/dev/sda6: UUID="8c66776b-d70b-433c-af64-4f627871759a" TYPE="swap" 

/dev/sda7: UUID="9190a1f5-01ab-462c-ac7d-3924cb1841fe" TYPE="ext4" 

parkch0708@chp-lab:~$ 


sda1, sda2, sda3의 UUID를 확인하였습니다.


파일시스템도 ntfs인 것을 확인하였습니다.



3. 마운트 할 디렉토리 생성


마운트를 하기 위해서는 마운트를 위한 디렉토리를 생성해 주어야 합니다.


보통 /mnt/ 디렉토리에 생성을 해줍니다.


저는 그냥 쉽게 c, d, e로 생성하였습니다.


경로나 디렉토리 이름은 마음대로 하셔도 됩니다.


$ sudo mkdir /mnt/c

$ sudo mkdir /mnt/d

$ sudo mkdir /mnt/e



4. /etc/fstab 파일 수정


root 권한으로 /etc/fstab 파일을 열어 내용을 추가해줍니다.


$ sudo vi /etc/fstab


fstab은 총 6개의 필드로 구성되어 있고, 각 필드의 의미는 다음과 같습니다.


1. 마운트 할 장치의 장치 파일 명 (2에서 확인한 UUID를 입력)

2. 마운트 포인트 (3에서 생성한 디렉토리)

3. 마운트 할 파일시스템 종류 (2에서 확인한 파일시스템을 입력)

4. 마운트 옵션

5. 해당 파티션을 백업할 지의 여부

6. fsck에 의한 파일시스템 검사 여부 (0 - 검사하지 않음, 1 - 파일 시스템, 2 - 이외)


각 필드는 띄어쓰기나 탭으로 구분하시면 됩니다.


저는 마지막 6줄을 추가하였습니다.


# <file system> <mount point>   <type>  <options>       <dump>  <pass>

# / was on /dev/sda5 during installation

UUID=ebbffa53-8829-4a59-97e5-59e5a5c334d8 /               ext4    errors=remount-ro 0       1

# /home was on /dev/sda7 during installation

UUID=9190a1f5-01ab-462c-ac7d-3924cb1841fe /home           ext4    defaults        0       2

# swap was on /dev/sda6 during installation

UUID=8c66776b-d70b-433c-af64-4f627871759a none            swap    sw              0       0

# Windows C Drive

UUID=F67409D174099591 /mnt/c ntfs  defaults,locale=ko_KR.UTF-8 0 0

# Windows D Drive

UUID=602EC0692EC03A34 /mnt/d ntfs  defaults,locale=ko_KR.UTF-8 0 0

# Windows E Drive

UUID=92C0FBC3C0FBAB9B /mnt/e ntfs  defaults,locale=ko_KR.UTF-8 0 0 


# 뒤에 있는 내용은 주석입니다.


마지막 2 줄만 분석해 보겠습니다.


# Windows E Drive

UUID=92C0FBC3C0FBAB9B /mnt/e ntfs  defaults,locale=ko_KR.UTF-8 0 0 


첫 줄은 확인을 위한 주석입니다. (주석은 달지 않으셔도 동작엔 큰 문제가 없습니다.)

두번째 줄은 위의 양식대로 작성한 것 입니다.



UUID가 92C0FBC3C0FBAB9B 인 장치를

/mnt/e에 마운트를 하고, 

파일시스템은 ntfs이고,

default 옵션과 locale=ko_KR.UTF-8 옵션을 사용하고

백업은 하지 않으며

fsck로 체크도 하지 않는다.


란 뜻입니다.


기본적으로 윈도우에선 ntfs 파일시스템을 사용하기 때문에,


위의 내용에서 UUID 값과 마운트 포인트(/mnt/e) 내용만 바꿔주시면 됩니다.



내용을 추가하고, 파일을 저장한 다음에 닫습니다.


그리고 리부팅 하면 자동으로 마운트 되는 것을 확인할 수 있습니다.



5. 부팅 후 마운트 확인


$ mount


명령어를 이용해 마운트가 잘 되어 있는지 확인하시면 됩니다.


저는 다음의 내용이 추가가 되었습니다.


/dev/sda1 on /mnt/c type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)

/dev/sda2 on /mnt/d type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)

/dev/sda3 on /mnt/e type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)


반응형
Posted by 해리팍
BLOG main image

Chanhyun Park (해리팍)
Software Engineer @ SK hynix

Contact Info.
parkch0708@hanmail.net
chanhyun0708@gmail.com
chanhyun.park@sk.com

카테고리

All (1511)
Profile (2)
Park's Life (600)
Smart Home (IoT) (3)
Computer System (165)
Computer Programming (39)
Computer Study (54)
Computer Etc. (189)
Scuba Diving (137)
Golf (8)
Traveling (250)
생활 정보 (13)
Pokemon GO (50)