Ubuntu에서 스토리지 장치를 마운트하는 방법: 초보자부터 고급 사용자까지 완벽 가이드

目次

1. Ubuntu에서 “Mount”는 무엇을 의미할까?

마운트의 의미와 역할

Linux와 Ubuntu에서 “마운트”는 저장 장치를 파일 시스템에 연결하는 과정을 의미합니다.
예를 들어, USB 플래시 드라이브나 외장 하드 드라이브를 PC에 꽂는 것만으로는 그 내용에 바로 접근할 수 없습니다. Ubuntu는 “마운트”라는 과정을 수행하여 해당 저장 장치의 내용을 /media 또는 /mnt와 같은 특정 위치(마운트 지점)에서 볼 수 있게 합니다.

이는 “구성 요소”(저장 장치)를 “주 시스템”(Ubuntu)에 물리적으로 연결하여 그 내용물을 최종적으로 사용할 수 있게 하는 것이라고 생각하면 됩니다.

이 개념은 USB 드라이브와 같은 이동식 매체뿐만 아니라 내부 하드 드라이브 파티션, SSD, 심지어 네트워크 공유 폴더에도 적용됩니다.

파일 시스템과 장치의 관계

Linux, 특히 Ubuntu에서는 모든 파일과 디렉터리가 루트 디렉터리(/)에서 시작하는 하나의 계층 구조 안에 존재합니다.
외부 장치를 통합하려면 마운트 지점이라 불리는 빈 디렉터리를 만들고 그 장치를 “붙여”야 합니다. 마운트가 완료되면 시스템은 해당 장치를 마치 원래부터 파일 시스템의 일부였던 것처럼 취급합니다.

예를 들어, USB 드라이브를 /media/usb에 마운트하면 그 내용이 해당 디렉터리 아래에 나타나며 다른 파일처럼 복사, 편집, 삭제할 수 있습니다.

핵심은 Ubuntu는 장치를 마운트하지 않으면 접근할 수 없다는 점입니다.
시스템이 하드웨어를 인식하더라도 마운트가 완료되기 전까지 파일 읽기/쓰기 작업은 불가능합니다.

Ubuntu와 다른 운영 체제(Windows / macOS)와의 차이점

Windows에서는 USB 장치를 삽입하면 보통 D:나 E:와 같은 드라이브 문자에 자동으로 할당됩니다. Ubuntu에서는 장치가 자동으로 마운트되는지는 시스템 설정에 따라 달라집니다.
데스크톱 환경에서는 대부분의 저장 장치가 자동 마운트되지만, 서버 환경이나 터미널 중심 설정에서는 수동 마운트가 종종 필요합니다.

또 다른 차이점은 파일 시스템 인식입니다. Windows 사용자는 NTFS나 FAT32와 같은 파일 시스템 유형을 거의 신경 쓰지 않지만, Ubuntu에서는 파일 시스템에 따라 마운트 옵션과 호환성이 달라집니다.
예를 들어, NTFS 장치를 완전히 다루려면 ntfs-3g 패키지를 설치해야 할 수도 있습니다.

요컨대, Ubuntu에서 마운트는 단순히 하드웨어를 연결하는 것이 아니라 스토리지를 운영 체제의 파일 시스템에 통합하는 중요한 과정입니다. 다음 섹션에서는 실용적인 마운트 방법과 설정 예제를 자세히 살펴보겠습니다.

2. Ubuntu에서 수동 마운트: 기본 방법

mount 명령의 기본 구문 및 사용법

Ubuntu에서 저장 장치를 수동으로 마운트하려면 mount 명령을 사용합니다.
구문은 간단하지만 매우 강력하고 유연합니다.

sudo mount [options] device_path mount_point

예를 들어, USB 드라이브(/dev/sdb1)를 디렉터리 /mnt/usb에 마운트하려면 다음 명령을 사용합니다:

sudo mount /dev/sdb1 /mnt/usb

이 명령을 실행하면 USB 드라이브의 파일이 /mnt/usb 안에 나타나며 읽기·쓰기 작업을 할 수 있게 됩니다.

