내 파티션 테이블은 다음과 같습니다.
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 32505855 16251904 83 Linux
/dev/sda2 32505856 33554431 524288 83 Linux
파일 시스템을 에 배치했을 때 sda2
다음 오류가 발생했습니다.
sudo mkfs -t ext4 /dev/sda2
mke2fs 1.42.9 (4-Feb-2014)
mkfs.ext4: inode_size (128) * inodes_count (0) too big for a
filesystem with 0 blocks, specify higher inode_ratio (-i) or lower inode count (-N).
확장 및 기본 파티션을 시도했지만 동일한 오류가 발생했습니다. 우분투 14.04TLS가 있습니다. 무엇을 해야 할까요?
답변1
1: 기본/확장/논리 파티션에 대해서는 아무 작업도 수행할 필요가 없습니다.
2: "확장" 파티션보다는 "논리" 파티션을 말하고 싶은 것 같습니다.
3: mkfs는 파티션 크기가 0바이트라고 생각합니다. 이는 커널이 다시 파티션을 나눈 후에 파티션 테이블을 업데이트할 수 없기 때문에 매우 확실합니다. 파티션 테이블을 편집한 후 재부팅해야 한다는 경고를 받았습니까?
Linux에는 두 개의 서로 다른 파티션 테이블이 있습니다. 하나는 하드 드라이브의 블록 0에 있습니다. 그리고 커널 메모리에도 하나가 있습니다. command 를 사용하여 첫 번째 항목을 읽을 수 있습니다 fdisk -l /dev/sda
. 두 번째 것은 cat /proc/partitions
명령으로 읽을 수 있습니다. 두 가지를 동기화해야 하지만 이것이 항상 가능한 것은 아닙니다. 예를 들어 현재 사용되는 파티션의 제한은 변경할 수 없습니다. 이 경우 커널 파티션 테이블은 변경되지 않습니다.
이 명령을 사용하여 커널이 디스크 파티션 테이블을 다시 읽도록 할 수 있습니다 blockdev --rereadpt /dev/sda
. 대부분의 파티셔닝 도구는 새로 변경된 파티션 테이블을 디스크에 쓴 후 이 명령을 실행합니다.
문제는 최신 Linux 커널만 사용한 하드 드라이브의 파티션 테이블을 다시 읽을 수 있다는 것입니다. 이러한 관점에서 하드 드라이브는 도구나 마운트 지점에서 사용되는 단순 파티션이 있거나 활성 스왑 파티션인 경우 "사용된" 것으로 간주됩니다.
이러한 최신 커널도 현재 사용 중인 파티션의 제한을 변경할 수 없습니다.
내 생각에는 루트 시스템이 켜져 있으므로 /dev/sda
다시 파티션한 후 재부팅해야 합니다.
답변2
너는 달려야 해partprobe
테이블 업데이트 명령
답변3
RHEL8에서는 "Linux" 유형으로 확장된 새 파티션을 만들었습니다.
한번 mkfs.ext4
포맷했는데 partprobe
, partx /dev/sda
.
여러 번 재부팅한 후에도 파티션이 여전히 존재합니다.
답변4
cat /proc/partitions
결과는 다음과 같습니다
major minor #blocks name
8 0 292968750 sda
8 1 1048576 sda1
8 2 70637568 sda2
**8 3 1 sda3**
8 16 292968750 sdb
8 17 143373716 sdb1
253 0 63463424 dm-0
253 1 7168000 dm-1
11 0 1048575 sr0
나는 그렇게 하고 partprobe
도망쳤다 cat /proc/partitions
.
상영 중
major minor #blocks name
8 0 292968750 sda
8 1 1048576 sda1
8 2 70637568 sda2
8 3 221281582 sda3
8 16 292968750 sdb
8 17 143373716 sdb1
253 0 63463424 dm-0
253 1 7168000 dm-1
11 0 1048575 sr0
위의 결과 이후. 다음 명령을 성공적으로 실행했습니다.
mkfs -t ext4 /dev/sda3