Linux

filesystem mount error로 인한 서버 부팅 이슈

thxxyj 2026. 3. 27. 22:28
728x90

이슈 현상

  1. sudo 로도 파일 편집이 안되고 readonly 상태일 때
  2. /boot, /boot/efi filesystem이 마운트 되지 않아 서버 부팅이 제대로 안될 때 (아래와 같은 상황인 경우)
thxxyj@worker01:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  9.2M  1.6G   1% /run
/dev/sdb4       452G   45G  384G  11% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/loop0       62M   62M     0 100% /snap/core20/1611
/dev/loop1       68M   68M     0 100% /snap/lxd/22753
/dev/loop2       92M   92M     0 100% /snap/lxd/24061
/dev/loop4       41M   41M     0 100% /snap/snapd/19993
/dev/loop3       41M   41M     0 100% /snap/snapd/20290

 


 

1. sudo 로 편집해도 파일이 readonly 상태인 경우

 

1. 원인

  1. 루트 파일 시스템이 읽기 전용(RO)으로 마운트된 경우
    – 보통 디스크 오류, 파일시스템 오류, 강제 종료 등으로 인해 자동으로 읽기 전용으로 변할 수 있음
  2. `/etc/fstab` 파일 자체에 immutable 속성(`chattr +i`)이 걸린 경우
  3. 루트 권한이 아닌 상태에서 수정 시도 (sudo로도 불가하다면 위 1, 2가 주원인)

 

2. 진단 및 해결 방법

 

1) 루트 파일시스템이 읽기 전용인지 확인

mount | grep ' / '
  • 결과에 `(ro, `가 있으면 읽기 전용
    예시: `... on / type ext4 (ro,relatime,errors=remount-ro)`

 

 

* 해결: 읽기/쓰기(rw)로 remount

sudo mount -o remount,rw /
  • 성공하면 다시 `/etc/fstab`을 수정할 수 있음

 

 

2) 파일 자체가 immutable 속성인지 확인

lsattr /etc/fstab
  • 결과에 `----i--------`처럼 i가 있으면 immutable 속성

 

* 해결: 속성 해제

sudo chattr -i /etc/fstab

이후 재수정 시도

 

 

2. `/etc/fstab` 복원 또는 재작성

 

1) 기존 백업 파일 확인

보통 `/etc/fstab~` 또는 `/etc/fstab.bak` 형태로 백업이 있을 수 있음

ls /etc/fstab*
 
백업이 있다면 복원:
sudo cp /etc/fstab~ /etc/fstab
 

 

2) 새로 작성하기

백업이 없다면, 아래 방법으로 새로 작성해야 함

 

(1) 파티션 정보 확인

sudo blkid
sudo lsblk -f

위 명령어 결과에서 각 파티션의 UUID, 마운트 타입, 디바이스명을 확인

 

(2) 예시 fstab 작성

아래는 UEFI 시스템(부트, 부트 EFI, 루트, 데이터) 예시

UUID=<루트-UUID>      /           ext4    errors=remount-ro 0 1
UUID=<boot-UUID>      /boot       ext4    defaults          0 2
UUID=<efi-UUID>       /boot/efi   vfat    defaults          0 1
UUID=<data-UUID>      /data       ext4    defaults          0 2
  • 각 `<UUID>`는 `blkid` 명령어 결과에서 해당 파티션의 UUID로 대체

 

(3) fstab에 적용

sudo vi /etc/fstab

위 예시와 같이 입력 후 저장

 

 

3. fstab 적용 및 테스트

수정 후 아래 명령어로 fstab 마운트 테스트:

sudo mount -a

 

에러가 없다면 정상

 

최종적으로 서버 재부팅 후 변경사항 적용되었는지 확인

 
728x90