저는 Ubuntu, Debian, Fedora를 세 번 부팅했습니다. liveCD에서 Fedora를 설치했을 때 GPT가 아니라 LVM을 설치한다는 사실을 깨닫지 못한 채 다음을 계속 클릭했습니다.
이렇게 하면 하드 드라이브에서 부팅할 수 없습니다. EFI 메뉴는 하드 드라이브를 부팅 옵션으로 표시하지도 않습니다(하드웨어에서 감지하더라도).
현재 이상한 방식으로 작동하는 해결 방법이 있습니다. 라이브 부팅 USB(Yumi)를 사용하고 하드 드라이브에서 Linux를 실행하도록 선택하면 컴퓨터의 배포판 중에서 선택할 수 있습니다. 하지만 배포본으로 부팅하려면 이 USB가 필요합니다.
시스템을 복원하는 방법을 잘 모르겠습니다.
내 컴퓨터에는 Ubuntu, Asus XC200(넷북)이 설치되어 있습니다. ASUS 기술지원팀에 전화했더니 이미지 재설치를 원하더군요.. 쉽게 포기하지 않겠습니다.
내 Ubuntu 디렉토리가 있습니다 /dev/sda1
(부팅 플래그가 있는 fat32) EFI
(Ubuntu가 GRUB를 로드하고 Debian을 체인로드한다고 가정).
이 문제 해결을 어떻게 시작합니까? 사람들에게 필요한 정보는 무엇입니까?
(저는 CD/DVD 플레이어가 없습니다)
참고 및efibootmgr
:
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.
실행하면 modprobe
efivars에서는 아무 일도 일어나지 않습니다.
업데이트/지금까지 시도한 것:
아래에 게시된 답변을 시도했습니다.[1],[2] 지금까지의 연구는 훌륭했으며 대부분의 경우 효과가 있을 것이라고 믿습니다. 그러나 내 경우에는 그렇지 않았습니다.
현재 도구
디스크--
- Kali가 추가 플래시 드라이브를 분실했습니다.
- &데비안
- & 우분투 14.04
- 아직 Yumi와 Ubuntu 12.04가 있습니다.
최근 취한 조치(아래 답변 이후):
- 우분투 실행
/dev/sda
FAT 파티션(GPT/ESP)을 제외하고 지워졌습니다.- GPT 파티션에서 grub 및 EFI를 사용하여 문제 없이 Ubuntu를 설치하려고 합니다.
fsck
혹시라도 (좋다)- parted/gparted를 사용하여 모든 파티션을 지운 다음 GPT 및 기타 파티션을 만듭니다(ESP에 부팅 플래그 설정).
- 다시 설치를 시도했습니다(성공하지 않음, 동일한 오류).
- 파티션이 재미있어보이네요, (공간이 부족해서)... 머리가 긁힙니다
- LiveUSB용 하드 드라이브에 파티션 지우기/파티션 생성
dd
LiveUSB에 쓰기 (/dev/sda4
디지털이라고 생각하세요)- 부팅은 되지만 USB가 제자리에 있어야 하므로 쓸모가 없습니다.
gfdisk
손실된 세션을 다시 시작하겠습니다 .- 내 LiveUSB 분할
- Arch .iso를 다운로드하여
dd
두 번째 USB 파티션(LiveUSB)에 복사합니다. - Ubuntu LiveUSB 세션을 계속 실행하고 부분 설치를 완료합니다(라이브 세션에서 Arch의 chroot에 도달).
- 제대로 작동하는 데 문제가 있음
- Ran Arch Live, 전체 설치(파티션 전환 및 초기 생성이 parted/gparted보다 더 잘 작동함)
- 사용 지침
syslinux
(아치 설치 가이드에서) - 기본적으로 내 모든 efi를 새로운 것으로 다시 작성합니다.
- Arch에서 잘 작동합니다.
- 내 질문에 대답할지 여부/방법을 잘 모르겠습니다.
답변1
완전히 잊어버리십시오 grub
- 그것은 주의를 산만하게 하는 것에 지나지 않습니다. 부츠도 아니고-짐을 싣는 사람더 이상 EFI 시스템에서는 부트로더가 펌웨어에 내장되어 있습니다. grub
그냥 가이드에요 -관리자이 경우 - 그리고 거의 확실하게 완전히 중복됩니다. 게다가 grub
애초에 모든 것을 망친 것은 아마도 설치 때문일 것입니다.
필요한 것은 다음과 같습니다.
- FAT 형식의 GPT 파티션 유형EF00.
- 이 파티션에 있는 UEFI 호환 시스템 커널(리눅스 커널 등).
- UEFI 환경 변수에 저장된 시스템 커널 경로(보통
Boot0000-{UUID}
이지만, 이 또한 의 값에 따라 달라집니다BootOrder-{UUID}
).
엄밀히 말하면 그게 다입니다. gdisk
명령 efibootmgr
줄 도구를 사용하여 간단히 위의 설정을 달성할 수 있습니다 .
실제로 부팅 관리자는하다말이 됩니다. 하지만 grub
이는 사용 가능한 모든 방법 중에서 가장 복잡합니다. 다른 곳에서 권장한 대로 rEFInd
아마도 그 중 최고일 것입니다.
rEFInd
이전에 EFI 지원 시스템 파티션을 분할하고, 포맷하고, 설정하는 방법에 대한 단계별 튜토리얼을 작성했습니다.여기.여기이것은 또한 내가 여기서 하는 주장에 대한 추가 설명을 찾을 수 있는 이 주제에 대한 또 다른 답변입니다.
답변2
ESP와 Grub을 다시 설치할 때 rEFInd를 사용했습니다.http://sourceforge.net/projects/refind/files/?source=navbar(플래시 드라이브 변형) 내 배포판으로 부팅되었습니다.
시작 후 ESP를 /boot/efi에 마운트합니다.
mount -t vfat /dev/yourESPdev /boot/efi
그러면 이 EFI 디렉터리를 사용하여 grub을 다시 설치할 수 있습니다.
grub-install --efi-directory=/boot/efi
그러면 grub이 복원됩니다. ESP가 삭제되어 다시 생성해야 하는 경우 /etc/fstab에서 UUID를 업데이트해야 합니다. blkid
장치의 UUID를 나열하는 데 사용됩니다 . /etc/fstab에서 장치의 UUID를 업데이트한 후 update-grub
.
grub에 대한 새 efi 항목을 만들어야 할 수도 있습니다. 다음과 같은 것을 사용하십시오.
efibootmgr -c -d /dev/yourHD -p ESP_PartionNumber -L "Boot Title" -l '\\EFI\\DIST\\grubx64.efi' -u "root=/dev/yourRootFS"
여기서 ESP_PartitionNumber는 하드 디스크에 있는 ESP의 번호(/dev/sda1의 경우 1)이고 DIST는 배포판을 만들지 않은 한 배포판과 관련된 이름을 가진 폴더입니다. 이 폴더는 /boot/efi/EFI에 있습니다. Boot Title은 원하는 EFI 항목의 제목입니다.
ESP를 다시 설치한 지 시간이 좀 지나서 이 명령을 다시 테스트할 수 없습니다. 더 많은 매개변수가 필요할 수도 있지만 그게 전부라고 확신합니다.
답변3
출시하는 배포판에 따라 다릅니다.
~을 위한우분투/데비안:
apt-get install --reinstall grub-efi-amd64 or alternatively: apt-get install --reinstall grub-efi update-grub should the above give you a grub, but not a bootable one
~을 위한페도라 모자(최대 16명, 다른 사람을 위해 일할 수 있음):
yum reinstall grub-efi
다음 명령에서는 sdX를 부팅할 EFI 파티션이 있는 장치로 바꿔야 합니다. EFI 파티션의 번호(예: )로 바꿔야
--part Y
합니다 .Y
/dev/sdXY
efibootmgr -c --disk /dev/sdX --part Y efibootmgr -v # verify a new record called Linux is there
- 지금 입장하세요Ctrl+Dchroot를 종료하려면 모든 것을 제거하고 재부팅하십시오.
/sys /proc /dev/pts /dev; 실행 sudo umount /mnt$i; 완료 sudo umount /mnt/boot/efi #이 작업을 수행하십시오. 손상된 efi 파티션이 좋지 않습니다. sudo umount /mnt sudo restart
필요에 따라 조정해야 할 수도 있습니다.
원천:수
답변4
이것은 Google에서 높은 순위를 차지하지만 적어도 나와 같은 사람에게는 다른 모든 답변이 부분적으로만 완료된 것 같습니다.
내 컴퓨터는 데비안 8.2 설치로 인해 현재 두 번 의식을 잃었습니다. (그리고 운이 좋다면 앞으로 더 많이 그럴 것입니다.) 이것가능한어찌됐든 UEFI 펌웨어의 버그로 인해 발생하거나 공식적으로 존재하지 않는 SATA 슬롯을 사용하고 있거나... 아니면 일부 프로그램이 파티션을 방해하거나 SSD 자체가 의심스럽습니다... 모르겠어요.
어쨌든, 처음에는 모든 설정을 너무 일찍 끝냈어요. 그냥 완전히 다시 설치했어요. 이것으로 해결되었습니다. 하지만 좀 과격한 느낌이 듭니다.
이번에는 옵션이 아닙니다. 구성에 너무 많은 시간을 소비했습니다!
오늘날 내 진단 중 더 많은 것은 (적어도 이번에는) 원인이 그렇지 않거나 그렇지 않다는 것을 나타냅니다.오직- 펌웨어는 EFI 파티션의 존재를 "잊었지만"반품파티션이 어떻게 든 손상되었다고 말합니다. 다시 한 번 설명할 수 없습니다. 이는 조잡한 펌웨어일 수도 있고, 관련 없는 파일 시스템 공포일 수도 있고, 완전히 다른 것일 수도 있습니다. 그냥 처리하면 될 것 같아요.
증상은 다음과 같습니다.
- UEFI가 갑자기
debian
EFI 부팅 파티션의 존재를 인식하지 못합니다. - Handy는 이제
efibootmgr
디스크를 EFI 대신 이전 BIOS 유형으로 보고합니다. mount
그 이후로 그러면 안 되는데/boot/efi
...- ...신뢰할 수 있는 사람들이
fsck
의도한/백업과 다른 부트 섹터와 손상된 루트 FAT 노드(dat lingo) 등에 대해 불평합니다. - 전반적으로 거의 모든 것이 채워져 있었습니다.
따라서 이 문제를 해결하기 위해 제가 수행한 작업에 대한 완전하고 합리적인 목록은 다음과 같습니다(현재로서는?).
- 흥미진진한 다운로드를 받았습니다가감@http://refit.sourceforge.net/
- 중고 고품질 Win32 Disk Imager(일명 "Unknown Sequel" @)http://sourceforge.net/projects/win32diskimager/빌린 PC의 USB 펜 드라이브에 rEFIT 쓰기
- 이것은 매우 반가운 소식을 전합니다. 내
/
파티션은 여전히 손상되지 않았습니다. - 해당 파티션을 부팅
- 재포맷잘못된 EFI 파티션
mkdosfs -F 32 /dev/sdXN
- 자신의 파티션으로 교체KNAME
하고 디스크가 스크램블되는 경우 문제를 일으킬 수 있으므로 짧은 런타임 상황 외에는 사용하지 마십시오. - 새로 포맷된 파티션에 GRUB를 다시 설치하세요.통과
grub-install /dev/sdXN
/etc/fstab
부활한 EFI 파티션에서 재부팅했습니다. 이전 UUID에 여전히 보관되어 있기 때문에 복구 모드에서 멈춰systemd
종속성이 실패했습니다 .- 모든 디스크의 유형 경로를
/etc/fstab
참조하도록 다시 작성되었습니다./dev/disk/by-id/ata-EVILCORP-C3PO-partN
- 왜냐하면 (A)KNAME
위험이 있고 (B) 불쌍한 나처럼 갑자기 다시 포맷해야 하면 UUID가 변경되기 때문입니다... - 정상적인 부팅 가능한 데비안 기능을 기적적으로 복원했습니다.현재.
그들이 말했듯이, “다음 번까지” – 아마도 말 그대로일 것입니다. 아마도 이것은 빌린 결함이 있는 컴퓨터에서 미친 듯이 Google을 검색하는 다른 길 잃은 영혼들에게 도움이 될 것입니다.