EFI 시스템 파티션의 크기를 조정하는 방법


2

나는 EFI 시스템 파티션의 크기를 750MiB로 늘리고 싶습니다. 그래서 EFI 시스템 파티션 윈도우는 100MiB가 너무 작기 때문에 Windows 10과 함께 아치 리눅스를 설치할 수 있습니다. 아치 리눅스는 ESP를에서 마운트 할 것을 권장합니다. /boot 대신에 /boot/efi 100MiB가 너무 작아서 /boot. 나는 복구 파티션을 건드리고 싶지 않다.


정확히 어떻게 새로운 ESP를 만들려고 했습니까?
fpmurphy

왜 그렇게 큰 ESP가 필요한가요? 일반적으로 부팅 이미지 만 포함되므로 많은 디스크 공간을 차지하지 않습니다. 커널 및 기타 항목을 넣어야합니다. /boot
phuclv

Arch Linux '의 추천은 저에게 경악 스럽습니다. EFI 파티션에 / boot를 두지 말 것을 권합니다. 나는 이것을 한 번도 해본 적이 없으며 결코 문제가 없었습니다. 또한 EFI 파티션은 FAT32 파일 시스템을 사용하며 마운트 할 수 있지만 표준 FAT32 사양의 일부가 아닌 특정 메타 데이터가 파티션에 있으므로 일반적으로 그렇게하지 않는 것이 좋습니다. 마지막으로, EFI 파티션은 FAT32 파일 시스템입니다 ... / boot의 경우에도 리눅스 사용에는 이상적입니다. 그리고 FAT32 인 EFI 파티션은 EFI 사양의 일부입니다 ... Windows가 아니기 때문에 ext4fs를 다시 만들지 않습니다.
Cliff Armstrong

@Cliff_Armstrong, 필자는 uefi 마더 보드가 FAT32를 지원해야한다고 생각하는데, 이것이 추가 파일 시스템을 지원할 수 없다는 것을 의미하지는 않습니다.
jiggunjer

답변:


6

아치 커뮤니티는 Freedesktop.org 부트 로더 사양 심장으로. AFAIK, 아치 및 파생물은이 작업을 수행하는 유일한 배포판이며 아치에서도 필수 사항은 아닙니다. 부트 로더 사양에서는 ESP와 같은 공유 FAT 파티션을 Linux 커널을 저장하는 위치로 사용하는 것과 배포본의 커널을이 파티션의 다른 커널에서 분리하고 커널의 부트 로더 구성을 관리하는 시스템을 권장합니다.

부트 로더 사양은 멀티 부팅 컴퓨터에서 Linux 배포 공존과 관련된 실제 문제를 해결하려는 시도입니다. 그러나 그것은 단지 하나의 주요 배포판에 의해 채택 되었기 때문에 몇 년이 지난 후에도 실질적인 이점을 제공하지 못합니다. 또한 Boot Loader Specification은 systemd-boot 부팅 관리자와 밀접하게 연결되어 있습니다.이 관리자는 Arch 커뮤니티를 제외하고는별로 인기가 없습니다. systemd-boot에는 몇 가지 장점이 있지만, 장점을 이해하고 필요로한다는 것을 알기에 필드에 익숙하지 않으면 이상한 방법으로 설정을 시작하고 싶지 않을 수도 있습니다 (예 : ESP를 /boot ) systemd-boot를 사용하기 위해서입니다. 게다가 systemd-boot에는 하나가 있습니다. 거대한 단점 : 자체적으로 시작된 파티션에서만 후속 부팅 프로그램 (Linux 커널 포함)을 시작할 수 있습니다. 즉, systemd-boot를 사용하면 systemd-boot, Linux 커널 및 다른 OS (Windows 등)의 부트 로더를 하나의 파티션, 즉 ESP에 저장하는 것이 좋습니다. 이것은 부트 로더 사양 비전을 준수하지만 자체 문제를 만듭니다.