마운트에는 루트 권한이 필요하므로 명령은 sudo와 함께 실행해야 합니다.

마운트 지점 만들기 및 관리

마운트 지점은 장치를 연결할 빈 디렉터리입니다.
이 디렉터리는 미리 만들어 두어야 합니다.

sudo mkdir -p /mnt/usb

-p 옵션을 사용하면 상위 디렉터리가 없을 경우 자동으로 생성됩니다.
임시 수동 마운트는 보통 /mnt 또는 /media 아래에 두지만, 원하는 어떤 디렉터리라도 사용할 수 있습니다.

장치를 마운트하면 마운트 지점 디렉터리 안에 장치의 파일이 나타납니다. 언마운트 후에는 다시 빈 디렉터리로 돌아갑니다.

장치 이름 및 UUID 확인 방법

디바이스를 마운트하려면 디바이스 이름(예: /dev/sdb1)을 알아야 합니다. 다음 명령어로 확인할 수 있습니다:

lsblk

lsblk 명령은 모든 연결된 블록 디바이스(HDD, SSD, USB 드라이브 등)를 목록으로 보여 주며, 크기와 마운트 상태도 표시합니다.

UUID(Universally Unique Identifier)를 확인해야 할 경우에는 다음을 사용합니다:

sudo blkid

blkid 명령은 각 디바이스에 대한 UUID와 파일 시스템 유형(ext4, ntfs, fat32 등)을 표시합니다. UUID는 fstab을 이용한 자동 마운트에 특히 중요합니다. 이는 이후에 자세히 다루겠습니다.

umount으로 디바이스 언마운트

마운트된 디바이스를 안전하게 분리하려면 umount 명령을 사용합니다.
예를 들어 /mnt/usb에 마운트된 디바이스를 언마운트하려면:

sudo umount /mnt/usb

디바이스 이름을 직접 지정할 수도 있습니다:

sudo umount /dev/sdb1

디바이스를 언마운트하지 않고 물리적으로 제거하면 데이터 손상이 발생할 수 있습니다. 디바이스를 분리하기 전에 항상 언마운트하세요.

3. 부팅 시 자동 마운트 (fstab)

/etc/fstab이란?

시작 시 Ubuntu가 디바이스를 자동으로 마운트하도록 하려면 /etc/fstab 파일을 사용합니다.
이 파일은 부팅 중에 어떤 디바이스를 마운트할지 정의하는 시스템 전역 설정 파일입니다.

예를 들어 외장 드라이브나 추가 파티션을 자주 사용하고 매번 수동으로 마운트하고 싶지 않다면, fstab에 항목을 추가하면 자동으로 마운트됩니다.

하지만 주의하세요: 잘못된 항목은 시스템이 정상적으로 부팅되지 않게 만들 수 있습니다.

더 안전한 구성을 위한 UUID 사용

fstab에서는 디바이스 이름(예: /dev/sdb1)이나 UUID 중 하나로 디바이스를 지정할 수 있습니다. UUID 사용을 강력히 권장합니다.
디바이스 이름은 연결 순서에 따라 바뀔 수 있지만, UUID는 변하지 않습니다.

먼저 UUID를 확인합니다:

sudo blkid

예시 출력:

/dev/sdb1: UUID="1234-ABCD" TYPE="vfat"

그런 다음 /etc/fstab에 다음 줄을 추가합니다:

UUID=1234-ABCD /mnt/usb vfat defaults 0 0

각 필드의 의미는 다음과 같습니다:

FieldDescription
UUID=…Unique identifier of the target device
/mnt/usbMount point
vfatFile system type
defaultsStandard mount options
0 0Backup and filesystem check settings

fstab 편집 시 오류 방지를 위한 팁

fstab에 오류가 있으면 부팅 문제가 심각해질 수 있습니다.
위험을 최소화하려면 다음 예방 조치를 따르세요:

  • 항상 백업을 생성 : sudo cp /etc/fstab /etc/fstab.bak
  • 마운트 지점이 존재하는지 확인 : sudo mkdir -p /mnt/usb 로 생성
  • 다음 명령으로 설정을 테스트:
    sudo mount -a
    

