UDF 볼륨이란 무엇인가?
UDF(Universal Disk Format, 범용 디스크 포맷)는 컴퓨터 데이터 저장과 관련된 ISO 13346 및 ECMA-167 벤더 중립 국제 표준 규격입니다. 실무에서는 주로 DVD 제작에 사용되지만, 고정 디스크를 UDF로 포맷하는 것도 가능합니다. 보다 실질적으로는 CD-RW나 DVD-RW/DVD+R 같은 광학 미디어에 파일을 자유롭게 추가하고 삭제할 수 있도록 지원하는 용도로 널리 활용됩니다. 일부 전문가급 고급 디지털 캠코더에서 사용하는 비교적 드문 DVD-RAM 포맷 역시 UDF를 기반으로 합니다.
Ubuntu에서는 이러한 포맷의 디스크를 손쉽게 열 수 있으며, 일반적으로 모든 UDF 볼륨은 자동으로 마운트됩니다. 사용자는 광학 디스크를 넣기만 하면 파일 시스템이 자동으로 연결됩니다. 다만 간혹 직접 제작한 DVD가 Windows나 macOS에서는 정상 인식되는데 Ubuntu에서는 자동 마운트되지 않는 경우가 있습니다. 이는 Windows가 디스크의 내용을 여러 방식으로 추측해 가며 읽기 때문입니다. 다행히도 간단한 bash 명령어 한 줄이면 Ubuntu에서도 문제를 해결할 수 있습니다.
Ubuntu 파일 구조에 UDF 볼륨 마운트하기
먼저 광학 드라이브에 디스크를 넣고 파일 관리자를 열어 이미 마운트되었는지 확인합니다. 마운트되어 있다면 더 이상 진행할 필요가 없습니다. 그렇지 않다면 /media 디렉터리를 확인해 보세요. Ubuntu는 예전 리눅스 배포판들이 사용하던 /cdrom 디렉터리 대신 이 위치에 광학 디스크를 자동으로 마운트합니다.
그곳에도 없다면 Dash 메뉴(Xubuntu는 Whisker 메뉴)에서 '디스크(Disks)' 유틸리티를 실행하세요. Lubuntu 사용자는 LXDE 메뉴의 보조프로그램 항목에서 찾을 수 있습니다. 왼쪽 패널에서 CD/DVD 드라이브 아이콘을 클릭하고 볼륨 그래프를 살펴봅니다. 그래프에 내용이 표시되는데도 마운트되지 않았다면 그래프 아래의 오른쪽 방향 재생 버튼을 눌러 보세요. 이것만으로 볼륨이 마운트될 수 있습니다.
'디스크' 유틸리티가 디스크가 들어 있음에도 '미디어 없음(No Media)'으로 표시하는 경우도 있습니다. 이때는 디스크를 꺼내 표면을 부드럽게 닦은 뒤 다시 삽입해 보세요. 그리고 Ctrl+Alt+T를 동시에 눌러 터미널을 열고 다음 명령어를 입력한 후 Enter 키를 누릅니다.
sudo mount -t udf /dev/sr0 /cdrom
명령 실행 시 관리자 비밀번호를 요구받을 수 있습니다. 광학 드라이브가 두 개 이상이라면 장치 파일이 /dev/sr0에 할당되지 않을 수 있으므로, '디스크' 유틸리티에 표시된 장치 이름을 사용해야 합니다.
이 명령은 UDF 파일 구조를 루트의 비어 있는 /cdrom 디렉터리에 마운트합니다. 작업을 마친 후에는 반드시 umount /cdrom 명령으로 마운트를 해제한 뒤 디스크를 꺼내야 합니다.
bad superblock 오류 해결 방법
마운트 시점에 bad superblock 오류가 발생한다면 해당 디스크가 실제로는 UDF로 포맷되지 않았을 가능성이 있습니다. 이 경우 다음 명령으로 일반 CD-ROM처럼 마운트를 시도해 보세요.
sudo mount -t iso9660 /dev/sr0 /cdrom
DVD+R조차 작성 방식에 따라 UDF가 아닌 표준 ISO 9660 파일 시스템을 사용하는 경우가 종종 있습니다. 참고로 이러한 광학 볼륨은 읽기 전용으로만 마운트된다는 점을 유의해야 합니다.
디스크 이미지 파일 마운트하기
실제 DVD 대신 인터넷에서 내려받은 디스크 이미지를 사용하는 경우에도 같은 절차가 적용됩니다. 이때는 /dev/sr0 대신 디스크 이미지의 실제 경로와 파일명을 입력하면 됩니다. 덕분에 광학 드라이브가 없는 시스템에서도 디스크 이미지를 마운트할 수 있습니다.
이론적으로 UDF나 ISO 9660 어느 것도 사용하지 않는 디스크 이미지를 만드는 것도 가능합니다. more /proc/filesystems 명령을 입력하면 현재 Ubuntu가 지원하는 파일 시스템 목록을 확인할 수 있습니다. UDF와 ISO 9660 외에 가장 흔한 것은 ext2, ext3, ext4로, Linux의 표준 저장 포맷이므로 이미 잘 알고 있을 것입니다. 또한 vfat 파일 시스템을 사용하는 이미지도 종종 있는데, 이는 MS-DOS 시절에 쓰이던 FAT12, FAT16, FAT32 표준을 지원한다는 의미입니다. 다만 -t vfat 옵션으로 마운트한다고 해서 가상 파일 시스템을 마운트하는 것은 아닙니다. vfat는 Virtual FAT의 약자일 뿐, 디스크 이미지를 다룬다는 사실과는 무관합니다.
NTFS 이미지를 만나는 경우도 이론상 가능하지만 비교적 드뭅니다. 어떤 옵션으로도 마운트되지 않는다면 이미지 파일명을 바꿔 -t intfs 옵션을 시도해 볼 수 있습니다. 하지만 NTFS는 기술적으로 Linux에서 FUSE 확장으로 동작하기 때문에 성공 확률은 낮으며, -t fuse 옵션으로 시도해 보는 편이 좋습니다.
NTFS, FAT 계열, ext 계열 파일 시스템은 기본적으로 읽기 전용이 아니므로, 마운트 명령에 -r 또는 -o ro 옵션을 추가해 이미지에 실수로 쓰기 작업이 일어나지 않도록 하는 것이 좋습니다. 반면 순수한 UDF나 ISO 9660 이미지라면 굳이 이 옵션이 필요 없습니다. 광학 디스크에는 고정 디스크나 USB 메모리처럼 자유롭게 데이터를 쓸 수 없기 때문입니다.
광학 디스크에서 UDF, ISO 9660, 오디오 CD용 CDFS 변형 외의 파일 시스템을 발견하는 일은 사실상 불가능합니다. 일부 파일 시스템은 구조상 광학 디스크에 생성 자체가 되지 않습니다. 따라서 -t udf와 -t iso9660 옵션을 모두 시도한 후에도 계속 bad superblock 오류가 발생한다면, 광학 드라이브나 디스크 표면이 오염되었을 가능성이 크니 먼저 청소 상태를 점검해 보시기 바랍니다.
저자 소개
Kevin Arrows
Kevin Arrows는 10년 이상의 업계 경력을 지닌 베테랑 기술 전문가로, Microsoft Certified Technology Specialist(MCTS) 자격증을 보유하고 있습니다. 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 폭넓은 분야에서 기술 관련 글을 집필해 왔으며, 복잡한 기술 개념을 명확하고 간결하게 설명하는 능력으로 동료들에게 높은 평가를 받고 있습니다.