즉, ESP를 확대하려면 다양한 도구로 그렇게 할 수 있습니다. 그러나 이는 다음 파티션을 시작 지점에서 축소해야 함을 의미합니다. 파티션을 끝에서 축소하는 것보다 위험하고 시간이 많이 걸리므로 강하게 다음 파티션을 백업하는 것이 좋습니다. 또한 Windows 컴퓨터에서 ESP 다음의 파티션은 기본적으로 Windows가 스크래치 공간에 사용하는 빈 파티션 인 Microsoft 예약 파티션입니다. 일반적으로 파일 시스템이 없기 때문에 대부분의 파티션 도구로 축소 할 수는 없으며 Windows는 특정 크기 (100 MiB 또는 128 MiB, IIRC)를 좋아합니다. 대신 Microsoft 예약 파티션을 따르는 파티션을 축소하고 Microsoft 예약 파티션을 삭제 한 다음 새 파티션을 만들어야 할 수 있습니다. 이 모든 것이 하나의 번거로운 번거 로움이며 새 OS를 설치하는 데 따르는 위험을 크게 높입니다.

대신에 새로운 ESP는 디스크의 다른 곳에 있습니다. Arch Linux를위한 공간을 확보 한 후에, Arch Linux를위한 새로운 ESP와 다른 파티션을 생성 할 수 있습니다. 사용하는 부팅 관리자에 따라 간단히 Arch와 Windows ESP를 분리 할 수 ​​있습니다. 또는 Windows 부트 로더 파일을 새 ESP로 이동하고 원래 ESP를 삭제하거나 다시 사용할 수 있습니다. systemd-boot는 자신이 아닌 다른 파티션에있는 부트 로더를 시작할 수 없기 때문에 ESP를 다음과 같이 마운트하는 이유가 /boot systemd-boot를 사용하고 싶다면 systemd-boot에서 Windows 부트 로더를 시작해야한다면 Windows 부트 로더를 새 ESP로 이동해야합니다. 또한 내가 마지막으로 확인한 시간 (Windows 7과 동일하므로 더 이상 맞지 않을 수 있음)은 디스크에 두 개의 ESP가있는 경우 Windows 설치 프로그램이 매우 혼란스럽고 오작동을 일으켜 이러한 디스크에 Windows를 설치할 수 없게됩니다 . 따라서 두 개의 ESP를 사용하여 문제를 해결하면 문제가 발생할 수 있습니다. 이러한 문제는 비 Windows ESP의 파티션 유형 코드를 일시적으로 변경하면 쉽게 해결할 수 있지만이 해결 방법을 알고 있어야합니다.

요약하면, 아치 지역 사회가 ESP를 /boot systemd-boot를 통해 (종종) 실행되는 Linux 커널을 저장하는 데이 방법을 사용하면 복잡하고 많은 이점을 생성 할 수 있습니다. 전반적으로, 당신은 아마 GRUB 2 나 내 자신의 것을 사용하는 편이 낫습니다. rEFInd, 둘 모두 작은 ESP에 적합하고 다른 곳에 저장된 커널을 시작합니다. 나의 Linux 용 EFI 부팅 로더 페이지에서는 Linux 부트 로더 및 부트 관리자 옵션에 대해 자세히 설명합니다.


1
ESP를 탑재해야하는 좋은 이유 /boot ESP에 커널을 배치하면 EFISTUB 커널을 사용하여 마더 보드 펌웨어를 부팅 할 수 있습니다 직접 리눅스 커널에. 이렇게하면 부트 로더를 구성하거나 별도의 Linux를 구성 할 필요가 없기 때문에 부트 구성이 크게 단순 해집니다. /boot 분할.
Vladimir Panteleev

1

이 질문은 Google의 "EFI 시스템 파티션 크기를 조정하는 방법"(질문의 제목이 주어짐)에 대한 최고의 결과 중 하나입니다. 그러나 OP의 상황 및 일반적으로 유용한 정보에 대한 훌륭한 조언이 포함되어 있지만 현재의 대답은 여기에 나와 있지 않습니다. 실제로 그 질문에 대답하려고 시도했다. 그 질문에 대답하기위한 나의 이전의 다소 간결한 (지금 삭제 된) 시도는 downvoted 였으므로, 여기에 좀 더 철저한 시도가 있습니다.

분명한 것은 (gparted를 사용하여) "GNU Parted는이 크기로이 파티션의 크기를 조정할 수 없습니다"라는 오류가 나왔기 때문에 이것을 읽는 것이 좋습니다. Windows가 디스크 관리를 사용하여 Windows 내에서 작업을 시도했을 수도 있습니다. Windows가 ESP를 사용하여 작업을 전혀 수행하지 않는다는 것을 발견했을뿐입니다.