이 명령은 fstab에 정의된 모든 항목을 마운트해 보며, 오류가 없으면 설정이 유효함을 의미합니다.

4. USB 플래시 드라이브 및 외장 하드 드라이브 마운트 방법

FAT32, exFAT, NTFS 파일 시스템 차이점

Ubuntu에서 USB 플래시 드라이브나 외장 하드 드라이브를 마운트할 때는 파일 시스템 유형을 확인하는 것이 중요합니다. 가장 흔한 세 가지는 다음과 같습니다:

File SystemCharacteristicsUbuntu Support
FAT32Readable on almost all operating systemsSupported by default
exFATSupports large files, high compatibilitySupported by default on Ubuntu 20.04+, older versions require exfat-fuse
NTFSStandard file system on WindowsRead support by default; ntfs-3g recommended for full write support

NTFS 형식 디바이스를 완전히 다루려면 ntfs-3g를 설치합니다:

sudo apt update
sudo apt install ntfs-3g

디바이스 확인 및 수동 마운트 단계

USB 디바이스를 연결한 후, 먼저 디바이스 이름을 확인합니다:

lsblk

예시 출력:

sdb      8:16   1   16G  0 disk 
└─sdb1   8:17   1   16G  0 part /mnt/usb

이 경우 대상 파티션은 /dev/sdb1입니다. 마운트 지점을 생성합니다:

sudo mkdir -p /mnt/usb

그런 다음 디바이스를 마운트합니다:

sudo mount /dev/sdb1 /mnt/usb

디바이스의 내용이 /mnt/usb 아래에 나타나며 정상적으로 접근할 수 있습니다.

자동 마운트가 작동하지 않을 때 대처법

GNOME과 같은 데스크톱 환경에서는 USB 디바이스가 보통 자동으로 마운트됩니다. 그러나 서버 환경이나 특정 설정에서는 자동 마운트가 작동하지 않을 수 있습니다.

다음 해결책을 시도해 보세요:

  1. 파일 관리자에서 다시 연결 (데스크톱 환경)
  2. udisksctl 명령 사용 :
    udisksctl mount -b /dev/sdb1
    
  1. dmesg 로 커널 메시지 확인 :
    dmesg | tail
    

If messages such as “new USB device” do not appear, the issue may be a faulty cable or physical connection.

“new USB device”와 같은 메시지가 나타나지 않으면, 문제는 케이블 불량이나 물리적 연결일 수 있습니다.

장치를 안전하게 제거하기 (umount)

USB 장치를 마운트 해제 없이 제거하면 데이터 손상이 발생할 수 있습니다. 분리하기 전에 항상 마운트 해제하세요:

sudo umount /mnt/usb

If the mount point is unknown, you can specify the device directly:

마운트 지점을 모를 경우, 장치를 직접 지정할 수 있습니다:

sudo umount /dev/sdb1

Once unmounted successfully, the device can be safely removed.

마운트 해제가 성공하면, 장치를 안전하게 제거할 수 있습니다.

5. 네트워크 드라이브 마운트 (NAS)

Windows 공유 마운트 (SMB / CIFS)

Ubuntu는 SMB/CIFS 프로토콜을 사용하여 Windows 시스템이나 NAS 장치의 공유 폴더를 마운트할 수 있으며, 이를 로컬 디렉터리처럼 접근할 수 있습니다.

First, install the required package:

먼저, 필요한 패키지를 설치합니다:

sudo apt update
sudo apt install cifs-utils

Create a mount point:

마운트 지점을 생성합니다:

sudo mkdir -p /mnt/share

Then mount the shared folder:

그런 다음 공유 폴더를 마운트합니다:

sudo mount -t cifs //192.168.1.100/share /mnt/share -o username=USERNAME,password=PASSWORD,iocharset=utf8

