클래식 MBR이 포함된 디스크가 있고 데이터 손실 없이 GPT를 사용하도록 변환하고 싶습니다. 몇 가지 유용한 자습서를 보았지만 대부분은 GRUB, 운영 체제 및 디스크의 여러 파티션과 관련된 특정 문제를 다룹니다. 제 경우에는 상황이 훨씬 간단합니다. 단일 파티션에 데이터를 저장하는 간단한 디스크가 있습니다. 실행 gdisk
하고 누르기 만 하면 w
GPT가 디스크에 기록된 후 아무 문제 없이 마운트하고 사용할 수 있다는 것을 알았습니다 .
그러나 저는 데이터 손상이 걱정되었고, gdisk
제가 수행하려는 작업이 잠재적으로 손상을 입힐 수 있다고 경고했으며, GPT가 첫 번째 파티션이 일반적으로 사용하는 공간의 일부를 차지하고 있는 일부 그래프를 보았습니다. 그래서 내 질문은 다음과 같습니다
MBR을 GPT로 변환하는 좋은 방법입니까?
GPT가 원래 기본 파티션에 있던 일부 데이터를 덮어써 파일이나 파일 시스템을 손상시키나요?
답변1
하나의 파티션으로 MBR 디스크를 만들고, 해당 파티션의 모든 바이트를 데이터로 채우고, 전체 파티션의 SHA1 체크섬을 생성하고, 질문에 설명된 대로 GPT로 변환하고, 또 다른 체크섬을 생성하여 원래 체크섬과 비교했습니다. 그들은 동일합니다. 그래서 내 결론은 이렇습니다. 데이터를 손상시키지 않고 디스크를 GPT로 안전하게 변환할 수 있습니다.
경고: 이는 프로세스가 안전하다는 의미는 아닙니다. 파티션이 손상될 수 있습니다. 이 방법을 사용하여 변환하기 전에 반드시 백업을 만드십시오.
답변2
MBR을 GPT로 성공적으로 변환했지만 보안상의 이유로 두 개의 추가(새) 디스크를 사용했습니다. 저는 GRUB
부트로더와 함께 데비안을 사용하고 있습니다.
내 설정에는 하나의 Linux 파티션과 하나의 스왑 파티션만 있으며 프로세스는 대략 다음과 같습니다.
먼저 전체 백업을 만듭니다.
- 첫 번째 추가 디스크를 사용하여 이전 디스크의 전체 백업을 만듭니다.
- 원래 드라이브를 연결 해제(!)하고 안전한 곳에 보관합니다. (이렇게 하면 실수로 드라이브에 기록하는 일이 발생하지 않습니다.)
- 부팅할 수 있도록 백업 드라이브를 연결합니다(예: 마더보드의 첫 번째 SATA 연결).
- 두 번째 추가 디스크도 연결하세요.
- 백업 디스크에서 부팅
부팅할 수 있고 모든 것이 제대로 작동한다면 이는 백업이 올바른 것임을 증명하는 것이기도 합니다. 이제 실제로 시작해 보겠습니다.
gdisk
새로운 MPT 형식을 사용하여 아직 비어 있는 두 번째 디스크를 분할합니다.- 쉽게 마이그레이션할 수 있도록 의도적으로 이전 디스크와 동일한 파티션 크기를 사용합니다.
8300
Linux 파티션 및8200
Linux 스왑 파티션을 사용하기 위한 코드입니다.- 또한
ef02
코드를 사용하여 추가 2MiB 파티션을 생성하고 파티션 번호를 기억해 두십시오. 나중에 필요합니다.
참고: 이 2MiB 파티션은 부팅용 GRUB
이므로 디스크 자체의 시작 부분에 있을 필요는 없습니다.
dd
부팅 디스크 Linux 파티션의 데이터를 새 파티션으로 복사하는 데 사용됩니다 .- 새로 생성된 스왑 파티션을 활성화합니다(mkswap 명령 사용).
이 단계에서 시스템 파일과 데이터가 새 디스크에 복사되었습니다. 남은 유일한 일은 부팅 가능하게 만드는 것입니다.
다음 명령을 실행하십시오.
parted /dev/sdXXX set YYY bios_grub on
여기서 XXX는 우리가 생성한 2MiB 파티션에 해당하는 장치이고 YYY는 기억하라고 요청한 파티션 번호입니다.Run 을 실행합니다
grub-install /dev/sdZ
. 여기서 sdZ는 부팅 가능하게 만들 디스크입니다.백업 디스크 연결 해제
- 부팅할 수 있도록 GPT 디스크를 연결하세요.
- 테스트(새 GPT 지원 디스크로 부팅)
행운을 빌어요!