Linux에서 파티션 생성 후 lsblk에 안 보일 때 확인해야 할 것들

안녕하세요! 혹시 Linux에서 디스크 파티션을 새로 만들었는데 lsblk 명령어로는 보이지 않는 경우, 당황하신 적 있으신가요? 이런 상황에서 어떤 과정을 거치면 문제를 정확히 파악하고 해결할 수 있는지 정리해봤어요. 실제 콘솔 화면도 캡처해놨으니 따라 해보시기 편할 거예요.


fdisk로 분명히 파티션을 만들었는데 왜 lsblk에는 안 뜰까?

우선 fdisk -l 명령어로 디스크 정보를 확인해봤어요. /dev/sda 디스크 아래에 여러 파티션이 잘 나오는 걸 볼 수 있었죠. sda1, sda2, sda3… 그리고 이번에 새로 만든 sda4도 분명 리스트에 있었고요. 아래 이미지처럼요:

그런데 신기하게도, lsblk 명령어로 확인해보면 sda4는 감쪽같이 사라져 있었어요. 이럴 땐 진짜 멘붕이죠. 도대체 왜 그럴까요?


파티션은 만들었지만 커널이 아직 인식 못하는 경우

알고 보니 fdisk로 파티션을 만든 직후, 그게 커널에 반영되지 않아서 lsblkdf 같은 명령어에 안 나올 수 있더라고요. 이럴 땐 다음 명령어를 입력해보세요:

partprobe

이 명령어는 디스크 파티션 테이블을 다시 읽도록 시스템에 알려주는 역할을 해요. 마치 “야, 새로 만든 파티션 좀 봐봐” 하고 커널을 툭툭 쳐주는 느낌이죠. 실행하고 나면, 아까 안 보이던 sda4가 드디어 lsblk 명령어에서도 나타납니다!


여전히 안 보인다면? parted나 blkid로 확인해보기

혹시 partprobe 후에도 lsblk에 여전히 안 보인다면, parted -l이나 blkid 명령어로 확인해보세요. 특히 blkid는 파일 시스템이 있는지 여부도 함께 보여줘서 디바이스 상태 파악에 도움이 돼요.

그리고 진짜 마지막으로, /proc/partitions 파일을 직접 열어보는 것도 하나의 방법이에요:

cat /proc/partitions

이렇게 해서도 안 뜬다면… 그건 뭔가 시스템 레벨의 이상이 있을 수 있어요. 파티션이 진짜 만들어졌는지, 혹은 디바이스 파일이 /dev 아래에 생성됐는지를 체크해야 합니다.


혹시 mount가 안 되어 있어서 그런 건 아닐까?

또 하나 체크해야 할 건 마운트 여부예요. lsblk는 마운트된 디스크 정보를 중심으로 보여주는 경향이 있어서, 마운트되지 않은 새 파티션이 있으면 리스트에 빠져 있을 수도 있어요.

이런 경우엔 다음과 같이 파일 시스템을 만든 후 마운트하면 됩니다:

mkfs.ext4 /dev/sda4
mount /dev/sda4 /mnt

그럼 lsblk에서도 딱 보일 거예요!


결론!

요약하자면 이래요:

  1. fdisk로 파티션을 만들었다면,
  2. partprobe로 커널에 갱신 알리기
  3. 그래도 안 보이면 blkid, parted -l, /proc/partitions 확인
  4. 파일 시스템 만들기 & 마운트
  5. 이후 lsblk로 다시 확인!

혹시 저처럼 처음에 헤매셨던 분이 계시다면… 이 글이 조금이라도 도움이 되었으면 좋겠어요. 직접 해보고, 안 될 땐 무작정 다시 포맷하지 마시고 천천히 위 과정부터 하나씩 체크해보세요.


참고자료1: 디스크 파티션 생성 과정 정리

리눅스에서 디스크 파티션을 만들 때 가장 많이 쓰는 명령어가 fdisk예요. 특히 /dev/sda처럼 주요 디스크에 대해 작업할 땐 더 조심해야 하죠. 저는 fdisk /dev/sda 명령어를 사용해 새로운 파티션을 만들었어요. 이때 중요한 건 마지막에 w를 눌러 저장하는 거예요. 저장하지 않으면 변경사항은 사라져요.

아래 스크린샷을 보면 알 수 있듯이, fdisk로 sda 디스크에 sda4라는 새 파티션을 만들고, lsblk로 확인했을 땐 안 보이는 문제가 발생했어요. 이건 초보자뿐 아니라 중급 사용자도 자주 놓치는 부분이에요. 디스크 파티션을 만든다고 끝이 아니라는 점을 꼭 기억해야 해요.


참고자료2: partprobe 명령어의 진짜 역할

저는 이 상황에서 partprobe라는 명령어를 알게 됐어요. 정말 신세계더라고요. 단순히 새로 만든 파티션을 “커널에 알려주는” 기능인데, 그 효과는 굉장했어요. lsblk에 안 보이던 파티션이 바로 나타났거든요.

리눅스 커널은 기본적으로 자동으로 파티션 변화를 감지하지 않아요. 그래서 fdisk로 뭔가 바꾸면 꼭 partprobe로 알려줘야 해요. partprobeutil-linux 패키지에 포함돼 있어서 대부분의 리눅스 배포판에 기본 설치돼 있어요. 만약 없다면 설치부터 해야겠죠.

참고자료: The Linux Command Line, William Shotts (No Starch Press, 2019). 해당 도서에서도 partprobe의 중요성을 강조하고 있어요.


참고자료3: 파일 시스템 생성과 mount 단계