Key points:

  • //192.168.1.100/share : IP 주소 및 공유 이름
  • /mnt/share : 로컬 마운트 지점
  • -o 옵션: 사용자 이름, 비밀번호, 문자 인코딩
  • iocharset=utf8 : 일본어 파일 이름이 깨지는 것을 방지합니다

If you do not want to expose passwords on the command line, see the section on secure credential management below.

명령줄에 비밀번호를 노출하고 싶지 않다면, 아래 보안 자격 증명 관리 섹션을 참고하세요.

NFS 공유 마운트

NFS(Network File System)는 Linux 시스템 간 파일 공유에 적합합니다.

Install the required client package:

필요한 클라이언트 패키지를 설치합니다:

sudo apt install nfs-common

Create a mount point:

마운트 지점을 생성합니다:

sudo mkdir -p /mnt/nfs

Mount the NFS share:

NFS 공유를 마운트합니다:

sudo mount -t nfs 192.168.1.200:/export/share /mnt/nfs

Adjust the path according to your server configuration.

서버 구성에 맞게 경로를 조정하세요.

To enable automatic mounting at boot, add the following entry to /etc/fstab:

부팅 시 자동 마운트를 활성화하려면, /etc/fstab에 다음 항목을 추가합니다:

192.168.1.200:/export/share /mnt/nfs nfs defaults 0 0

자격 증명 보안 관리 (사용자명 / 비밀번호)

Including passwords directly in mount commands is not recommended for security reasons. Instead, you can use a credentials file.

보안상의 이유로 마운트 명령에 비밀번호를 직접 포함하는 것은 권장되지 않습니다. 대신 자격 증명 파일을 사용할 수 있습니다.

  1. Create a credentials file (for example):

  2. 자격 증명 파일을 생성합니다(예시):

    sudo nano /etc/samba/credentials
    

File contents:

파일 내용:

username=your_username
password=your_password
  1. Restrict file permissions:

  2. 파일 권한을 제한합니다:

    sudo chmod 600 /etc/samba/credentials
    
  1. Add the following entry to fstab :

  2. fstab에 다음 항목을 추가합니다:

    //192.168.1.100/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8 0 0
    

This allows automatic mounting at boot without exposing passwords.

이렇게 하면 비밀번호를 노출하지 않고 부팅 시 자동 마운트가 가능합니다.

일본어 파일 이름 깨짐 방지 (Locale 설정)

If Japanese filenames appear as “????.txt” when mounting SMB shares, the issue is usually related to character encoding.

SMB 공유를 마운트할 때 일본어 파일 이름이 “????.txt”와 같이 표시된다면, 일반적으로 문자 인코딩 문제입니다.

Ensure the following option is specified:

다음 옵션이 지정되어 있는지 확인하세요:

iocharset=utf8

Also verify your system locale:

시스템 로케일도 확인하세요:

locale

If ja_JP.UTF-8 is not present, install and enable the Japanese locale:

ja_JP.UTF-8가 없으면, 일본어 로케일을 설치하고 활성화하세요:

sudo apt install language-pack-ja
sudo update-locale LANG=ja_JP.UTF-8

Log out or reboot to apply the changes.

변경 사항을 적용하려면 로그아웃하거나 재부팅하세요.

6. 일반 오류 및 문제 해결

“Target Is Busy”가 나타날 때

오류 메시지:

umount: /mnt/usb: target is busy.

This error occurs when the device you are trying to unmount is currently being used by one or more processes.

이 오류는 마운트 해제하려는 장치가 현재 하나 이상의 프로세스에 의해 사용 중일 때 발생합니다.

일반적인 원인:

  • 다른 터미널이 현재 해당 디렉터리로 cd 되어 있음
  • GUI 애플리케이션에서 파일이 열려 있음
  • 백그라운드 프로세스가 장치의 파일에 접근 중

해결 방법:

  1. Identify the processes using the mount point:

  2. 마운트 지점을 사용 중인 프로세스를 확인합니다:

    lsof /mnt/usb
    
  1. Terminate or close the identified processes

  2. 확인된 프로세스를 종료하거나 닫습니다

  3. If the issue persists, use fuser :

  4. 문제가 지속되면 fuser를 사용합니다:

    sudo fuser -km /mnt/usb
    

