리눅스 파티션 구성은 초보자는 물론 경험 많은 사용자들에게도 늘 고민거리입니다. 윈도우와 리눅스를 듀얼부팅할 때는 어떤 구성이 좋을까요? 리눅스만 사용할 계획이라면 파티션을 어떻게 나눠야 할까요? "/home" 디렉터리를 별도 파티션으로 분리하는 것이 좋을까요? 왜 어떤 사람들은 "/boot"를 독립된 파티션에 넣을까요? 그리고 전용 부팅 파티션이 정말 필요할까요? 이 글에서는 리눅스 파티션 구성과 관련된 이런 궁금증들을 하나하나 짚어봅니다.
참고: 이 글은 파티션 작업의 "방법"이 아니라 "이유"에 초점을 맞춥니다. 방법은 시스템마다 크게 달라지고 사용 목적에 따라 달라지기 때문입니다. 구체적인 작업 방법이 궁금하다면 GNOME 파티션 편집기(GParted)로 파티션을 생성하고 크기를 조정하는 방법을 다룬 별도의 가이드를 참고하세요.
참고: 설명의 편의를 위해 이 가이드의 모든 예시는 100GB 드라이브를 기준으로 하며, "swap(스왑)" 파티션은 표시하지 않습니다.
윈도우 듀얼부팅 환경 만들기
적절한 파티션 구성만 갖추면 윈도우와의 듀얼부팅은 생각보다 훨씬 간단합니다. 듀얼부팅을 계획할 때 가장 중요한 점은, 많은 버전의 윈도우가 자신이 시스템의 유일한 운영체제라고 가정한다는 사실입니다. 윈도우는 흔히 드라이브의 첫 번째 파티션 외의 위치를 싫어하고, 설치 과정에서 앞을 막는 데이터를 지워버릴 수도 있습니다. 따라서 미리 이 점을 알고, 리눅스를 설치하기 전에 윈도우가 먼저 첫 번째 파티션을 차지하도록 하면 많은 수고를 덜 수 있습니다.

위 예시에서는 드라이브의 첫 번째 파티션으로 50GB 크기의 윈도우 파티션을 만들었습니다. 먼저 윈도우를 설치하고, 설치가 끝나면 남은 공간에 원하는 리눅스 배포판을 설치하면 됩니다. 대부분의 최신 리눅스 배포판은 기존의 윈도우 설치를 자동으로 감지해 GRUB 부팅 메뉴에 추가해 줍니다.
또 다른 방법은 윈도우를 아예 별도의 드라이브에 설치해 드라이브 하나를 통째로 할당하는 것입니다. 이렇게 하면 리눅스 역시 하나의 드라이브 전체를 자유롭게 사용할 수 있으며, 이 경우 아래 소개할 단일 리눅스 구성 예시 중 하나와 같은 형태가 됩니다.
개인 데이터 분리하기: /home 파티션
리눅스에서 가장 널리 쓰이는 구성 중 하나는 "/home" 디렉터리를 별도의 파티션으로 분리하는 것입니다. 이 방식에는 여러 장점이 있습니다. 첫째, 사용자 파일이 차지할 수 있는 공간의 상한을 정할 수 있습니다. 더 중요한 점은, 개인 파일을 시스템 파일("/" 디렉터리)과 분리해 두면 시스템에 무슨 일이 생기더라도 "/home" 디렉터리는 안전하게 보존된다는 것입니다. 즉, 운영체제 전체를 재설치하더라도 개인 문서, 프로필, 일부 애플리케이션 및 데스크톱 설정은 그대로 유지할 수 있습니다.
예를 들어, "/home"을 별도 파티션으로 구성한 우분투를 사용 중이라고 가정해 봅시다. 가족 사진이나 문서 같은 파일이 많이 저장되어 있다면, 시스템 전체를 포맷하며 재설치하거나 업그레이드해도 개인 데이터는 그대로 남습니다. 재설치가 끝난 후에도 파일과 설정이 이전과 완전히 동일하게 유지됩니다.

