fdisk를 통해 스왑 공간을 생성한 경우 mkswap이 필요한 이유는 무엇입니까?

fdisk를 통해 스왑 공간을 생성한 경우 mkswap이 필요한 이유는 무엇입니까?

스왑 파티션으로 /dev/sda3이라는 파티션을 생성하고 fdisk를 통해 ID를 82(Linux Swap)로 변경했습니다. 파티션이 스왑으로 인식되면(fdisk -l 및 blkid의 출력에서 ​​볼 수 있듯이) 왜 그냥 swapon /dev/sda3으로 이동할 수 없습니까? 왜 mkswap /dev/sda3을 수행해야 합니까? 또 다른 질문이 있습니다. 파티션 정보가 데이터와 독립적인가요? 그렇다면 fdisk를 통해 파일 시스템 유형을 변경하면 데이터가 영향을 받나요?

fdisk -l

Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0008d6ed

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          32      256000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              32        1566    12317696   83  Linux
/dev/sda3            1566        2610     8390105   82  Linux swap / Solaris

쿠로코

/dev/sda3: LABEL="SWAP" UUID="63f1807e-7cc6-4339-92b2-b1958fcf285e" TYPE="swap"

답변1

fdisk는 파티션을 생성하지만 포맷하지는 않습니다. 스왑 파티션을 사용하기 전에 먼저 포맷해야 합니다. 이는 mkswap을 통해 수행됩니다.

다른 파일 시스템에도 동일한 규칙이 적용됩니다. 사용하기 전에 파티션을 생성하고 포맷해야 합니다.

답변2

이 명령은 버전, 마지막 페이지 등과 같은 일부 관리 작업을 수행하기 위해 스왑 파티션이나 스왑 파일에 헤더(디스크 레이블 등을 건너뛰기 위해 mkswap처음부터)를 기록합니다. 0x400이는 마법의 문자열 SWAP-SPACE이나 마지막에 SWAPSPACE2이를 식별합니다 . (원천)

파일 시스템 파티션처럼 실제로 포맷된 것이 아니며, 헤더와 교체할 메모리 페이지를 넣을 공간만 있습니다.

관련 정보