파티션 번호 없이 mkfs를 사용할 수 있습니까?

파티션 번호 없이 mkfs를 사용할 수 있습니까?

펜 드라이브와 파티션이 있습니다.

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 931.5G  0 disk 
└─sda1   8:1    0 931.5G  0 part /
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part

다음 명령으로 포맷했습니다.

   # mkfs.fat -n A /dev/sdb

그리고 그것은 훌륭하게 작동합니다.

하지만 그 후에 mkfs의 매뉴얼 페이지를 탐색했습니다.

   mkfs is used to build a Linux filesystem on a device,  usually  a  hard
   disk  partition.   The  device argument is either the device name (e.g.
   /dev/hda1, /dev/sdb2),  or  a  regular  file  that  shall  contain  the
   filesystem.   The  size argument is the number of blocks to be used for
   the filesystem.

mkfs파티션 번호와 함께 사용해야 한다고 나와 있습니다 . 내 질문은 내 작업에 대한 오류 메시지가 없는 이유입니다.

답변1

파티션이 아닌 전체 디스크에 파일 시스템을 생성하는 것이 가능하지만 일반적이지 않습니다. 문서에서는 파티셔닝이 가장 일반적인 경우이므로 명시적으로만 언급합니다.대개). 고정 크기 파일과 유사한 모든 것 위에 파일 시스템을 만들 수 있습니다. 즉, 특정 위치에 데이터를 쓰고 동일한 위치에서 다시 읽으면 동일한 데이터를 얻게 됩니다. 여기에는 전체 디스크, 디스크 파티션 및 기타 유형의 디스크가 포함됩니다.블록 장치, 일반 파일(디스크 이미지)도 마찬가지입니다.

이 작업을 수행하면 mkfs.fat -n A /dev/sdb디스크에 더 이상 파티션이 없습니다. 커널은 파티션 테이블을 메모리에 캐시하기 때문에 여전히 디스크에 파티션이 있다고 생각합니다. 그러나 더 이상 존재하지 않기 때문에 더 이상 사용하려고 시도해서는 안 됩니다 . 여기에 쓰면 파일 시스템 의 일부였기 때문에 /dev/sdb1생성한 파일 시스템이 손상됩니다 (처음 몇 백 바이트를 제외한 모든 것). 커널이 파티션 테이블을 다시 읽도록 하려면 루트로 이 명령을 실행하십시오 ./dev/sdb/dev/sdb1/dev/sdbpartprobe

전체 디스크에 파일 시스템을 생성하는 것이 가능하지만 권장하지는 않습니다. 이는 일부 운영 체제에서 문제가 될 수 있으며(Windows에서는 이를 처리할 수 있다고 생각하지만 일부 장치(예: 카메라)는 그렇지 않을 수 있음) 추가 파티션을 생성할 가능성을 잃게 됩니다. 당신은 또한 볼 수 있습니다파티션 없는 파일 시스템의 장점

답변2

장치에 여러 파일 시스템을 보유할 계획이 없다면 일반적으로 파티션을 분할하고 포맷하는 대신 전체 장치에 파일 시스템을 배치할 수 있습니다. 일관성만 유지하면 됩니다. sda대신 파일 시스템을 켰기 때문에 파일 시스템 이 전혀 존재하지 않기 때문에 sda1마운트도 해야 합니다 .sdasda1

귀하의 질문에 있는 장치는 FAT 형식의 이동식 드라이브인 것 같습니다. 파일 시스템을 마운트하는 방법에 대한 다소 자세한 아이디어가 있을 수 있는 내장 장치와 함께 사용되는 경우 해당 장치가 FAT 형식인지 테스트해 볼 가치가 있습니다. 실제로 지원합니다. 파티션 테이블이 없는 전체 장치 파일 시스템입니다. (예를 들어, 카메라는 단일 파티션을 생성하고 포맷하는 경향이 있습니다. 파티션이 없는 카드를 사용할 수 없다고 선언하는 것은 전적으로 가능합니다.)

관련 정보