제목에서 알 수 있듯이 Grub이 손상될 경우 자동으로 복구할 수 있는 방법이 필요합니다. 매장에 로컬 서버(Nginx, PostgreSQL 등)가 있는 컴퓨터가 있는데 이 도시에서는 정전이 자주 발생하며 그런 일이 발생하면 그럽이 충돌합니다. 정전 시 다음 부팅 시 오류와 함께 grub 복구가 표시됩니다: 알 수 없는 파일 시스템
어느 시점에서 그는 fsck를 강제로 시도했지만 실패했습니다. 지금까지 유일한 방법은 실제로 라이브 우분투 플래시 드라이브가 있는 장소로 가서 부팅 복구를 설치하고 수정하는 것입니다. 정전이 발생할 때 항상 이용할 수 있는 것은 아니며 필요하지 않더라도 부팅할 때마다 문제를 해결하는 솔루션이 필요하지만 부팅 복구로 수행하는 작업을 조정하는 방법을 모르겠습니다(그래픽적으로). 이 상황.
미리 감사드립니다. 이해가 안되는 부분이 있다면 죄송합니다 English
버전: Debian 9.7.0 64비트
답변1
정전은 GRUB를 노리는 미사일이 아닙니다. GRUB 복구 모드 부팅은 GRUB의 코어 이미지가 실제로는 괜찮다는 것을 나타냅니다. 단지 해당 구성을 읽을 수 없습니다 /boot/grub/grub.cfg
.
이 unknown filesystem
오류를 보면 일종의 파일 시스템 문제가 있고 boot-repair
부작용으로 파일 시스템 검사를 수행하여 문제를 해결할 수 있을 수도 있다는 생각이 듭니다.
최신 파일 시스템은 갑작스러운 정전으로 인한 파일 시스템 손상에 상당히 강력하지만 견고성은 일반적으로 파일 시스템 구조 자체의 무결성만을 포함합니다. 정전이 발생하기 전에 애플리케이션에 필요한 데이터가 디스크에 기록되지 않은 경우에는 문제가 발생하지 않습니다. 파일 시스템이 무엇이든 확인하면 다시 빌드됩니다.
시스템이 비즈니스 운영에 중요한 경우 이는 해당 시스템의 실패로 인해 정량화할 수 있는 막대한 금전적 손실이 발생할 수 있음을 의미합니다. 단 하루의 장사를 잃어도 소액 거래의 가격보다 저렴합니다.무정전 전원 공급 장치? 아니요? 그래서 내 첫 번째 제안은 다음과 같습니다.일회성 빠른 수정을 적용하는 대신 UPS를 사용하여 문제를 완전히 제거하십시오.
당신의 파티션은 안녕하십니까? 디렉터리 /boot
가 루트 파일 시스템의 일부이고 파일 시스템 유형이 XFS인 경우 파일 시스템이 완전히 마운트되지 않으면 GRUB의 읽기 전용 XFS 드라이버에 문제가 발생할 수 있습니다. 이 경우 더 나은 해결책은 /boot
더 간단한 파일 시스템 유형(예: )을 사용하여 별도의 파일 시스템으로 분할하는 것입니다 . 대부분의 경우에도 ext3
별도의 파일 시스템을 읽기 전용 마운트로 유지할 수도 있습니다. /boot
운영 체제 내에서 커널 업데이트를 설치하거나 initramfs 파일을 업데이트하는 경우에만 필요합니다.
시스템이 UEFI 펌웨어 또는 이전 BIOS를 사용하고 있습니까? 이는 사용 가능한 대체 부트로더 유형에 영향을 미칩니다.
시스템의 커널( /boot/vmlinuz-*
) 및 initramfs( /boot/initrd.img-*
) 파일과 커널 부팅 옵션을 가져와 /boot/grub/grub.cfg
동일한 옵션으로 동일한 커널 및 initramfs 조합을 부팅하는 USB 스틱을 준비할 수도 있습니다. 커널이 부팅되고 initramfs 내용과 부팅 옵션을 제공하면 더 이상 중요하지 않습니다.어떻게시스템이 이 지점에 도달했습니다. 이러한 USB 미디어에서 부팅하는 것은 시스템 디스크에서 부팅하는 것과 거의 구별되지 않습니다.
(이전 BIOS를 사용하면 커널이 어떤 미디어에서 부팅했는지 알 수 있는 방법조차 없습니다. UEFI를 사용하면 부팅 BootCurrent
변수가 단서를 제공하지만 운영 체제는 일반적으로 이를 어떤 용도로도 사용하지 않습니다.)
이렇게 하면 최소한 시스템이 initramfs에 도달하게 됩니다. 거기에서 실제로 어떤 종류의 오류가 발생했는지에 대해 더 나은 진단을 얻을 수 있으며 실제로 문제가 전체 작업을 통해 기본적으로 자동으로 해결될 가능성이 높습니다. 커널에 의해 실행되는 주요 파일 시스템 파일 시스템 오류가 감지되면 드라이버 또는 자동 파일 시스템 검사에 의해 자동 로그 복구가 수행됩니다.