GPT 제거-기본 MBR로 돌아 가기


33

이 오류가 계속 발생합니다.

경고!! 지원되지 않는 GPT (GUID Partition Table)가 감지되었습니다. GNU Parted 사용

일반 MBR로 돌아가고 싶습니다. 나는 여기서 몇 가지 조언을 찾았 습니다.

parted /dev/sda
mklabel msdos
quit

그러나 mklabel옵션에 도달하면에 대한 모든 데이터가 손실된다는 경고 메시지가 나타납니다 /dev/sda. 디스크를 포맷하지 않고 정상적인 MBR을 되돌릴 수있는 방법이 있습니까?


2
전환하려는 이유는 무엇입니까? 해결하려는 실제 문제는 무엇입니까?
jordanm

1
드라이브를 포맷하는 경우 다음을 시도하십시오 : blog.gnub.net/2009/03/die-gpt-die.html (죄송합니다 . 답변을 해주시면 평판이 없습니다!)
Lester Cheung

답변:


28

게시 한 링크는 매우 못생긴 해킹 유형 솔루션처럼 보입니다.

그러나 gdiskMBR-> GPT를 변환하는 데 사용되는 매뉴얼 페이지에 따르면 "복구 및 변환"메뉴 ( r그것을 눌러야 함)에 GPT-> MBR을 변환 하는 옵션도 있습니다 . g키 의지 :

GPT를 MBR로 변환하고 종료하십시오. 이 옵션은 가능한 많은 파티션을 MBR 형식으로 변환하고, GPT 데이터 구조를 파괴하고, 새로운 MBR을 저장하고 종료합니다. GPT를 시도했지만 MBR이 더 잘 작동하는 경우이 옵션을 사용하십시오. 이 기능은 최대 4 개의 1 차 MBR 파티션 또는 3 개의 1 차 파티션과 생성 가능한 논리 파티션을 생성합니다. 각 논리 파티션에는 첫 번째 블록 직전에 할당되지 않은 블록이 하나 이상 필요합니다.

나는 그것을 먼저 시도 할 것입니다.


쉽게 그렇습니다, 그러나 여전히 위험합니다.
jordanm

@jordanm :이 작업을 직접 수행하지 않았기 때문에 ( "google implies"를 인정하는 이유) gdisk가 명백한 수단을 가지고 있기 때문에 왜 위험하다고 생각하십니까? r-> g옵션에 대한 gdisk 매뉴얼 페이지 에는 전혀 경고가 없습니다 ...
goldilocks

필요한 gdisk 단계를 답변에 인라인하면이 답변이 개선됩니다. 특히 단계가 얼마나 짧은 지. 연결이 끊어 질 수있는 시점을 절대 알 수 없으므로 응답이 쓸모가 없습니다.
derobert

@derobert : 네, 원본은 더 많은 주석이었습니다. 나는에서 물건을 사용했습니다 gdisk대신 매뉴얼 페이지를 참조하십시오.
goldilocks

1
gdisk에서 ZAP을 완전히 지우려면
Sergey P. aka azure azure

16

이전 응답자의 대부분은 일반적으로 GPT 파티션 테이블 레이아웃으로 필요한 것을 할 수 있다고 말하면 정확하지만 MBR을 사용하려는 유효한 이유 있기 때문에 귀하가 아니라고 가정하는 대신 귀하의 질문에 대답 할 것입니다. 묻는 잘못.

GPT를 제거하려면이 형식으로 드라이브 끝에 쓰여진 파티션 테이블 이 있으며 fdisk 또는 GPT를 인식하지 않는 파일 시스템으로 삭제하려고하면 남아 있습니다. 수단. parted로 수행 한 것은이 파티션 테이블을 해결하지 못했습니다.

GPT를 지우려면 gdisk와 같은 것을 사용해야합니다. gdisk프롬프트에서 루트로 입력 한 다음 gdisk에게 보려는 장치 (예 : / dev / sd ??)를 알려주십시오. gdisk를 사용하여 보호 MBR을 디스크에 쓰면 일부 MBR 데이터 구조에 액세스 할 수 있습니다. 그런 다음 전문가 옵션 섹션으로 이동하고 ( ?다른 프로그램 프롬프트에서 다른 시간에 사용 가능한 옵션을 보려면) "GPT 데이터 구조를 압축 (파기)하고 종료"라는 옵션을 찾으십시오. 프로그램에서 확인 메시지가 표시되면 MBR 구조를 유지할 것인지 묻습니다. 이것을 유지하십시오.