This command forcibly terminates processes using the mount point. Use it with caution.

이 명령은 마운트 지점을 사용 중인 프로세스를 강제로 종료합니다. 주의해서 사용하세요.

“Permission Denied” 오류 해결

오류 메시지:

mount: /mnt/share: permission denied.

이 오류는 마운트 지점 또는 장치에 대한 권한이 충분하지 않음을 나타냅니다.

해결 방법:

  1. sudo를 사용했는지 확인하십시오:
    sudo mount /dev/sdb1 /mnt/usb
    
  1. 필요에 따라 마운트 지점 소유권을 조정하십시오:
    sudo chown $USER:$USER /mnt/usb
    
  1. SMB 공유의 경우, 서버에서 자격 증명 및 접근 권한을 확인하십시오

자동 마운트가 작동하지 않을 때

fstab을 구성한 후에도 부팅 시 장치가 자동으로 마운트되지 않을 수 있습니다.

확인할 사항:

  • fstab 구문 오류 (공백, 파일시스템 유형)
  • 올바른 UUID (sudo blkid 로 확인)
  • 마운트 지점 존재 여부 (mkdir 로 생성)
  • 부팅 시 네트워크 공유가 아직 사용 가능하지 않음 (SMB / NFS)

디버깅:

sudo mount -a

오류가 나타나면 해당 fstab 항목을 수정하십시오.

dmesg 및 journalctl 로 로그 확인

자세한 오류 정보는 시스템 로그에 기록되는 경우가 많습니다.

dmesg | tail -n 20

보다 자세한 로그를 보려면:

journalctl -xe

이 로그들은 하드웨어 문제나 잘못된 마운트 옵션을 식별하는 데 도움이 됩니다.

기타 일반적인 마운트 관련 오류

SymptomCauseSolution
mount: unknown filesystem type ‘exfat’exFAT not supportedsudo apt install exfat-fuse exfat-utils
I/O error when mounting SMBSMB version mismatchAdd vers=1.0 or vers=3.0 to mount options
Filenames appear as ????Locale / encoding issueAdd iocharset=utf8 or review locale settings

7. 참고: 일반적인 마운트 명령 및 사용법

■ 장치 확인

lsblk

연결된 장치와 파티션 구조를 표시합니다.

lsblk

예시:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb      8:16   1  16G  0 disk 
└─sdb1   8:17   1  16G  0 part /mnt/usb

blkid

UUID와 파일시스템 유형을 표시합니다.

sudo blkid

■ 마운트 및 언마운트

mount

스토리지를 마운트하는 기본 명령입니다.

sudo mount /dev/sdb1 /mnt/usb

파일시스템 및 옵션 지정:

sudo mount -t vfat -o uid=1000,gid=1000 /dev/sdb1 /mnt/usb

umount

마운트된 장치를 언마운트합니다.

sudo umount /mnt/usb

또는 장치를 지정합니다:

sudo umount /dev/sdb1

■ 자동 마운트

/etc/fstab

시스템 시작 시 장치를 마운트하기 위한 구성 파일입니다.

sudo nano /etc/fstab

예시 항목:

UUID=1234-ABCD /mnt/usb vfat defaults 0 0

mount -a

fstab에 정의된 모든 항목을 검증하고 마운트합니다.

sudo mount -a

■ 문제 해결 도구

dmesg

마운트 관련 오류에 대한 커널 로그를 확인합니다.

dmesg | tail -n 20

journalctl

자세한 시스템 로그를 표시합니다.

journalctl -xe

lsof

마운트 지점을 사용 중인 프로세스를 식별합니다.

lsof /mnt/usb

fuser

마운트 지점을 사용 중인 프로세스를 강제로 종료합니다.

sudo fuser -km /mnt/usb

■ 네트워크 공유

cifs-utils

SMB/CIFS 마운트에 필요합니다.

sudo apt install cifs-utils

nfs-common

NFS 마운트에 필요합니다.

