본문 바로가기

Linux-related

리눅스에서 하드디스크 자동 마운트(mount)하기

테스트 OS : Kubuntu 9.10

예전에 윈도에서 C와 D로 하드를 나눠쓰다가 결국 C를 밀어버리고 리눅스를 깔아버린터라
부팅할때마다 ntfs의 D드라이브와 외장하드를 마운트해줘야했다.
사실 쿠분투에서는 돌핀을 쓰면 그냥 왼쪽에 검색된 디스크 아이콘만 눌러도
자동으로 /media/disk 에 마운트 되기 때문에 큰 불편은 없었지만
윈도에서 쓰던 토커를 잊지 못해 크루세이더 Krusader를 깔았다.
이녀석이 고맙게도 마지막에 사용했던 탭들의 개수 및 경로를 기억하는 터라..
부팅한뒤 바로 크루세이더를 띄우면 마운트 되었던게 해제되어버려 상당히 귀찮게 되었다.
게다가 QBittorrent를 사용할때는 더욱이 조심해야 했다.

그래서 결국 자동 마운트를 설정하기로 결심하고 구글링을 시작...
가장 먼저나오는 글을 통해 문제를 해결했다.

참고글 1 : auto-mounting-hard-disk-at-boot-up
쉬운영어에 친절한 설명이라 쉽게 이해할 수 있지만...
자막만들던시절이 문득 떠올라 초안 수준으로 번역했다.

우리 학생들에게 전형적인 리눅스 시스템은
리눅스의 root 파티션과 우리 windows 시스템의 NTFS 시스템으로 구성된다.
그래서 리눅스를 부팅할 때마다, 먼저 task를 시작하기 위해 NTFS 파티션을 마운트해야만 한다.

어떻게 시스템이 부팅시에 디스크를 자동마운트하게 만들수 있는지 살펴보자.

모든 리눅스기반 시스템은 '/etc/fstab'라는 이름이 붙은 파일로 구성되어 있다.
운영체제가 부팅할 때마다 운영체제는 어떤 디스크가 마운트되는지
그리고 어디에 마운트 되어야 하는지를 알기위해 이 파일을 살펴본다.

그러니 이 논리는 꽤 단순하다.
그냥 OS가 자동마운트했으면 하는 파티션에 해당하는 항목를 추가하라.

/etc/fstab 안의 전형적인 항목이 어떻게 생겼는지 살펴보자.

$cat /etc/fstab
#
proc    /proc    proc    defaults    0    0
# / was on /dev/sda2 during installation
UUID=035b3d25-c214-40e1-bce4-5c1cb7230113  /  ext3  relatime,errors=remount-ro   0   1
# swap was on /dev/sda5 during installation
UUID=792a7305-b558-48bc-b1c6-3df2b95fb4ea    none    swap    sw    0    0
/dev/scd0    /media/cdrom0    udf,iso9660    user,noauto,exec,utf8    0    0

이것은 내 컴퓨터에서 cat /etc/fstab 의 결과이다.
각 항목은 6개의 옵션으로 구성된다. :

1. 파일시스템 : 
      마운트되는 파일시스템의 구분자. 
      보편적으로 디바이스에 해당하는 유일한 구분자나 /dev/sad2같은 디바이스 이름이 될 수 있다.

2. 마운트 위치 : 
      파일시스템의 내용이 마운트되어야 하는 디렉토리이다. 
      이 디렉토리는 이 파일에 기록되기 전에 반드시 시스템안에 존재해야 한다.

3. 타입 : 
      파티션의 파일시스템의 종류를 지정한다. 
      가능 타입은 ext2, ext3, ext4, ntfs, vfat, auto(파일시스템 자동감지를 위해)이다.

4. 옵션 : 
      부팅시 자동마운트 할 것인지 아닌지, 제한된 사용자가 파일시스템을
      마운트할 수 있는지 없는지 같은 옵션들을 지정한다. 
      자세한 것은 살펴보지 않고, "default"키워드를 사용하여 default옵션으로 고정한다.

