MBR/BIOS를 GPT/UEFI로 변환(정보 덤프)

MBR/BIOS를 GPT/UEFI로 변환(정보 덤프)

1.5TB HDD를 4TB SSD로 업그레이드하고 싶었는데, 내가 찾은 인터넷 리소스 중 어느 것도 처음부터 끝까지 내 상황과 정확하게 일치하지 않았고 결국 작동하는 데 약 20시간이 걸렸으므로 결과를 요약하겠습니다. 여기 미래의 여행자를 위해.

답변1

기본 세부 정보: Ubuntu 20.04.6을 실행하는 오래된 Dell Inspiron 5720이 있습니다. 1.5TB HDD로 시작해서 나중에 4TB SSD를 구입했습니다. 이전 드라이브에서 사용했던 파티션 테이블 MBR이 2TB보다 큰 파티션을 지원하지 않는다는 사실을 발견하여 GPT로 전환해야 했습니다. 분명히 이를 위해서는 거의 필연적으로 부팅 시스템을 BIOS에서 UEFI로 전환해야 하는데, 이것이 실제로 문제의 주요 원인입니다. (UEFI 설치가 손상되었다는 증거가 있어 문제가 복잡해질 수 있습니다.)

프로세스를 돕기 위해 Kali Linux를 USB 스틱에 복사했습니다. 더 자세히 알아보려면 단계 나열을 시작하는 곳으로 건너뛰세요. 세부 사항이 사람들이 자신의 문제가 무엇인지 파악하는 데 도움이 될 수 있도록 나머지 내용과 줄을 괄호 안에 넣었습니다.

내가 처음 시도한 것은 다음과 같습니다.작동 안함.
사용하지 않을 때는 파티션을 어지럽히는 것이 더 안전할 것 같아서 USB를 부팅해 보았습니다. 저는 SSD를 연결하기 위해 어댑터를 사용합니다. gparted를 열었고 기억이 맞다면 SSD에 GPT 파티션 테이블을 만들었습니다. 그런 다음 (gparted에서) HDD를 선택하고, 첫 번째 파티션을 복사하고, SSD를 선택하고, 붙여넣고, 두 번째 파티션에 대해 동일한 작업을 수행합니다. UEFI 가이드를 읽은 후 UEFI 파티션 끝에 세 번째 파티션을 생성했을 수도 있고, 첫 번째 시도가 실패했을 때 해당 파티션을 추가했을 수도 있습니다. 그런 다음 복사가 완료될 때까지 기다렸다가(약 4시간) 컴퓨터를 종료하고 하드 드라이브를 교체한 다음 부팅을 시도했습니다. 주사위가 없습니다. 내 생각에 오류는 "운영 체제 없음"이거나 수정에 가까운 오류라고 생각합니다. 간단히 말해서, 나는 많은 일을 시도하는데 몇 시간을 보냈지만 그 중 아무것도 효과가 없었습니다. 그러다가 플랜B로 방향을 틀었습니다.

플랜 B가 마침내 성공했습니다.
대부분의 가이드에서는 변환하려는 시스템으로 부팅할 수 있을 것으로 기대하므로 먼저 드라이브를 다시 교체하고 USB로 부팅한 다음 HDD를 SSD에 직접 복사하여 dd if=/dev/sda bs=1M of=/dev/sdc올바른 장치가 있는지 확인했습니다. (잘못 복사할 뻔 했습니다.) 다음날 아침 하드 드라이브를 교체하고 성공적으로 부팅했습니다. (여기서 하드 드라이브는 더 이상 사용되지 않습니다.) 다음으로 (설치?) 실행합니다 gdisk /dev/sda. 작동하는 MBR 테이블이 있지만 손상된 GPT 테이블도 있다고 합니다. 어느 것을 계속할지 묻는 것 같아서 (1) MBR을 선택했습니다. 메인 메뉴로 이동하기 전에 다른 것을 선택하라는 메시지가 표시되지 않은 것 같아서 옵션을 탐색한 후 w작성을 했습니다. 재시작. 검은색 화면에 커서가 깜박입니다. 많은 테스트와 잘못된 시작을 제거했지만 목록을 완성하기 위한 첫 번째 단계를 반복했습니다.

(권장 사항: BIOS가 UEFI를 지원하는지 확인하고 그렇지 않으면 업데이트하십시오. 이 작업을 더 빨리 수행하면 일부 문제가 해결될 수도 있습니다.)

복사할 때 주의하세요. 이러한 명령 중 일부는 내 특정 드라이브 문자를 사용합니다.

