기존 파일 시스템이 있는 베어 드라이브에 파티션 테이블을 생성할 수 있나요?

기존 파일 시스템이 있는 베어 드라이브에 파티션 테이블을 생성할 수 있나요?

ext4드라이브에 파일 시스템이 있는 머신을 상속받았습니다.파티션 없음(다른 멋진 것, LVM 등은 없습니다).

이 드라이브에 파티션 테이블을 생성할 수 있습니까?그리고기존 ext4 파일 시스템을 보존하시겠습니까? — 즉, 어떻게든 파티션을 약간 축소하고 슈퍼블록을 이동한 다음 파티션 테이블을 생성하시겠습니까?

(분명히 크기 조정은 데이터 손실 등의 위험을 초래할 수 있습니다. 이것은 대부분 학술적인 질문입니다.)

$ lsblk /dev/sdc
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sdc    8:32   0 54.6T  0 disk /data

$ tune2fs -l /dev/sdc
...
First block:              0
...

$ fdisk -l /dev/sdc
Disk /dev/sdc: 54.57 TiB, 60001666203648 bytes, 117190754304 sectors
Disk model: LOGICAL VOLUME
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 262144 bytes / 786432 bytes

$

답변1

이것은 매우 까다로우며 가장 좋은 조언은 이와 같은 작업을 시도하기 전에 드라이브를 백업하는 것입니다. 드라이브의 모든 내용을 복사한 다음 파티션을 나눈 후 다시 복사하면 훨씬 쉽습니다.

이 방법을 시도해야 한다면 높은 수준에서 다음이 필요합니다.

  1. 기존 파일 시스템의 크기를 조정하려면 resize2fs를 사용하십시오. 기존 파티션을 축소하면 추가 공간이 생성됩니다.(시작은 아님)
  2. 전체 파일 시스템을 드라이브 시작 부분에서 오른쪽으로 이동합니다. GPT 파티션 테이블에는 최소 17k가 필요하지만 1MB가 더 안전할 수도 있습니다. ddrescue는 이것을 할 수 있습니다. 하지만새 위치가 이전 위치와 겹치는 경우 주의하세요.. 실수로 데이터를 삭제할 수 있습니다.
  3. 선택한 파티션 도구(예: cfdisk)를 사용하여 2단계에서 데이터를 배치한 파티션을 만듭니다. 이 파티션을 포맷하지 마십시오!

다시 말하지만, 이는 바람직하지 않으며 데이터를 망칠 수 있을지 확신할 수 없기 때문에 의도적으로 명령 지침을 제공하지 않습니다.

관련 정보