이 오류가 계속 발생합니다.
경고하다! ! 지원되지 않는 GPT(GUID 파티션 테이블)가 감지되었습니다. GNU Parted 사용
일반 MBR로 돌아가고 싶습니다. 몇 가지 제안사항을 찾았습니다.여기그리고 그랬다:
parted /dev/sda
mklabel msdos
quit
그런데 해당 옵션에 들어가면 mklabel
해당 파일이 손실된다는 경고가 표시됩니다 /dev/sda
. 디스크를 포맷하지 않고 일반 MBR을 복원할 수 있는 방법이 있습니까?
답변1
귀하가 게시한 링크는 매우 추악한 해커 유형 솔루션처럼 보입니다.
그러나 MBR -> GPT 변환에 대한 매뉴얼 페이지에 따르면 "복구 및 변환" 메뉴에 GPT -> MBR을 변환하는 gdisk
옵션(길게 누르기)도 있습니다 . r
g
GPT를 MBR로 변환하고 종료합니다. 이 옵션은 가능한 한 많은 파티션을 MBR 형식으로 변환하고 GPT 데이터 구조를 파괴한 다음 새 MBR을 저장하고 종료합니다. GPT를 사용해 보고 MBR이 더 적합하다고 판단되면 이 옵션을 사용하십시오. 이 기능은 최대 4개의 기본 MBR 파티션 또는 3개의 기본 파티션과 가능한 한 많은 논리 파티션을 생성합니다. 각 논리 파티션에는 첫 번째 블록 앞에 할당되지 않은 블록이 하나 이상 필요합니다.
먼저 시도해 보겠습니다.
답변2
이전 응답자의 대부분은 일반적으로 GPT 파티션 테이블 레이아웃을 사용하여 필요한 것을 달성할 수 있다고 말했습니다. 이는 정확하지만예MBR을 사용해야 하는 정당한 이유를 원했기 때문에 귀하가 잘못 질문했다고 가정하는 대신 귀하의 질문에 답변만 드리고 싶다고 생각했습니다.
GPT를 제거하려면 이 형식을 사용할 때 다음에 기록된 파티션 테이블이 있다는 점을 기억해야 합니다.끝fdisk나 GPT를 지원하지 않는 파일 시스템 도구를 사용하여 제거하려고 하면 드라이브가 그대로 유지됩니다. parted로 수행한 작업으로는 이 파티션 테이블의 문제가 해결되지 않았습니다.
GPT를 지우려면 gdisk와 같은 도구를 사용해야 합니다. 프롬프트에서 root로 입력 gdisk
하고 보려는 장치를 gdisk에 알려줍니다(예: /dev/sd??). gdisk를 사용하여 보호 MBR을 디스크에 쓰는 것은 특정 MBR 데이터 구조에 액세스할 수 있도록 하기 위한 것입니다. 그런 다음 전문가 옵션 섹션으로 이동하여( r
다음을 누릅니다 x
)( ?
다른 프로그램 프롬프트에서 누르면 다른 시간에 사용 가능한 옵션을 볼 수 있음) "GPT 데이터 구조를 Zap(파괴)하고 종료" 옵션( z
)을 찾을 수 있습니다. 프로그램은 확인 메시지를 표시한 다음 MBR 구조를 유지할 것인지 묻습니다. 이것을 꼭 저장하세요.
그 후에는 컴퓨터를 재부팅하는 것만큼 간단해야 합니다(커널은 여전히 이전 파티션 테이블을 사용하고 업데이트하려면 재부팅해야 하기 때문입니다). 그런 다음 fdisk를 시작하고 GPT 파티션의 나머지 부분을 삭제합니다. 이전에 GNU Parted 사용에 관해 본 것과 동일한 경고가 계속 표시되지만 이번에는 파티션을 삭제하면 사라지므로 무시해도 됩니다.
이렇게 하면 운영 체제를 다시 설치할 수 있는 빈 드라이브에 MBR 파티션 테이블 시스템이 제공됩니다. 기존 파티션에서 이 작업을 수행하려고 하면 더 복잡하고 어떤 경우에는 불가능할 수도 있으므로 데이터를 백업하고 그런 방식으로 수행하는 것이 좋습니다.
답변3
사용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
답변4
이것~해야 한다대부분의 상황에 적합합니다. 아시다시피 파티션이 2TB보다 크거나 파티션이 15개를 초과하면 MBR을 사용할 수 없습니다.
- parted를 사용하여 파티션 크기를 확인하세요(즉, 둘 다 2TB 미만인가요?).
parted /dev/sdX p
- 더 큰 파티션이 있는 경우 문제의 파일 시스템과 수행해야 할 기타 작업을 축소합니다. (이에 대한 자세한 내용은 이 글의 끝부분에서 확인하세요.)
parted /dev/sdX u B p
파티션 레이아웃을 다시 만드는 방법을 알 수 있도록 정확한 파티션 크기(바이트 단위로 표시)를 모두 덤프합니다 . 휴대전화를 사용하여 두 출력 모두에서 사진을 찍으세요parted
.- MBR의 내부 구조로 인해 기본 파티션은 4개만 가질 수 있습니다. 따라서 더 많은 파티션이 있는 경우 "할당"할 수 있도록 VBR을 배치할 수 있는 논리 파티션을 생성하려면 디스크 어딘가에 여유 공간이 필요합니다(물론 이것이 어디에 있는지 알아야 합니다!). " 다른 4개 부문/기존 5/6개 부문.
- GPT를 지우는 데 사용됩니다
gdisk
. - 새 MBR을 만듭니다.
- 첫 번째/두 번째/세 번째 파티션을 기본으로 다시 만든 다음 일부 여유 공간(이전에 데이터가 없었던 곳!!!)에 논리 파티션을 만든 다음 다른 파티션을 만듭니다.
- 저장 및 종료.
- 기도하다.
- 재시작.
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이 있는 파티션을 삭제하고 더 작은 파티션을 다시 만듭니다.
여기에 언급된 모든 요소의 크기는 다음과 같습니다: 파일 시스템 < LV < PV < 파티션. 다음 재부팅 후 그렇지 않은 경우 FS 검사가 수행되어야 함을 알 수 있습니다. 이 작업을 수행하지 말고 다시 livedisk로 재부팅하고 조정하십시오. 거기서 문제를 해결하면 시스템이 다시 부팅될 것이라고 보장합니다.
이를 수행하려면 PARTITION + LUKS + LVM + FILESYSTEM이 있는 경우 셸에서 이 작업을 수행하는 방법에 대한 몇 가지 팁이 있습니다.
df -h
파티션을 마운트할 때 파일 시스템 크기를 보여주는 친구입니까?lsblk
lsblk -f
친구가 파티션을 보여주고 있나요?- LUKS를 사용하는 경우
cryptsetup open /dev/sdX asdf
암호화된 컨테이너를 열어 비밀번호를 입력하면 아래에서 확인할 수 있습니다/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 크게 만듭니다. 그것만으로는 충분하지 않을 가능성이 있습니다. 감당할 수 있다면 더 크게 만드십시오. 그렇지 않으면 Linux는 재부팅 후 작동하지 않을 것이라고 알려줄 것입니다. 메시지가 표시될 때 FS 검사를 수행하지 말고 라이브 디스크로 재부팅한 후 다시 부팅하세요. 이 경우 데이터가 손실되지 않습니다.
- PV가 LV보다 1GB 더 크다고 가정합니다.
- 파티션을 PV보다 1GB 크게 만듭니다. LVM은 4M 크기의 익스텐트를 생성하고(하드 디스크에 직접 블록을 생성하는 것과 약간 비슷하지만 LVM의 경우) 파티션을 너무 작게 만들어 마지막 익스텐트를 생략하지 않기를 원하기 때문에 100M로도 충분합니다. 하지만 내가 말했듯이,~해야 한다. 모든 것을 계산하지 말고 상황을 조정하고 문제가 발생하면 수정하세요. 결국 Linux이기 때문에 그렇게 할 수 있습니다.
자주 재부팅할 필요가 없도록 필요한 것보다 더 크게 만드십시오.
LVM의 목적을 쉽게 식별하려면 LVM 설정을 생성할 때 항상 호스트 이름을 VG 이름 및 LV의 마운트 지점( root
, swap
, , ...)으로 사용 var
하십시오(아직 수행하지 않은 경우). 이는 일반적인 팁이며 위 단계를 수행할 필요가 없습니다.