USB에서 부팅
HDD를 SSD에 복사합니다. 예를 들어 dd if=/dev/HDD bs=1M of=/dev/SSD(제대로 하세요!!)
컴퓨터를 종료합니다
. 드라이브를 교체하고 문제가 발생하여 다시 시작해야 할 경우를 대비해 HDD를 안전한 곳에 보관합니다.
SSD로 재부팅합니다
gdisk /dev/sda
(필요한 경우 MBR)과 손상된 GPT 중에서 선택하려면 USB에
w"쓰기" 재부팅을 위해 MBR)을 선택합니다 (기본 OS에서 계속하기 위해 작동하고 데이터를 파괴하지 않을 수도 있지만). 콘텐츠를 루트로 설정하세요. 인터넷에 연결 하려면 여전히 efi 파티션이 필요할 수 있습니다 .


sudo bash
apt update
apt install zfsutils-linux
modprobe zfs
mount /dev/sda5 /mnt  # sda5 was my main installation partition
mount /dev/sda1 /mnt/boot/efi   # sda1 I think was the partition originally intended to be the efi partition
modprobe efivarfs
mount -t proc proc /mnt/proc
mount -t sysfs sys /mnt/sys
mount -o bind /dev /mnt/dev
mount --bind /run /mnt/run
chroot /mnt bash
apt install grub-efi
update-grub
grub-install --target=x86_64-efi /dev/sda
update-grub   # not sure whether it's supposed to go before or after install

(어떤 단계도 놓치지 않았으면 좋겠습니다.)

결국 내 BIOS(Phoenix SecureCore Tiano 버전 A03)가 UEFI를 지원하기에는 너무 오래되었다는 것을 깨달았습니다. 그래서
다음에서 최신 펌웨어를 다운로드했습니다 .https://www.dell.com/support/home/en-us/drivers/driversdetails?driverid=khvck 다음에서 FreeDOS FullUSB 이미지를 다운로드하세요.https://www.freedos.org/download/
ddimg 파일을 USB에 복사 USB
다시 삽입 USB
파티션 마운트
BIOS EXE를 복사
sync하고 닫습니다.
USB를 부팅합니다(쓰기 가능해야 하며 그렇지 않으면 exe가 추출될 수 없음)
새 BIOS 버전 A17을 설치하는 exe를 실행합니다.
이제 BIOS가 확인됩니다 확인 UEFI로 작업하고 메뉴 등에서 새로운 옵션을 보았습니다.
(정확한 방법은 잊어버렸지만 여전히 부팅에 실패했습니다.)
(그런 다음 부팅 메뉴를 사용하여 하드 드라이브를 선택했습니다. Ubuntu여기 간다부팅했지만 "Watchdog: BUG: Soft Lock"이라고 표시되고 몇 분 후에 재부팅합니다.
부팅 메뉴에서 하드 드라이브를 선택하면
그럽 화면이 나타나고 유지 관리 모드 셸을 선택합니다.

modprobe zfs
update-grub
grub-install
update-grub
reboot

(BIOS는 이제 작동하는 uefi 부팅 목록에 "ubuntu"를 표시하지만 BIOS가 자동으로 부팅되지는 않습니다.)
부팅 목록에서 하드 드라이브를 선택하면 부팅이 성공합니다.

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt install boot-repair
boot-repair

Ran이 수정 사항을 제안했습니다. 성공 대화 상자에 제공되는 sda1/efi/ubuntu/grubx64.efi 경로를 기록해 둡니다
(재부팅 실패)
(BIOS에서 Legacy Boot ROM 옵션을 끄고 올바르게 부팅했지만 다른 경로는 제거했습니다). 그래서 부팅 옵션을 다시 켰습니다.)
BIOS에서 "부팅 추가"를 선택하고 부팅 옵션에 이름을 지정한 다음 기존 대상만 선택한 상태로 두었습니다. 파티션 등), 세 번째 상자에서는 "EFI\ubuntu\grubx64.efi"로 이동하여 부팅 옵션을 생성할 수 있습니다.
이 옵션이 UEFI 부팅 옵션의 첫 번째 옵션인지 확인하세요. (uefi 위에 모든 이전 옵션이 있어서 변경할 수 없었습니다.)
결국 독립적으로 부팅되었습니다.
OS에서 gparted를 사용하여 기본 파티션의 크기를 조정
하고 성공적으로 재부팅했습니다.

이 중 얼마나 많은 부분이 필요했는지, 예를 들어 BIOS를 먼저 업데이트하고 USB로 부팅하는 일부 단계를 건너뛰면 얼마나 피할 수 있었는지 모르겠지만 수십 개의 다른 SO에서 결국 그렇게 되었습니다. 게시물, Reddit 게시물 및 포럼 주제.

관련 정보