Ubuntu 22.04에서 재부팅 후 디스크가 자동으로 마운트되지 않는 문제를 해결하는 방법

안녕하세요. VISION IDC 기술팀입니다.

Ubuntu 22.04에서 추가 디스크를 수동으로 마운트하면 정상적으로 사용할 수 있지만, 서버를 재부팅한 뒤 자동으로 마운트되지 않는 경우가 있습니다. 대부분은 /etc/fstab에 등록된 UUID, 파일시스템 형식, 마운트 지점 또는 옵션이 실제 디스크 정보와 일치하지 않아 발생합니다.

이번 문서에서는 디스크 인식 상태와 부팅 로그를 확인하고, /etc/fstab을 안전하게 수정한 뒤 재부팅 전 자동 마운트 설정을 검증하는 방법을 설명합니다. 잘못된 설정은 서버를 비상 모드로 부팅시킬 수 있으므로 반드시 설정 파일을 백업하고 현재 원격 접속 세션을 유지한 상태에서 진행하시기 바랍니다.

적용 환경

운영체제 Ubuntu Server 22.04 LTS
대상 로컬 HDD, SSD, 가상 디스크, 클라우드 블록 스토리지
주요 설정 파일 /etc/fstab
부팅 방식 systemd가 /etc/fstab 항목을 마운트 유닛으로 변환하여 처리

Ubuntu 22.04 LTS는 2026년 8월 기준 표준 보안 유지보수 기간에 포함됩니다.

작업 전 주의사항

먼저 현재 설정을 날짜가 포함된 파일명으로 백업합니다.

sudo cp -a /etc/fstab "/etc/fstab.backup-$(date +%Y%m%d-%H%M%S)"

백업 파일이 생성되었는지 확인합니다.

ls -l /etc/fstab*

디스크와 현재 마운트 상태 확인

1. 운영체제가 디스크를 인식하는지 확인

블록 장치, 파일시스템 형식, UUID와 현재 마운트 지점을 함께 확인합니다.

lsblk -f
sudo blkid

자동 마운트할 파티션이 목록에 없으면 fstab을 수정하기 전에 디스크 연결 상태부터 해결해야 합니다. 가상 서버나 클라우드 환경이라면 관리 패널에서 해당 볼륨이 현재 서버에 연결되어 있는지도 확인합니다.

2. 현재 마운트 여부 확인

현재 커널이 인식하고 있는 마운트 정보를 확인합니다.

findmnt
df -hT

예를 들어 디스크를 /data에 마운트하려는 경우 다음 명령으로 해당 경로만 조회할 수 있습니다.

findmnt --target /data

fstab 설정 오류 확인

1. 활성화된 fstab 항목 확인

주석과 빈 줄을 제외한 실제 설정을 확인합니다.

grep -Ev '^[[:space:]]*(#|$)' /etc/fstab

/etc/fstab의 각 행은 일반적으로 다음 여섯 필드로 구성됩니다.

필드 설명 예시
1 마운트할 장치 식별자 UUID=...
2 마운트 지점 /data
3 파일시스템 형식 ext4
4 마운트 옵션 defaults
5 dump 백업 사용 여부 0
6 부팅 시 파일시스템 검사 순서 2

2. UUID와 파일시스템 형식 비교

fstab에 적힌 UUID와 lsblk -f 또는 blkid가 출력한 실제 UUID가 정확히 일치해야 합니다. 디스크를 포맷하거나 복제본으로 교체하면 UUID가 바뀔 수 있습니다.

장치명인 /dev/sdb1도 사용할 수 있지만, 장치명은 하드웨어 구성이나 인식 순서에 따라 달라질 수 있으므로 자동 마운트에는 UUID 사용이 권장됩니다.

3. 설정 문법 검증

실제 마운트를 시도하기 전에 findmntfstab 문법과 장치 참조를 검사합니다.

sudo findmnt --verify --verbose

오류가 표시되면 해당 행의 필드 수, UUID, 마운트 지점, 파일시스템 형식과 옵션을 먼저 수정합니다. 검증이 끝나기 전에는 재부팅하지 마십시오.

자동 마운트 설정 수정

1. 마운트 지점 생성

이 문서에서는 추가 디스크를 /data에 마운트하는 예시를 사용합니다. 실제 운영 환경에 맞는 경로로 변경하십시오.

sudo mkdir -p /data

2. fstab 수정

편집기로 설정 파일을 엽니다.

