데이터 손실 없이 파티션 없이 디스크를 "파티션"하는 방법은 무엇입니까?

데이터 손실 없이 파티션 없이 디스크를 "파티션"하는 방법은 무엇입니까?

백업용으로 사용하는 1TB 휴대용 하드 드라이브가 있습니다. 전체 드라이브( )가 파일 시스템 /dev/sdb으로 포맷되었습니다 .ext4

btrfs백업의 이점(체크섬, 자가 복구 등) 에 대해 읽었으며 이 디스크를 ext4에서 옮기는 것을 고려하고 있습니다 btrfs.

나는 여전히 디스크 크기( e2fsck -f /dev/sdb && resize2fs /dev/sdb 500G && fdisk /dev/sdb또는 이와 유사한 것)를 조정할 수 있다고 확신합니다. 그러나 파티션이 없는 장치에 파티션을 "가져오는" 방법을 잘 모르겠습니다.

이것이 가능합니까? 그렇다면 어떻게?

(파일 시스템 자체( ext4btrfs)은 거의 관련이 없습니다. 문제는 순전히 파일 시스템 없이 원래 생성된 장치를 파티셔닝하고 기존 파일 시스템을 잃지 않고 그렇게 하는 것에 관한 것입니다.

답변1

파티션 테이블(최소 MBR 또는 GPT 스타일)은 디스크의 시작 및/또는 끝에 있으므로 필요한 공간을 확보할 수 있으면 가져올 수 있습니다.

테라바이트 디스크를 사용하는 경우 다음과 같이 진행하겠습니다.

  1. 보안상의 이유로 ext4 파일 시스템의 크기를 499G로 조정합니다. 이렇게 하면 모든 데이터, 파일 시스템 구조 등이 디스크의 첫 번째 499G 블록 내에 들어갈 수 있습니다. 이상적으로는 파일 시스템을 가능한 작게 유지해야 후속 단계에서 복사해야 하는 데이터의 양이 줄어듭니다.
  2. dd또는 이와 유사한 도구를 사용하여 블록을 디스크의 두 번째 절반에 복사합니다.
  3. 디스크를 분할하고 파일 시스템(500G)보다 약간 큰 파티션을 만듭니다. 이를 위해 GPT를 사용하면 디스크의 시작과 끝 부분에 있는 블록을 덮어쓰므로 이제 디스크 시작 부분의 파일 시스템 복사본이 구워집니다.
  4. dd다시 또는 유사한 방법을 사용하여 디스크의 두 번째 절반에서 새로 생성된 파티션으로 원본 블록을 복사합니다. 2단계에서 수행한 작업을 기반으로 오프셋과 크기를 계산해야 하지만 목표는 간단합니다( /dev/sdX1).
  5. 모든 파티션을 차지하도록 파일 시스템의 크기를 다시 조정합니다.

다음과 같은 것을 사용하십시오ddrescue역방향으로 복사하는 것이 가능합니다. 조금 단순화할 수 있습니다.

  1. 가능할 때마다 소스 파일 시스템의 크기를 조정하십시오.
  2. (실제로 파티션 테이블을 생성하지 않고) 첫 번째 파티션의 시작 위치를 계산합니다.
  3. 첫 번째 파티션이 시작된 곳에서 시작되도록 소스 파일 시스템을 구성하는 블록을 이동합니다. (이때부터 복사를 시작해야 합니다.)
  4. 디스크를 분할합니다.
  5. 파일 시스템의 크기를 조정합니다.

관련된 복사 양을 고려하면 데이터를 다른 곳에 백업하고 복원하는 것이 더 쉬울 것입니다! ext4 파일 시스템의 시작 부분을 저장하고 나머지 데이터를 복원하여 복사 양을 제한할 수 있지만, 이를 위해서는 더 신중한 기록이 필요합니다.

답변2

데이터 손실 없이 2TB 드라이브를 성공적으로 다시 파티션했습니다. GNU/Linux 시스템과 Windows 시스템에서 백업을 수행하고 싶었기 때문에 EXT4 파티션을 1TB로 줄이고 새로운 1TB 파티션을 생성하고 NTFS 파일 시스템으로 포맷했습니다.

내가 해야 할 일은 우분투에서 GUI 디스크 애플리케이션을 사용하는 것뿐이었습니다. 다른 배포판에도 파티션 관리를 위한 유사한 GUI 애플리케이션이 있어야 합니다. NTFS 대신 BTRFS를 사용해도 괜찮을 것 같습니다.

물론 터미널에서도 다시 파티션을 수행할 수 있어야 합니다.

답변3

혼란스러워요.

디스크가 ext4로 포맷되었다고 하셨는데,물론파티션. 디스크의 파티션 테이블이 gpt이고 fdisk가 이를 지원하지 않기 때문에 fdisk가 이를 표시하지 않을 수도 있습니다. 이 경우에는 parted를 사용할 수 있습니다.

sudo parted -l /dev/sdb

이 외에도 ext4를 btrfs로 변환할 수도 있습니다.이 아치 리눅스 가이드에 명시된 바와 같이.

관련 정보