내 Pop!_OS 시스템을 업데이트하는 동안 내 그럽이 손상되었습니다. 파티션을 다시 작성하고, grub 설치, 부팅 복구 등 모든 것을 시도했습니다.
음, 다음 줄을 입력하여 시작할 수 있습니다.
set prefix=(hd1,gpt3)/boot/grub
set root=(hd1,gpt3)
insmod normal
normal
하지만 GRUB이 이 작업을 자동으로 수행하도록 할 수는 없습니다. "그렇게 나쁘다"는 것은 아니지만 시작할 때마다 이런 것들을 입력해야 한다는 것은 확실히 짜증나는 일입니다.
이 항목을 다시 "자동화"하는 데 사용할 수 있는 구성 파일이 있습니까? 귀하의 조언에 감사드립니다!
**
편집: update-grub, grub-install을 시도했습니다. 다양한 방법이 있지만 이해가 되지 않습니다.
**
다음은 몇 가지 기본 정보입니다.
커널: 5.19.0-76051900-일반
분할:
/dev/md0p3 /
/dev/md0p4 /home
/dev/md0p1 /boot/efi
이것은 내 /boot 디렉토리의 트리입니다:
.
├── config-5.18.10-76051810-generic
├── config-5.19.0-76051900-generic
├── efi
│ ├── EFI
│ │ ├── BOOT
│ │ │ ├── bkpbootx64.efi
│ │ │ └── bootx64.efi
│ │ ├── pop
│ │ │ ├── grub.cfg
│ │ │ └── grubx64.efi
│ │ ├── pop_os
│ │ │ ├── grub.cfg
│ │ │ └── grubx64.efi
│ │ └── Pop_OS-f8340379-32a0-45b0-82fa-f157f426bd50
│ │ ├── cmdline
│ │ ├── initrd.img
│ │ ├── initrd.img-previous
│ │ ├── vmlinuz.efi
│ │ └── vmlinuz-previous.efi
│ └── loader
│ ├── entries
│ │ ├── Pop_OS-current.conf
│ │ └── Pop_OS-oldkern.conf
│ └── loader.conf
├── grub
│ ├── fonts
│ │ └── unicode.pf2
│ ├── grub.cfg
│ ├── grubenv
│ ├── locale
# Tons of locale-files
│ │ └── zh_TW.mo
│ ├── unicode.pf2
│ └── x86_64-efi
│ #Tons of .mod files
│ ├── xzio.mod
│ ├── zfscrypt.mod
│ ├── zfsinfo.mod
│ ├── zfs.mod
│ └── zstd.mod
├── grub.bak
│ ├── grub.cfg
│ └── grubenv
├── initrd.img -> initrd.img-5.19.0-76051900-generic
├── initrd.img-5.17.5-76051705-generic-nouveau
├── initrd.img-5.18.10-76051810-generic
├── initrd.img-5.19.0-76051900-generic
├── initrd.img.old -> initrd.img-5.18.10-76051810-generic
├── System.map-5.18.10-76051810-generic
├── System.map-5.19.0-76051900-generic
├── vmlinuz -> vmlinuz-5.19.0-76051900-generic
├── vmlinuz-5.18.10-76051810-generic
├── vmlinuz-5.19.0-76051900-generic
└── vmlinuz.old -> vmlinuz-5.18.10-76051810-generic
답변1
먼저 다음을 입력하여 루트로 새 grub cfg 파일을 생성하는 것이 좋습니다.
grub2-mkconfig –o /boot/grub2/grub.cfg
그런 다음 다시 루트 사용자로
update-grub2
참고:
update-grub2
존재하지 않는 경우 사용update-grub
답변2
새로 설치된 커널에 대한 새 부팅 옵션을 정의하려면 루트 액세스 권한이 있는 (/boot/loader/entries) 디렉터리로 이동하여 .conf 확장자를 가진 새 파일을 만들고 파일 이름을 커널과 동일한 이름의 A 파일로 지정합니다. . 새로 설치된 커널(예: ef8547eded9a4d-5.19.0-76051900-generic.conf)
그런 다음 원하는 설정을 파일에 기록합니다.
다음은 설정 예시입니다.
title PopOs(Workstation)
version 5.19.0-76051900-generic
linux /vmlinuz-5.19.0-76051900-generic
initrd /initrd.img-5.19.0-76051900-generic
options root=UUID=52d3d64b-5de1-4483-9fd9-e171b7acdbe9 ro
resume=UUID=0cb3dec1-cce5-46d6-89b6>
grub_users $grub_users
grub_arg --unrestricted
답변3
USB 디스크에 Xubuntu 배포판을 만들려고 할 때 이런 일이 발생했습니다. 위에 제공된 옵션을 시도했지만 sudo update-grub
작동하지 않습니다. 해결 방법은 제안한 명령을 사용하여 Linux를 부팅하는 것이었지만 루트 파티션은 (hd2,gpt2)였고 그런 다음 grub 부트로더를 다시 설치해야 했습니다. 나는 lsblk
내 부팅 장치의 이름을 찾은 /dev/nvme1n1
다음 설치 명령을 사용했습니다.
sudo grub-install --boot-directory=/boot /dev/nvme1n1
grub 명령줄에서 Linux를 부팅하는 데 어려움이 있는 경우 이 모든 작업을 라이브 Ubuntu USB 디스크에서도 수행할 수 있기를 바랍니다(디스크가 많으면 올바른 디스크를 찾는 것이 까다로울 수 있음). 하드 디스크를 마운트하고 시작 디렉토리의 마운트 위치를 가리키도록 명령을 변경할 수 있습니다.