sudo nano /etc/fstab

ext4 파일시스템을 /data에 자동 마운트하는 기본 예시는 다음과 같습니다. YOUR_FILESYSTEM_UUIDsudo blkid에서 확인한 실제 UUID로 교체합니다.

UUID=YOUR_FILESYSTEM_UUID /data ext4 defaults 0 2

서버 부팅에 반드시 필요하지 않은 보조 디스크라면 다음과 같이 nofail과 장치 대기 시간을 추가할 수 있습니다.

UUID=YOUR_FILESYSTEM_UUID /data ext4 defaults,nofail,x-systemd.device-timeout=10s 0 2

XFS, Btrfs, NTFS 등 다른 파일시스템이라면 세 번째 필드의 형식과 필요한 패키지 및 옵션이 달라집니다. lsblk -f에서 확인한 형식을 임의로 바꾸지 마십시오.

재부팅 전후 정상 작동 확인

1. 설정 다시 검증

sudo findmnt --verify --verbose

치명적인 오류가 표시되지 않는지 확인합니다.

2. systemd 설정 갱신 후 실제 마운트 시험

/etc/fstab 변경 내용을 systemd에 다시 읽히고, 아직 마운트되지 않은 항목을 실제로 마운트합니다.

sudo systemctl daemon-reload
sudo mount -a

mount -a가 아무 메시지 없이 종료되는 것이 일반적입니다. 오류가 출력되면 재부팅하지 말고 해당 메시지를 기준으로 설정을 수정합니다.

3. 마운트 결과 확인

findmnt --target /data
df -hT /data

출력의 소스 장치, 파일시스템 형식과 대상 경로가 의도한 값과 일치해야 합니다.

4. 재부팅 후 확인

sudo reboot

서버가 다시 시작된 뒤 다음 명령으로 자동 마운트 여부와 실패한 마운트 유닛을 확인합니다.

findmnt --target /data
systemctl --failed --type=mount --no-pager

오류별 추가 점검

재부팅 후 자동 마운트 실패 시 자주 확인하는 항목
증상 또는 메시지 가능한 원인 확인 및 해결
special device UUID=... does not exist UUID 오타, 디스크 교체 또는 볼륨 미연결 lsblk -fblkid로 UUID를 다시 확인하고 관리 패널의 볼륨 연결 상태를 점검합니다.
wrong fs type, bad option, bad superblock 파일시스템 형식 불일치, 지원하지 않는 옵션, 파일시스템 손상 lsblk -f의 FSTYPE과 fstab을 비교하고 커널 로그를 확인합니다. 파일시스템 검사는 반드시 마운트를 해제한 상태에서 진행합니다.
재부팅 후 비상 모드 진입 필수 로컬 파일시스템의 마운트 실패 콘솔에서 잘못된 fstab 항목을 주석 처리하거나 수정한 뒤 검증합니다. 보조 디스크에만 필요에 따라 nofail을 검토합니다.
수동 마운트는 되지만 부팅 시 실패 장치 준비 지연, noauto 옵션, LVM 또는 암호화 볼륨 준비 순서 fstab에서 noauto를 확인하고 해당 마운트 유닛 로그와 장치 유닛 상태를 확인합니다.
경로가 마운트되었지만 애플리케이션 데이터가 보이지 않음 다른 장치가 같은 경로에 마운트되었거나 기존 디렉터리 위에 마운트됨 findmnt --target /data로 실제 소스 장치를 확인하고 마운트 지점 설계를 다시 점검합니다.

부팅 및 마운트 로그 확인

현재 부팅에서 발생한 중요 오류와 실패한 유닛을 확인합니다.

sudo journalctl -b -p err..alert --no-pager
systemctl --failed --no-pager

마운트 지점이 /data라면 systemd 유닛 이름은 일반적으로 data.mount입니다. 다음 명령으로 상태와 로그를 확인합니다.

systemctl status data.mount --no-pager
sudo journalctl -b -u data.mount --no-pager

중첩된 경로처럼 유닛 이름을 직접 판단하기 어렵다면 다음 명령으로 변환합니다.

systemd-escape --path --suffix=mount /data

디스크 또는 파일시스템 오류 확인

커널이 기록한 장치 인식 오류와 I/O 오류를 확인합니다.

sudo journalctl -k -b --no-pager

ext4 파일시스템의 점검 예시는 다음과 같습니다. /dev/sdb1은 실제 장치명으로 변경하며, 운영 중인 데이터가 사용 중이지 않은지 먼저 확인합니다.