그 후에는 커널이 이전 파티션 테이블을 사용하고 업데이트를 다시 시작해야하기 때문에 컴퓨터를 재부팅 한 다음 간단하게 수행해야합니다. 그런 다음 fdisk를 실행하고 GPT 파티션의 나머지를 삭제하십시오. 이전에 보았던 GNU Parted 사용에 대해서는 여전히 동일한 경고가 표시되지만, 파티션을 삭제하면 사라 지므로 이번에는 무시할 수 있습니다.

그러면 빈 드라이브에 OS를 다시 설치할 수있는 MBR 파티션 테이블 시스템이 제공됩니다. 기존 파티션으로이 작업을 시도하는 경우에는 훨씬 더 복잡하고 경우에 따라 불가능하기 때문에 데이터를 백업하고이 방법으로 수행하는 것이 좋습니다.


1
"나는 당신이 묻는 것이 잘못되었다고 가정하는 대신 당신의 질문에 대답 할 것이라고 생각합니다." -그것은 작동하기에 충분히 미쳤다!
Michael Mrozek

6

용도 gdisk /dev/sda

참고 : /dev/sda 이 질문을 한 사람이 드라이브 이름으로 변경 한 경우입니다.

gdisk를 사용하면 :

x   extra functionality (experts only)

입력 p하면 모든 옵션을 볼 수 있습니다.

Expert command (? for help): ?
a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   Replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

용도 z

Expert command (? for help): z
About to wipe out GPT on /dev/xvdf. Proceed? (Y/N): Y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): Y

2
이 답변 만 나에게 도움이되었으며 공유해 주셔서 감사합니다.
Aleksandar

1

이렇게 해야 대부분의 경우에 작동합니다. 파티션이 2TB보다 크거나 15 개가 넘는 파티션에는 MBR을 사용할 수 없습니다.

  • parted를 사용하여 파티션의 크기를 확인하십시오 (예 : 모두 2TB보다 작습니까?) parted /dev/sdX p
  • 더 큰 파티션이있는 경우 문제가되는 파일 시스템과 수행해야 할 다른 모든 것을 축소하십시오. (이 게시물이 끝날 때 이것에 대한 자세한 내용)
  • 정확한 파티션 크기 parted /dev/sdX u B p(바이트 단위로 표시)를 모두 덤프 하면 결국 파티션 레이아웃을 다시 만드는 방법을 알 수 있습니다. 휴대 전화를 사용하여 두 parted출력 에서 사진을 만듭니다 .
  • 내부 구조로 인해 MBR이있는 기본 파티션은 4 개만 가질 수 있습니다. 따라서 더 많은 파티션이있는 경우 디스크 어딘가에 여유 공간이 필요합니다 (일반적으로이 위치를 알아야합니다!). VBR을 넣을 수있는 논리 파티션을 생성하여 다른 4 번째 / 할당을 할당 할 수 있습니다. 이전에 존재했던 5/6 파티션.
  • gdiskGPT를 재핑하는 데 사용 합니다.
  • 새 MBR을 작성하십시오.
  • 파티션을 1 차 / 2 차 / 3 차로 1 차 파티션으로 재 작성한 후 여유 공간 (데이터가없는 곳에는 어디에도 없습니다!)에서 논리 파티션을 작성한 후 다른 파티션을 작성하십시오.
  • 저장하고 종료하십시오.
  • 빌다.
  • 재부팅하십시오.

grml이 모든 것과 같은 라이브 디스크를 사용해야합니다 . 무언가 잘못한 경우 재부팅하고 다시 시도하십시오.

디스크에 데이터를 쓰지 않는 한 아무것도 손실되지 않습니다. 휴대 전화에 여전히 모든 파티션 레이아웃이 있으므로 필요한 경우 원래 GPT를 다시 만들 수 있습니다.

정말로 무언가 testdisk를 망쳐 놓고 사진을 찍지 않은 경우 파티션 경계를 식별하십시오. 그러나 레이아웃이 특별한 것이면 즉시 돈을 내기하지 마십시오.