5. Dump : 
      0이 아닌 값은 파일시스템이 백업되어야 함을, 0은 백업이 없음을 말한다. 
      우리는 0으로 유지할 것이다.

6. Pass : 
      fsck옵션이다. 이것은 어떤 파일시스템이 체크되어야 하는지 순서를 확인한다. 
      우리는 우리 파일시스템이 체크되지 않을 것을 의미하는 0으로 유지할 것이다.

자 이제 우리는 이 파일에 항목을 넣을 준비가 되었다.
만약 당신이 당신 시스템에 SCSI 하드디스크를 더 추가하지 않을 것이 확실하다면,
당신은 그냥 디바이스 이름을 쓸 수도 있다. 나의 경우엔 이름은 /dev/sda5이다.
당신의 디스크 이름을 잘 모르겠다면 다음을 입력하라 :

$df -h
Filesystem    Size      Used      Avail       Use%    Mounted on
/dev/sda7      19G       11G       6.9G       61%     /
tmpfs           497M          0       497M         0%     /lib/init/rw
varrun          497M     392K      497M         1%     /var/run
varlock         497M          0       497M         0%     /var/lock
udev            497M      164K      497M         1%     /dev
tmpfs           497M      176K      497M         1%     /dev/shm
lrm              497M       2.2M      495M         1%     /lib/modules/2.6.28-15-generic/volatile
/dev/sda5      59G        34G       22G        61%     /media/disk

이것과 비슷한 항목들을 얻을 수 있다.
/media/disk가 내가 원하는 파일시스템이고 그러므로 그 이름은 /dev/sda5 이다.

만약 SCSI디스크를 시스템에 추가할 거라면,
디스크 추가시 변경될지도 모르는 디바이스 id에 UUID를 사용하는 것이 더 낫다.
다음을 입력함으로써 UUID를 알 수 있다. :

$sudo vol_id ?uuid /dev/sda5
95dbd64c-315c-41e9-8545-15398dba2ab6

이어 나오는 문자열이 당신의 디스크 UUID 이다.

그러면 이제 항목을 추가하자.

/dev/sda5 /media/disk ntfs defaults 0 0

UUID를 입력하고 싶을 경우엔 :

UUID=95dbd64c-315c-41e9-8545-15398dba2ab6   /media/disk   ntfs   defaults   0   0

그러면 이제 fstab 파일은 이렇게 된다 :

$cat /etc/fstab
#
proc    /proc    proc    defaults    0    0
# / was on /dev/sda2 during installation
UUID=035b3d25-c214-40e1-bce4-5c1cb7230113  /  ext3  relatime,errors=remount-ro   0   1
# swap was on /dev/sda5 during installation
UUID=792a7305-b558-48bc-b1c6-3df2b95fb4ea    none    swap    sw    0    0
/dev/scd0    /media/cdrom0    udf,iso9660    user,noauto,exec,utf8    0    0
# my disk to be automounted.
/dev/sda5    /media/disk    ntfs    defaults    0    0

이제 시스템을 재부팅하고 당신의 첫번째 자동마운트 하드디스크를 계속 즐겨라.

편의상 몇가지 임의로 수정했다.(줄맞추기 같은 거..)

실제로 해보면 마지막에 vol_id가 실행되지 않는다.(적어도 쿠분투 9.10에선)
또 다시 구글링해서...
참고글 2 : karmic-drops-vol_id-superceded-by-blkid
이것도 해석하려다 이건 정말 큰 내용없어서 요약만한다.
요는 9.10에서 vol_id를 버렸고... 그 대신 blkid를 사용할 수 있다는 것.
다만... 참고글 2처럼 바로 쓰면 안되고..
$ sudo blkid
로 실행해야 한다.

 

수정 - 2010.04.14
참고글 1의 링크 수정. 원 포스트가 redirection되어서 수정.