sudo apt install nfs-common

udisksctl

GUI가 없는 환경에서 간단한 마운트/언마운트를 수행합니다.

udisksctl mount -b /dev/sdb1
udisksctl unmount -b /dev/sdb1

8. FAQ: Ubuntu에서 마운트에 관한 자주 묻는 질문

Q1. USB 장치가 자동으로 마운트되지 않는 이유는 무엇인가요?

A. USB 장치는 일반적으로 데스크톱 환경에서 자동으로 마운트되지만, 다음과 같은 경우 자동 마운트가 실패할 수 있습니다:

  • Ubuntu Server 또는 GUI가 없는 환경을 사용하고 있는 경우
  • 장치가 올바르게 인식되지 않음(케이블 또는 하드웨어 문제)
  • 장치에 파일시스템이 없거나 손상된 경우

lsblk 또는 dmesg를 사용해 장치 인식을 확인한 후 수동으로 마운트해 보십시오.

Q2. fstab을 편집한 후 Ubuntu가 부팅되지 않습니다. 어떻게 해야 하나요?

A. 잘못된 fstab 항목은 시스템이 유지보수 모드에서 멈추게 할 수 있습니다.

복구 단계:

  1. 유지보수 모드에 로그인하고 fstab을 편집합니다 :
    sudo nano /etc/fstab
    
  1. #을 사용해 잘못된 줄을 주석 처리합니다
  2. mount -a를 실행해 오류가 없는지 확인합니다
  3. 시스템을 재부팅합니다

편집하기 전에 항상 백업을 생성하십시오:

sudo cp /etc/fstab /etc/fstab.bak

Q3. Windows 공유 폴더를 자동으로 마운트하려면 어떻게 해야 하나요?

A. credentials 파일을 사용하여 /etc/fstab에 항목을 추가합니다.

//192.168.1.100/share /mnt/share cifs credentials=/etc/samba/credentials,iocharset=utf8 0 0

sudo mount -a 로 기능을 확인합니다.

Q4. 매번 비밀번호를 입력하지 않고 마운트하려면 어떻게 해야 하나요?

A. SMB 마운트에는 자격 증명 파일을 사용합니다. 로컬 저장 장치의 경우, 올바른 fstab 설정으로 비밀번호 입력을 없앨 수 있습니다.

Q5. 현재 마운트된 장치를 어떻게 확인하나요?

A. 다음 명령 중 하나를 사용합니다:

mount | column -t

또는 더 시각적인 방법으로 확인하려면:

lsblk -f

Q6. “Target is busy”가 애플리케이션을 닫은 뒤에도 나타납니다

A. 남아 있는 프로세스를 확인합니다:

lsof /mnt/usb

또는 강제로 종료합니다:

sudo fuser -km /mnt/usb

그런 다음 umount 를 다시 시도합니다.

9. Summary

Ubuntu에서 마운트는 스토리지 장치와 네트워크 공유를 효과적으로 관리하기 위한 기본 기술입니다.
이 문서는 기본 개념부터 고급 설정 및 문제 해결까지 모두 다룹니다.

Key Takeaways

  • 마운트는 장치를 Linux 파일 시스템에 통합합니다
  • 수동 마운트는 유연성과 제어를 제공합니다
  • fstab은 신뢰할 수 있는 자동 마운트를 가능하게 합니다
  • USB, 외장 드라이브, NAS는 파일시스템을 인식하는 처리가 필요합니다
  • 올바른 언마운트는 데이터 손상을 방지합니다
  • 문제 해결 도구는 일반적인 문제를 효율적으로 해결하도록 돕습니다

숙달하면 Ubuntu의 마운트 시스템은 탁월한 유연성과 강력함을 제공합니다.
이 가이드의 명령과 개념을 적용하여 필요에 맞는 안정적이고 효율적인 스토리지 환경을 구축하십시오.

이 지식은 일상적인 파일 관리부터 서버 운영 및 NAS 통합까지 모든 작업을 지원하며, Ubuntu를 자신감과 정확성으로 사용할 수 있게 합니다.