파티션에 ext4 파일 시스템을 갖기 위해 디스크를 파티션하고 있습니다. ext4 파일 시스템을 지정하는 데 필요한 두 가지 별도 단계가 있다는 튜토리얼을 따르고 있습니다. 첫 번째는 파티션을 생성할 때 parted를 사용하는 것입니다.
sudo parted -a opt /dev/sda mkpart primary ext4 0% 100%
두 번째는 파일 시스템 자체를 생성하는 mkfs.ext4 유틸리티를 사용하는 것입니다.
sudo mkfs.ext4 -L datapartition /dev/sda1
제 질문은 이 도구들이 정확히 무엇을 하는 걸까요?입니다. 파티션을 생성할 때 ext4가 필요한 이유는 무엇입니까? 파티션 자체의 정의는 구성하는 파일 시스템과 어느 정도 독립적이라고 생각했을 것입니다.
(내가 따르는 튜토리얼은 다음과 같습니다.https://www.digitalocean.com/community/tutorials/how-to-partition-and-format-storage-devices-in-linux)
답변1
파티션은 하나를 가질 수 있습니다유형. 파티션 유형은 "이 파티션은 특정 기능을 제공하도록 지정되었습니다."와 같은 힌트입니다. 많은 파티션 유형이 특정 파일 시스템과 연관되어 있지만 이러한 연관이 항상 엄격하거나 명확하지는 않습니다. 0x07 유형의 파티션에는 Microsoft 호환 파일 시스템(예: FAT, NTFS 또는 exFAT)이 있고 0x83 유형의 파티션에는 기본 Linux 파일 시스템(예: ext2/3/4)이 있을 것으로 예상할 수 있습니다.
파일 시스템 생성은 실제로는 완전히 별개의 직교 단계입니다(원하는 곳에 파일 시스템을 배치할 수 있습니다. 다만 즉시 작동할 것이라고 기대하지는 마십시오).
parted
파티션을 "전체 디스크의 일부"로 정의합니다. 실제로 파티션 유형을 알 필요는 없습니다(이 매개변수는 선택사항임). 그러나 사용 중 파티션 유형이 파일 시스템을 올바르게 프롬프트하지 않는 경우 파일 시스템 자동 감지 및 이후 자동 설치가 제대로 작동하지 않을 수 있습니다.
파티션은 엄격하게 선형적인 저장 공간입니다. 그리고 그 mkfs.ext4
변형은 명명된 파일을 편리하게 저장할 수 있는 실제 디렉터리 트리를 가질 수 있도록 파일 시스템을 만듭니다.
답변2
mkfs.something
기존 파티션에 파일 시스템을 만듭니다. 귀하의 경우:
- 드라이브의 첫 번째 파티션 찾기
/dev/sda
- 그 위에 새 파일 시스템을 만듭니다.파일 시스템유형
ext4
- 라벨을 붙이다
datapartition
하지만 만약에
- 파티션이 존재하지 않습니다
- 존재하긴 합니다만,분할유형이 사용할 수 없는 유형으로 설정되었습니다.파일 시스템유형
ext4
. ㅏ분할입력하면 시스템에 "알려줍니다".파일 시스템(유형) 파티션에서 사용할 수 있습니다. 파티션 유형을 설정해도 파일 시스템이 생성되지는 않으며 특정 파일 시스템 유형이 가능하다는 점만 알려줍니다. 예를 들어, 파티션 유형 0x83은 파일 시스템 유형 ext2, ext3, ext4, btrfs...에는 적합하지만 fat, ntfs...에는 적합하지 않습니다.
애초에 달리는 이유 parted
는 끝나지 않은 일을 끝내고 싶기 때문이다 mkfs.ext4
. 귀하의 경우에는 파티션을 생성 /dev/sda
하고 유형을 지원되는 유형으로 설정합니다 ext4
. 이제 실행에 필요한 모든 것이 준비되었습니다.mkfs.ext4
parted
많은 옵션이 있다는 것을 알 수 있습니다 . 귀하의 경우 이러한 옵션은 parted
파티션 테이블이 디스크에서 가장 좋은 레이아웃으로 설정되어 있는지, 파티션이 전체 디스크를 채워야 하는지, 논리 파티션이 아닌 기본 파티션이어야 하는지를 알려줍니다. 이러한 선택의 이유는 완전히 다른 문제를 해결합니다. 다른 선택을 하는 것은 전혀 괜찮지만, 많은 사용 사례에서 이루어진 선택은 실제로 "정상적인" 선택입니다.