파티션을 작게 만들기위한 크기 조정 작업에서 새 눈의 관점 :

  • 먼저 항상 파일 시스템을 축소해야합니다. ext4 ( resize2fs -M dev/sdX)에는 쉽지만 XFS는 축소 할 수 없으므로 불가능합니다. 이러한 스턴트를 시도하기 전에 사용중인 것과 Google을 알고 있어야합니다.
  • LVM이있는 경우 다음으로 논리 볼륨을 줄이십시오. ( lvreduce -L 20G /dev/mapper/<VG>-<LV>)
  • 다음 LVM 단계는 물리 볼륨을 축소하는 것입니다. pvresize --setphysicalvolumesize 25G /dev/sdX갈 길입니다.
  • 그런 다음 선택한 파티셔닝 도구를 사용하고 lvm이 설치된 파티션을 삭제 한 후 더 작게 다시 만드십시오.

여기에 언급 된 모든 언급 된 요소의 크기는 다음과 같습니다. Filesystem <LV <PV <파티션. 다음 재부팅 후에이 경우가 아니면 FS 검사를 수행해야합니다. 하지 말고 라이브 디스크로 다시 부팅 한 다음 조정하십시오. 문제를 해결하면 시스템이 다시 부팅됩니다.

PARTITION + LUKS + LVM + FILESYSTEM이있는 경우이 모든 작업을 수행 할 수 있도록 쉘 에서이 작업을 수행하는 방법에 대한 힌트가 있습니다.

  • df -h 파티션을 마운트했을 때 파일 시스템 크기를 보여주는 친구입니다
  • lsblk그리고 lsblk -f친구는 파티션을 표시하기위한입니다
  • LUKS를 사용하는 경우을 통해 암호화 컨테이너를 열고 cryptsetup open /dev/sdX asdf비밀번호를 입력하면 unter에서 사용할 수있게 /dev/mapper/asdf됩니다. 암호화 컨테이너의 크기를 조정할 필요는 없습니다. (물론 암호화 된 파티션이 없다면 이것을 건너 뛰십시오.)
  • vgchange -aay 모든 논리 볼륨을 활성화하여 작업 할 수 있습니다.
  • mkdir asdf; mount /dev/mapper<VG>-<LV> asdf다음 df -h크기를 조정하기 전에 당신의 파일 시스템의 크기를 확인합니다.
  • umount asdf 다시 마운트 해제됩니다.
  • resize2fs -M /dev/mapper/<VG>-<LV>.
  • mount /dev/mapper/<VG>-<LV> asdf; df -h 파일 시스템의 크기를 확인하십시오.
  • LV를 1GB를 파일 시스템보다 크게 만드십시오. 아마도 이것으로 충분하지 않을 것입니다. 당신이 그것을 할 수 있다면 그것보다 더 크게 만드십시오. 그렇지 않으면 리눅스는 재부팅 후 작동하지 않는다고 알려줍니다. 메시지가 표시되면 FS 확인을 수행하지 말고 라이브 디스크로 재부팅 한 후 다시 시작하십시오.이 경우 데이터가 손실되지 않습니다.
  • PV를 LV보다 1GB 크게 만듭니다.
  • 파티션을 PV보다 1GB 크게 만듭니다. LVM은 4M 크기의 익스텐트 (하드 디스크의 블록과 다소 유사하지만 LVM의 경우)를 생성하므로 파티션을 너무 작게 만들어서 마지막 익스텐트를 생략하지 않기를 원하기 때문에 100M도 쉽게 충분해야합니다. 그러나 내가 말했듯이 해야합니다 . 모든 것을 계산하지 말고 조정하고 깨지면 고치십시오. 결국 리눅스입니다. 이렇게하겠습니다.

필요한 것보다 크게 만들면 자주 재부팅 할 필요가 없습니다.

쉽게 LVM으로, 항상 VG 및 마운트 포인트 (대한 이름으로 호스트 이름을 사용하는 것입니다 무엇인지 분별하려면 root, swap, var당신의 LVM 설정을 만들 때 이미 그것을하지 않았다 경우 LV를 위해, ...). 이것은 일반적인 힌트이며 위의 단계에서 수행해야 할 작업이 아닙니다.


1

GParted 는 다음을 수행하여 나를 위해 일했습니다 ( Kali Linux USB Live v2.1 에서 테스트 ).

Device --> Create Partition Tablet --> Type MSDOS

모든 파티션을 먼저 삭제하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.