파티션을 실제로 크기 조정하는 것이 가장 좋은 방법은 파티션을 다시 만드는 것입니다. 이 작업을 수행하기위한 자세한 단계는 다음과 같습니다.

  1. 부팅중인 디스크의 ESP 크기를 조정하는 경우 문제가 발생할 경우를 대비해 시스템을 복구하는 데 사용할 수있는 부팅 가능한 복구 미디어가 준비되어 있는지 확인하십시오. 디스크 파티셔닝 작업을 수행하기 전에 데이터를 백업하는 것이 일반적으로 좋은 아이디어입니다.

  2. ESP를 확대하는 경우 좋아하는 파티션 도구 (예 : gparted)를 사용하여 파티션 바로 뒤의 파티션을 이동하거나 크기를 조정하여 공간을 확보하십시오.

  3. 이미 마운트되지 않은 경우 ESP를 마운트하십시오.

    # mount /dev/sdx1 /mnt # replace sdx1 with ESP
    
  4. 내용을 백업하십시오.

    # mkdir ~/esp
    # rsync -av /mnt/ ~/esp/
    
  5. ESP를 마운트 해제하십시오.

    # umount /mnt
    
  6. ESP를 삭제하고 다시 만드십시오.

    # gdisk /dev/sdx # replace sdx with disk containing ESP
    p (list partitions)
    (ensure the ESP is the first partition)
    d (delete partition)
    1 (select first partition)
    n (create partition)
    Enter (use default partition number, should be 1)
    Enter (use default first sector, should be 2048)
    Enter (use default last sector, should be all available space)
    EF00 (hex code for EFI system partition)
    w (write changes to disk and exit)
    
  7. ESP를 포맷하십시오.

    # partprobe /dev/sdx
    # mkfs.fat -F32 /dev/sdx1
    
  8. ESP의 내용을 복원하십시오 :

    # mount /dev/sdx1 /mnt
    # rsync -av ~/esp/ /mnt
    

그것은 모든 것이되어야합니다. ESP 크기가 너무 작아서 (50MB) Windows가 Fall Creators 'Update (ESP의 크기를 조정하기 전, Windows Update가 0x8E5E03FB 오류로 실패하기 전에)로 업그레이드 할 수 있도록 Windows 설치를위한 ESP의 크기를 성공적으로 조정했습니다. 업데이트 도우미 오류 0xc1900200).


0

이중 부팅 OS에는 약간 관련이 있습니다.

내가 제안 할 수있는 첫 번째 일은 기존 EFI 시스템 파티션을 사용하지 않는 것입니다. 저기 창문을 부팅 할 수 있습니다. 그걸 망치지 마라.

대신, 디스크 관리를 열고 창 파티션 (주 파티션)을 얼마만큼 줄이십시오 (그러나 아치 리눅스에서 사용하기를 원할 것입니다). 일반적으로 디스크에 충분한 공간이있는 경우에도 축소 할 수있는 양은 항상 제한되어 있습니다. 이 "문제"는 다른 곳에서 해결되었으므로 여기서 설명하지 않겠습니다. 어느 것이 어느 것을 기억하십시오. 예 : 큰 창문, 작은 공간은 비어 있습니다.

Windows에서 빠른 시작을 비활성화하는 것을 잊지 마십시오. 이것은 "빠른 시작"을 달성하기 위해 기본적으로 PC를 종료하는 대신 최대 절전 모드로 전환하는 것입니다. Linux로 부팅하면 Windows 시스템에서 데이터가 손실 될 위험이 있습니다.

리눅스 설치 환경 (USB 또는 기타 등등)에서 부팅 한 다음 윈도우에서 만든 여유 공간을 설정하고 리눅스 시스템 파티션에 넣으십시오. 어떤 파티션이 어떤 것인지 기억하고 있습니다. 예 : 실수로 Windows 파티션을 다시 포맷하지 마십시오. 위에서 기록한 파티션 크기를 사용하여 다시 확인하십시오.


나는 Fast Startup에 대해 내 자신의 대답으로 언급하는 것을 잊어 버렸다. 이 기능은 제가 생각하는 것보다 더 많은 문제를 일으 킵니다.
Rod Smith

나는 지금 그것을 잊을 수 없었다. 나는 많은 사람들을위한 이중 부팅 다른 리눅스 배포판을 가지고 있으며 그들 중 대부분은 빠른 시작에 문제가있어서, 그 체크 박스를 클릭하는 것이 자연스러워졌습니다. haha
technotron101
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.