sudo umount /data
sudo fsck -f /dev/sdb1

XFS와 같은 다른 파일시스템은 점검 및 복구 도구가 다르므로 fsck 명령을 그대로 적용하지 마십시오.

비상 모드로 부팅된 경우 복구

잘못된 /etc/fstab 항목 때문에 비상 모드로 진입했다면 서버 콘솔에서 관리자 셸로 접속합니다. 루트 파일시스템이 읽기 전용이면 먼저 읽기·쓰기 모드로 다시 마운트합니다.

mount -o remount,rw /

현재 설정을 백업한 뒤 편집기로 열어 잘못된 행을 수정하거나 행 앞에 #을 추가해 임시로 비활성화합니다.

cp -a /etc/fstab /etc/fstab.emergency-backup
nano /etc/fstab

수정 후 설정을 검증하고 systemd 구성을 갱신합니다.

findmnt --verify --verbose
systemctl daemon-reload
mount -a

오류가 더 이상 발생하지 않으면 기본 부팅 대상으로 전환하거나 서버를 재부팅합니다.

systemctl default

이전 부팅의 오류를 확인하려면 정상 부팅 후 sudo journalctl -b -1 -p warning..alert --no-pager를 사용할 수 있습니다.

재발 방지 방법

  • 장치명보다 UUID를 사용하고, 디스크를 포맷하거나 교체한 뒤에는 UUID를 다시 확인합니다.
  • /etc/fstab 변경 전에는 항상 백업 파일을 만듭니다.
  • 재부팅 전에 findmnt --verify --verbosemount -a를 모두 실행합니다.
  • 보조 디스크에만 필요에 따라 nofail과 제한된 장치 대기 시간을 적용합니다.
  • 마운트 지점에 애플리케이션 파일을 미리 저장하지 않고, 실제 마운트 여부를 서비스 시작 전에 확인합니다.
  • 원격 서버에서는 네트워크와 무관한 콘솔 접속 수단을 유지합니다.

자주 묻는 질문

장치명 대신 UUID를 사용해야 하나요?

장치명은 디스크 추가, 제거 또는 인식 순서에 따라 달라질 수 있습니다. 자동 마운트 설정에는 더 안정적인 UUID 사용이 권장됩니다.

mount -a가 성공하면 재부팅 후에도 반드시 마운트되나요?

mount -a는 현재 시점의 장치와 설정으로 실제 마운트를 시험하는 중요한 절차지만, 부팅 당시 장치 준비 지연이나 볼륨 연결 문제까지 완전히 보장하지는 않습니다. 재부팅 후 findmnt와 systemd 로그를 다시 확인해야 합니다.

nofail을 추가하면 모든 문제가 해결되나요?

아닙니다. nofail은 마운트가 실패해도 부팅을 계속하게 할 뿐입니다. UUID 오류, 파일시스템 손상이나 디스크 미연결 원인은 별도로 해결해야 합니다.

fstab의 마지막 숫자는 무엇을 의미하나요?

여섯 번째 필드는 부팅 중 파일시스템 검사 순서입니다. 일반적으로 루트 파일시스템은 1, 다른 로컬 파일시스템은 2, 검사하지 않을 항목은 0을 사용하지만 파일시스템과 운영 정책에 맞게 결정해야 합니다.

LVM 볼륨도 UUID로 등록할 수 있나요?

가능합니다. LVM 논리 볼륨 안에 생성된 파일시스템의 UUID를 blkid로 확인해 사용할 수 있습니다. 다만 부팅 시 볼륨 그룹이 활성화되지 않는 문제라면 pvs, vgs, lvs와 LVM 관련 로그도 함께 점검해야 합니다.

공식 참고자료

공식 자료 조회일: 2026년 8월 7일

마무리

Ubuntu 22.04에서 재부팅 후 디스크가 자동으로 마운트되지 않는 문제는 실제 장치의 UUID와 파일시스템 정보를 확인하고, /etc/fstab을 정확히 수정하면 대부분 해결할 수 있습니다.

가장 중요한 절차는 변경 전 백업, findmnt --verify를 이용한 문법 검사, mount -a를 이용한 실제 마운트 시험입니다. 이 검증이 모두 끝나기 전에는 원격 서버를 재부팅하지 않는 것이 안전합니다.

  • 0 사용자에게 유용한 정보 제공
이 답변이 도움이 되었나요?
« Back