파티션을 만들고 커널에도 반영했다면, 이제 해야 할 건 파일 시스템 만들기와 마운트죠. 그냥 파티션만 있다고 저장이 가능한 게 아니니까요. 저는 mkfs.ext4 /dev/sda4로 파일 시스템을 만들었고, mount /dev/sda4 /mnt로 임시 마운트 했어요.

이 과정을 마치고 다시 lsblk로 확인하니, MOUNTPOINT 항목까지 제대로 나오는 걸 볼 수 있었죠. 이때는 정말 쾌감이… 뭐랄까, 숨통이 트이는 느낌이었어요. 괜히 뭔가 큰 걸 해결한 기분이랄까.

이런 식으로 단계를 하나하나 따라가면, 시스템을 잘 몰라도 대부분의 문제는 해결할 수 있어요. 익숙해지면 순식간에 처리할 수 있고요. 단, 중요한 건 “커널 반영 + 파일 시스템 생성 + 마운트” 이 세 가지 단계를 꼭 거쳐야 한다는 점이에요.

참고자료4: lsblk 말고도 확인할 수 있는 명령어들

사실 lsblk는 파티션을 보여주는 대표적인 도구지만, 모든 걸 다 보여주지는 않아요. 특히 마운트가 안 된 파티션이나, 파일 시스템이 없는 경우엔 리스트에서 누락되는 경우가 있죠. 이럴 땐 다른 도구들을 활용해봐야 해요.

가장 먼저 떠오르는 게 blkid예요. 이 명령어는 디바이스와 함께 UUID, 파일 시스템 타입 등을 보여줘요. 저는 blkid/dev/sda4가 ext4로 잘 포맷되었는지를 확인했어요. 그 외에도 parted -l 명령어는 디스크 전체 정보를 한 눈에 보여줘서 초보자한테 특히 좋아요. 만약 이 두 개로도 안 보이면 /proc/partitions를 열어보는 것도 하나의 방법이고요.

cat /proc/partitions

이 파일은 커널이 인식하고 있는 디스크 파티션 목록을 보여줘요. 장치명을 직접 찾기 때문에, lsblk보다 더 낮은 수준에서 확인이 가능하죠.


참고자료5: 파티션이 보이지 않는 진짜 이유들

그럼 정리해볼게요. 새로 만든 파티션이 lsblk에 보이지 않는 데는 여러 가지 이유가 있어요:

  • 커널에 아직 반영되지 않음 (partprobe로 해결 가능)
  • 파일 시스템이 없어 lsblk에서 숨겨짐
  • 마운트되지 않아 리스트에서 빠짐
  • 디스크 장치 이름을 잘못 봤거나, udev가 아직 동작하지 않음

특히 udev가 디바이스 노드를 생성해주는 과정이 지연될 수도 있어서, 파티션 만들고 바로 lsblk를 확인하면 잠깐 보이지 않는 경우도 있어요. 이럴 땐 그냥 3~5초 정도 기다렸다 다시 해보는 것도 한 방법이에요. 너무 조급해하지 마세요—


FAQ

Q1. fdisk로 파티션을 만들었는데 저장 안 하고 나왔어요. 다시 만들어야 하나요?
A1. 저장하지 않고 fdisk를 종료했다면 실제 디스크에는 아무런 변화가 반영되지 않아요. 걱정하지 마세요. fdisk를 다시 실행해서 처음부터 다시 작업하면 됩니다. 중요한 건 마지막에 w 키로 저장하고 나오는 거예요.

Q2. partprobe 명령어를 썼는데도 lsblk에 안 나와요. 왜 그럴까요?
A2. 이럴 땐 udevadm settle을 이용해 시스템이 디바이스 노드를 인식할 시간을 주거나, blkid로 확인해보세요. 간혹 커널이 반영은 했는데 lsblk가 업데이트를 못 한 경우도 있어요. 시스템을 재부팅하면 확실하게 반영되기도 해요.

Q3. 새 파티션에 파일 시스템은 꼭 만들어야 하나요?
A3. 네, 반드시 필요해요. 파티션을 만들었다고 저장 공간으로 쓸 수 있는 건 아니에요. mkfs.ext4mkfs.xfs 같은 명령어로 파일 시스템을 만들어야, 마운트 후 사용할 수 있어요. 파일 시스템이 없으면 마운트도 안 되고, lsblk에서 TYPE이 비어 있을 수도 있어요.

Q4. lsblk에선 보이는데 df -h엔 안 나와요. 그건 왜 그런가요?
A4. df -h는 마운트된 파일 시스템만 보여줘요. 즉, 파티션이 있어도 마운트가 안 됐다면 df에선 절대 안 보여요. mount /dev/sdXn /mnt처럼 마운트를 해야만 df -h에서 사용 가능한 공간으로 보이죠.

Q5. 마운트 후에도 저장이 안 되는 경우는 왜 생기나요?
A5. 그건 마운트 옵션이나 퍼미션 문제일 수 있어요. 예를 들어 루트 권한이 필요한 디렉터리에 일반 사용자로 접근했다면 쓰기 권한이 없어요. mount 시점에 -o rw 옵션을 확인하거나, chmod, chown으로 퍼미션을 조정해보세요.

오늘 정리한 내용처럼, 리눅스에서 파티션을 만들었는데 lsblk에 안 보일 때는 당황하지 말고 순서대로 점검해보면 돼요. fdisk로 만든 후 partprobe로 커널에 갱신 알리고, 파일 시스템을 생성한 다음 마운트까지 해줘야 lsblk, df -h에서 정상적으로 표시돼요.