물론 용도에 맞게 파티션 크기는 얼마든지 조정할 수 있습니다. 대부분의 애플리케이션은 "/bin", "/opt", "/usr/bin"에 설치되므로, 프로그램을 많이 설치하는 편이라면 위 예시와 비슷한 비율로 "/" 파티션을 넉넉히 잡는 것이 좋습니다. 반대로 워크스테이션이나 서버처럼 개인 데이터가 많지 않은 시스템이라면 "/" 파티션을 키우는 것이 합리적입니다. 일반 데스크톱 용도로 사용할 계획이라면 "/home" 파티션의 비중을 늘리는 것이 좋겠죠.
멀티부팅을 위한 커널 분리: /boot 파티션
많은 사용자가 "/" 파티션과 별개로 작은 "/boot" 파티션을 따로 만듭니다. 필수는 아니지만, 한 대의 머신에서 여러 리눅스 배포판을 함께 운영할 때 매우 유용합니다. "/boot" 파티션은 리눅스가 커널과 GRUB 메뉴를 저장하는 곳이기 때문에, 이를 공유하면 여러 배포판이 동일한 부팅 정보를 함께 사용할 수 있습니다. 특히 직접 커스텀 커널을 빌드하는 사용자라면, 커스텀 커널을 부트 파티션에 두고 두 배포판 모두가 하나의 커널로 부팅되게 할 수도 있습니다.

"/boot" 파티션은 클 필요가 없습니다. 수많은 커널을 저장할 계획이 아니라면 100MB 정도면 충분합니다.
UEFI 방식으로 부팅하고 싶다면 "/boot/efi" 파티션을 추가로 만들 수도 있습니다. 이 경우 100MB짜리 "/boot" 파티션 외에 약 100MB가 더 필요합니다.
일반적인 파티션 구성은 어떤 모습일까?
"일반적"의 기준은 사람마다 다르지만, 대부분의 리눅스 사용자는 데스크톱 시스템에 적합한 파티션 구성을 찾고 있을 것입니다. 데이터를 안전하게 보호하면서도 디스크 공간을 가장 효율적으로 활용하는 것이 목표일 텐데요. 100GB 디스크를 기준으로 한다면, 일반적으로 100MB의 "/boot" 파티션(단일 리눅스 설치라면 생략 가능), 25GB의 "/" 파티션, 그리고 약 75GB의 "/home" 파티션으로 나누는 것이 좋습니다.
이렇게 구성하면 커널 세 개 정도를 담을 수 있는 컴팩트한 부트 파티션, 충분한 양의 프로그램을 저장할 수 있는 적절한 크기의 "/" 파티션, 그리고 모든 개인 데이터를 담을 수 있는 넉넉한 홈 폴더를 확보하게 됩니다. 디스크 용량이 더 있다면 추가 파티션을 만들거나 "/home" 파티션을 확장해 파일을 저장하면 됩니다.
파티션으로 분리하면 안 되는 영역
반대로 반드시 "/" 안에 두어야 하는 파일시스템 영역도 있습니다. "/bin", "/lib", "/etc"의 내용은 부팅 직후 즉시 필요한 경우가 많은데, 별도 파티션으로 분리해 두면 필요한 시점에 마운트되지 않아 문제가 발생할 수 있습니다. 예를 들어 "/lib"에는 커널이 부팅되는 순간 바로 필요로 하는 커널 모듈들이 들어 있는 경우가 많습니다. 해당 파티션이 아직 로드되지 않았다면 시스템이 정상적으로 부팅되지 못하는 심각한 상황이 벌어질 수 있습니다.
리눅스 파티션 구성에 대해 이해했다면, zswap, zram, zcache가 무엇인지 그리고 이를 시스템에서 활용하는 방법도 함께 살펴보세요.