
리눅스 시스템이 부팅되지 않을 때, 특히 윈도우를 오랫동안 사용해 온 사용자라면 당황하는 것은 당연한 일이며, 어떻게 해야 할지 잘 모를 때 더욱 그렇습니다. GNU/Linux에서 시스템과 데이터를 보호하기 위해 따라야 할 단계는 무엇입니까?다행인 점은 대부분의 경우 리눅스는 포맷하기 전에 윈도우보다 더 많은 해결 방법을 제공한다는 것입니다.
리눅스는 매우 견고한 시스템이지만, 다음 사항을 이해하는 것이 중요합니다. 사람의 실수, 하드웨어 결함 또는 GRUB 부트 관리자 변경으로 인해 부팅 오류가 발생할 수 있습니다.체계적으로 정리하고 논리적인 순서를 따른다면, 모든 것을 잃고 처음부터 다시 설치해야 하는 상황은 매우 드물 것입니다.
안정적인 리눅스 시스템이 부팅되지 않는 이유는 무엇일까요?
리눅스는 매우 안정적이라는 평판을 얻고 있는데, 여기에는 여러 가지 이유가 있습니다. 완벽하게 작동하는 배포판도 정상적으로 부팅되다가 갑자기 검은 화면에서 멈추거나 오류 루프에 빠질 수 있습니다.문제의 근원은 우리가 스스로 만들어내는 변화에 있는 경우가 많지만, 항상 그런 것은 아닙니다.
스타트업을 실패로 이끄는 가장 흔한 이유들 중에는 자주 반복되는 몇 가지 시나리오가 두드러집니다. 문제는 부트 관리자, 디스크 파티션 또는 커널 자체 및 드라이버에 있을 수 있습니다.본인의 사례가 어떤 그룹에 속하는지 파악하면 수리 시간을 크게 단축할 수 있습니다.
듀얼 부팅 시스템에서는 다음과 같은 경우가 매우 흔합니다. Windows는 재설치, 주요 업그레이드 또는 빠른 부팅으로 인해 MBR을 다시 작성하거나 GRUB에 간섭할 수 있습니다.결과적으로 사용자는 부팅 시 리눅스를 선택할 수 있는 옵션을 갖지 못하게 됩니다.
우리는 그 영향력을 과소평가해서도 안 됩니다. 패치가 제대로 적용되지 않았거나, 하드웨어와 호환되지 않는 커널이 사용되었거나, 시스템 충돌을 일으키는 독점 드라이버가 있는 경우 커널이 부팅 중에 해당 파일들을 로드하려고 할 때 발생합니다.
- 부팅 또는 시스템 파티션에 문제가 있습니다..
- 커널 손상 또는 업데이트 실패.
- 부분적으로만 구성된 패치 및 패키지.
- 문제가 있는 드라이버 및 모듈.
- Windows와 듀얼 부팅.
- GRUB 또는 BIOS/UEFI 설정이 잘못되었습니다..
- 가상 머신 사용.
리눅스의 장점은 이러한 상황 대부분에서 우리가 할 수 있다는 점입니다. TTY, 복구 모드, 구조 모드 또는 라이브 배포판과 같은 다른 환경으로 부팅한 다음 거기에서 복구를 진행하십시오. 포맷 없이 설치합니다. 윈도우와 달리 처음부터 다시 설치하는 것은 일반적으로 최후의 수단이지, 첫 번째 선택지가 아닙니다.
첫 번째 필터: 하드웨어 오류인가, 소프트웨어 오류인가?
명령어를 마구잡이로 입력하기 전에, 문제가 순전히 물리적인 원인이 아닌지 먼저 확인하는 것이 중요합니다. 왜냐하면 하드 드라이브가 고장 나거나 RAM에 문제가 생기면 어떤 마법 같은 명령으로도 시스템 안정성을 복구할 수 없습니다.가능한 한 빨리 감지하고 데이터를 저장하는 것이 가장 좋습니다.
먼저 BIOS/UEFI에 들어가서 확인해 보세요. 메인보드는 여전히 Linux가 설치된 하드 드라이브 또는 SSD를 인식합니다.부팅 장치 목록에 아예 나타나지 않는다면 케이블이 헐거워졌거나 SATA 포트가 손상되었거나 드라이브 자체가 고장났을 가능성이 높습니다.
디스크가 감지되면 다음 단계는 확인하는 것입니다. MemTest86+ 및 smartmontools와 같은 도구를 사용하여 메모리 및 디스크 상태를 확인합니다.잠재적으로 오류가 발생할 수 있는 시스템에 의존하지 않으려면 실제 운영 환경에서 이 작업을 수행하는 것이 가장 좋습니다.
스타트업이 정체되는 정확한 지점을 파악하십시오.
가장 큰 하드웨어 문제를 배제하고 나면, 이제 알아낼 차례입니다. 창업 과정의 어느 단계에서 공급망이 끊어지는 건가요?GRUB이 아예 나타나지 않는 것과 해당 항목을 선택한 후 커널 패닉이 발생하는 것은 전혀 다른 문제입니다.
부팅 중에 Shift 키를 눌러도 GRUB 메뉴가 나타나지 않는다면, 일반적으로 다음과 같은 이유 때문입니다. 부트 관리자가 덮어쓰기되었거나 MBR/EFI에 잘못 설치되었습니다.일반적으로 윈도우 재설치 또는 파티션 수정으로 인해 발생합니다.
GRUB 화면이 나타나지만 Linux를 선택하면 검은 화면이 표시되거나, 부팅 루프가 발생하거나, 커널 오류 메시지가 나타나는 경우, 문제는 대개 다음과 같습니다. GRUB 설정, 설치된 커널 또는 루트 파티션의 파일 시스템 자체.
우분투와 같은 배포판에서는 시작 시 이러한 현상을 자주 볼 수 있습니다. 시스템의 실제 메시지를 숨기는 애니메이션 또는 로고무슨 일이 실제로 일어나고 있는지 알고 싶다면 "상세 모드"를 활성화하는 것이 가장 좋습니다.
이렇게 하려면 시스템 편집 권한이 생기면 GRUB 설정 파일을 엽니다. / 기타 / 기본 / 애벌레해당 줄을 찾으세요:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
그리고 다음과 같이 비워 두세요:
GRUB_CMDLINE_LINUX_DEFAULT=""
그 다음 실행 update-grub 설정을 다시 생성하려면 다음 시작 시 애니메이션 대신 다음 내용이 표시됩니다. 전체 부팅 시퀀스와 프로세스를 차단하는 오류이는 아무런 정보 없이 시작하는 것을 피하기 위한 핵심 요소입니다.

로그 및 복구 모드를 사용하여 더 나은 진단을 수행하세요.
시스템이 데스크톱으로 부팅되지 않지만 라이브 환경으로 부팅하거나 디스크를 마운트할 수 있는 경우, 시스템 로그는 가장 유용한 도구가 됩니다. 모든 부팅 메시지는 여러 로그 파일에 저장됩니다..
우분투 같은 배포판에서 가장 유용한 작업은 다음과 같은 파일들을 확인하는 것입니다. /var/log/boot.log, /var/log/messages, dmesg의 출력, 그리고 journalctl을 통해 접근 가능한 항목들이 두 가지를 함께 살펴보면, 과정 중 어느 시점에서 문제가 발생했는지 상당히 명확하게 알 수 있습니다.
오류가 매우 초기에 발생하여 파티션을 정상적으로 마운트할 수조차 없는 경우, Red Hat, CentOS 또는 파생 배포판에서 유용한 자료를 찾아볼 수 있습니다. 설치 환경에서의 복구 모드매개변수부터 시작합니다. 구출 커널에서.
복구 모드로 부팅하면 설치 프로그램이 다음과 같은 질문을 합니다. 사용할 이미지 파일은 어디에 있습니까(로컬 CD, 디스크, NFS, HTTP, FTP)? 그리고 네트워크를 구성하고 싶다면, SSH를 통해 백업을 수행하거나 원격 리소스를 마운트하는 데 매우 유용합니다.
마법사는 일반적으로 감지된 파일 시스템을 마운트할 것을 제안합니다. /mnt/sysimage 디렉터리를 읽기/쓰기 모드 또는 읽기 전용 모드로 실행할 수 있습니다.파일 시스템에 심각한 손상이 의심되는 경우, 읽기 전용으로 마운트하거나 자동 마운트를 건너뛰는 것이 현명한 조치입니다.
일단 접속하면 다음 명령어를 사용하여 복구 환경의 루트 디렉토리를 실제 시스템으로 변경할 수 있습니다.
chroot /mnt/sysimage
그런 식으로 rpm, grub, fsck 등과 같은 명령을 실행해도 정상적으로 부팅하는 것처럼 작동합니다.이를 통해 그래픽 데스크톱 환경 없이도 수리 작업을 크게 간소화할 수 있습니다.
GRUB이 나타나지 않거나 오류가 발생했습니다. 올바르게 해결하는 방법
시스템 선택 메뉴에 아예 접근할 수 없는 상황이라면, 가장 논리적으로 생각해 볼 수 있는 것은 다음과 같습니다. GRUB 부트 관리자가 손상되었거나, 잘못 구성되었거나, 다른 부트 관리자로 교체되었습니다. (일반적으로 윈도우 로더).
여러 배포판이 설치되어 있거나 Windows가 디스크를 공유하는 시스템에서는 일반적으로 다음과 같은 현상이 발생합니다. 윈도우 재설치는 MBR/EFI에서 GRUB을 로드하여 마이크로소프트 시스템으로 직접 부팅합니다. 리눅스를 선택할 수 있는 옵션을 제공하지 않고.
GRUB을 복구하는 고전적인 방법은 다음과 같습니다. 사용 중인 배포판의 라이브 CD/USB로 부팅하고, Linux가 설치된 파티션을 마운트한 다음, chroot 환경으로 이동하여 올바른 디스크에 GRUB을 다시 설치하십시오.이는 검증이 잘 되어 있고 비교적 빠른 절차입니다.
일반적인 예로, /dev/sda 디스크와 /dev/sda5에 있는 Linux 루트 디렉터리를 사용하는 경우 단계는 다음과 같습니다.
sudo su
fdisk -l # para localizar la partición de Linux
mkdir /media/linux
mount -t ext4 /dev/sda5 /media/linux
mount -t proc none /media/linux/proc
mount -o bind /dev /media/linux/dev
chroot /media/linux
거기에서 여러분은 이미 설치된 시스템에 접속하게 됩니다. 클래식 GRUB (레거시) 다음과 같이 할 수 있습니다:
grub
find /boot/grub/stage1
root (hdA,B)
setup (hdA)
quit
반면 GRUB 2에서는 일반적으로 직접 실행하는 것이 일반적입니다. 그럽 설치 디스크에 대해 작업을 수행한 다음 구성을 다시 생성합니다. update-grub 기존의 모든 시스템을 감지합니다.
명령어를 직접 입력하는 데 어려움을 느끼고 자동화된 방식을 선호한다면, 우분투와 같은 환경에서는 원하는 기능을 손쉽게 이용할 수 있습니다. Boot-Repair는 GRUB 복구를 획기적으로 간소화하는 매우 강력한 그래픽 도구입니다..
에서 라이브 세션실행하기만 하면 됩니다:
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install -y boot-repair
boot-repair
시스템에 대한 초기 분석 후, 애플리케이션 자체는 다음과 같이 제안합니다. 대부분의 경우 충분한 "권장 수리" GRUB을 원래 위치에 다시 설치하고 관련 항목을 다시 생성합니다. 그래도 부족하다면 고급 옵션에서 다음과 같은 작업도 수행할 수 있습니다. GRUB을 완전히 새로 구축하거나, 설치할 디스크를 선택하거나, MBR을 복원하거나, 파일 시스템을 검사하거나, 기본 부팅 시스템을 조정할 수 있습니다..

복구 모드, fsck, dpkg 및 기타 내부 도구
GRUB 창이 나타나고 배포판을 선택할 수 있지만 시스템이 중간에 멈추는 경우, 다음 사항을 확인해 보세요. GRUB 메뉴 자체에서 제공하는 복구 옵션 대부분의 최신 배포판에서.
보통 입구라고 불리는 곳이 있습니다. 고급 옵션 또는 이와 유사한 곳에서 설치된 각 커널에 대해 다음과 같은 변형을 찾을 수 있습니다. 복구 모드루트 권한으로 유지 관리 환경에 접근하는 가장 직접적인 방법입니다.
최신 커널 복구 옵션을 선택하면 시스템이 특수 모드로 부팅되고, 그 모드에서 프로그램을 실행할 수 있습니다. fsck는 디스크 오류를 검사하고 수정하고, clean은 공간을 확보하고, dpkg는 손상된 패키지를 복구하며, GRUB을 재생성하는 옵션도 있습니다..
일반적으로 이러한 도구를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
- fsck파일 시스템을 분석하고 불일치를 복구합니다. 쓰기 작업 도중 정전이나 강제 종료가 발생했을 때 매우 유용합니다.
- 황어 무리불필요한 공간을 확보하여 중요한 업데이트나 쓰기 작업을 방해하는 요소를 제거합니다.
- dpkg손상되었거나 부분적으로 설치된 패키지를 재구성하고 수정하여 시스템을 불안정한 상태로 만든 업데이트를 해제합니다.
- Grub 업데이트: 구성 및 부팅 항목의 재생성을 강제합니다.
업데이트 중단, 부팅에 실패하는 새 커널 또는 거의 꽉 찬 파티션으로 인해 문제가 발생하는 경우 일반적으로 이 복구 메뉴를 거치면 배포판이 다시 정상적으로 작동합니다. 라이브 CD 없이도.
손상된 파티션: fdisk 및 fsck를 매우 신중하게 실행하십시오.
또 다른 상당히 흔한 시나리오는 다음과 같습니다. 리눅스가 설치된 파티션이나 /boot 파티션 자체에 파일 시스템 오류가 있을 수 있습니다.갑작스러운 시스템 종료, 결함이 있는 섹터 또는 부적절하게 처리된 파티션으로 인해 발생할 수 있습니다.
시스템이 부팅 시 루트 파티션을 마운트하지 못하는 경우, 해결 방법 중 하나는 다음과 같습니다. 라이브 배포판을 사용하고, `fdisk -ly` 명령으로 파티션 목록을 확인한 다음, 해당 파티션에서 `fsck`를 실행하십시오. 피해를 복구하려고 노력하다 (또는 GParted를 사용하세요 (그래픽 인터페이스를 선호하는 경우).
예를 들어, 라이브 방송에서 다음과 같은 작업을 수행할 수 있습니다.
sudo fdisk -l # localizar /dev/sda1, /dev/sda5, etc.
sudo fsck /dev/sda1
fsck 도구는 파일 시스템을 검사하고, 필요한 경우 이 시스템은 조립을 방해했던 논리적 오류를 자동으로 수정할 수 있습니다.하지만 이것이 만능 해결책은 아닙니다. 디스크가 물리적으로 손상된 경우 복구 과정에서 일부 데이터가 손실될 수 있습니다.
중요한 경고fdisk와 fsck 모두 가능합니다 오용 시 파티션 구조 또는 파일 시스템 내용이 완전히 파괴될 수 있습니다.가능하면 변경 작업을 하기 전에 중요한 데이터를 백업하십시오. 백업이 없는 경우, 위험도가 높은 명령을 실행하고 있다고 가정하십시오.
BIOS/UEFI 설정, 보안 부팅 및 빠른 부팅
비교적 최근의 컴퓨터에서는 기존의 BIOS가 UEFI로 대체되었으며, 이와 함께 다음과 같은 변화가 나타났습니다. 보안 부팅 및 "빠른 부팅" 옵션과 같은 보안 조치는 Linux에 상당한 지장을 줄 수 있습니다. 설정이 올바르게 되어 있지 않으면 문제가 발생할 수 있습니다.
보안 부팅은 신뢰할 수 있는 키로 서명된 코드만 부팅할 수 있도록 합니다. 많은 주요 배포판에서 이미 이 기능을 제공하고 있습니다. GRUB 및 커널이 보안 부팅이 활성화된 상태에서 작동하도록 서명된 shim입니다.하지만 다른 덜 일반적인 앱이나 구형 하드웨어용으로 설계된 앱은 이를 지원하지 않습니다.
배포판이 부팅되지 않거나 UEFI가 부트 관리자를 로드하지 못하는 경우, 간단한 해결 방법은 다음과 같습니다. 펌웨어 설정으로 들어가서 보안 부팅을 비활성화하거나 레거시/CSM 모드를 활성화하십시오.완전한 호환성을 위해 보안을 다소 희생하는 것입니다.
반면에 Windows 10/11이 설치된 컴퓨터를 공유하는 경우에는 그럴 만한 가치가 있습니다. Windows와 UEFI 자체에서 빠른 부팅(또는 빠른 시작) 기능을 완전히 비활성화합니다.이 기능은 마이크로소프트 시스템을 일종의 하이브리드 절전 모드로 전환하여 커널의 일부를 디스크에 저장하고 리눅스에서 NTFS에 정상적으로 접근하는 것을 차단합니다.
빠른 부팅을 비활성화하고 보안 부팅을 배포판 요구 사항에 맞게 조정하면, Windows와 Linux는 듀얼 부팅 환경에서 훨씬 더 원활하게 공존할 수 있습니다.로더가 겹치거나 최대 절전 모드 문제로 인해 차단되지 않습니다.
윈도우와 유사한 사고방식: 데비안/우분투의 단계별 학습 방법
윈도우를 수십 년 동안 사용해 오셨다면, 아마도 거의 정해진 비상 해결 절차에 익숙해져 있을 것입니다. 안전 모드 → chkdsk 실행 → 자동 복구 → 시스템 복원 → 포맷데비안, 우분투 및 파생 배포판에서는 도구를 변경함으로써 유사한 철학을 따를 수 있습니다.
데비안 기반 배포판에서 적절한 순서는 앞서 논의한 여러 기법을 조합하여 다음과 같이 나타낼 수 있습니다.
- BIOS/UEFI 및 하드웨어를 확인하십시오.디스크가 인식되는지, MemTest로 RAM이 정상인지, SMART로 디스크 상태를 라이브 환경에서 확인하십시오.
- GRUB과 복구 모드를 시도해 보세요.GRUB이 종료된 경우, 고급 옵션으로 이동하여 복구 기능을 사용하여 fsck, dpkg를 실행하고 GRUB을 다시 생성하십시오.
- 파일 시스템 복구루트 파티션이 마운트되지 않으면 Live + fsck 명령어를 사용하여 해당 파티션을 주의해서 검사하십시오.
- GRUB을 복구하거나 재설치하십시오.: 수동 chroot 또는 Boot-Repair를 통해 관리자를 정리하고 멀티부팅을 복원합니다.
- 커널을 검토하고 변경하세요.새로운 커널이 실패할 경우 GRUB에서 이전 커널을 선택하고, 이전 커널이 알려진 버그로 인해 충돌할 경우 최신 커널로 업그레이드합니다.
- 패키지를 업데이트하고 종속성을 정리하세요.chroot 환경에서 apt/dpkg 명령어를 사용하여 미완료된 업데이트를 완료하고 충돌하는 패키지를 제거하십시오.
- 데이터를 유지하면서 다시 설치하세요모든 방법이 실패하면 배포판 설치 프로그램을 사용하여 Linux를 다시 설치하고, /home 디렉토리와 가능하다면 응용 프로그램을 유지하십시오.
이 방법론은 여러분이 윈도우에서 이미 숙달했을 법한 사고방식과 동일하지만, 데비안/우분투 생태계가 제공하는 도구와 이점을 활용합니다.완전 재설치는 대개 최후의 수단이지, 첫 번째 선택지가 아닙니다.
스냅샷, 백업 및 파티션 분리를 활용
윈도우와의 중요한 차이점 중 하나는, 특별히 설정하지 않는 한, 리눅스에는 시스템 복원과 같은 "타임머신" 기능이 내장되어 있지 않습니다.하지만 스냅샷, 백업, 스마트 파티셔닝을 활용하면 이러한 개념에 접근하는 여러 가지 방법이 있습니다.
강력히 권장되는 관행은 다음과 같습니다. 부팅 디렉토리(/boot), 시스템 디렉토리(/), 데이터 디렉토리(/home)를 각각 다른 파티션으로 분리하고, 원한다면 별도의 데이터 파티션을 만들 수도 있습니다.시스템이 충돌하면 데이터 파티션은 그대로 둔 채 / 및 /boot 파티션에 시스템을 다시 설치할 수 있습니다.
또한 LVM이나 Btrfs와 같은 고급 파일 시스템을 사용하는 경우, 중요한 작업(주요 업데이트, 커널 변경 등)을 진행하기 전에 시스템 스냅샷을 생성할 수 있습니다.또한 재난 발생 시 비교적 신속하게 후퇴할 수 있어야 합니다.
일상생활에서, 순간적인 장면을 넘어, 근본적으로 중요한 것은 다음과 같습니다. /home 디렉토리와 중요한 파일들을 정기적으로 백업하세요.다른 드라이브에 있든, 클라우드에 있든, NAS에 있든, 어떤 복구 도구도 제대로 된 백업을 대체할 수는 없습니다.
또 다른 좋은 습관은 편집할 때, 민감한 설정 파일(/etc/fstab, /etc/default/grub, 네트워크 파일 등)항상 .bak 확장자 또는 이와 유사한 확장자를 사용하여 사본을 저장하십시오. 문제가 발생하여 시스템 부팅이 되지 않을 경우, 라이브 디스크 또는 복구 모드를 통해 원본 파일을 복구할 수 있습니다.
리눅스를 재설치하는 것이 합리적인 경우는 언제이며, 데이터 손실 없이 재설치하는 방법은 무엇인가요?
여러 번의 시도와 실패 끝에 어느 순간이 오게 됩니다. 불안정한 시스템에 계속 패치를 적용하는 것보다 배포판을 다시 설치하는 것이 비용 효율적입니다.핵심은 정보 손실을 방지하는 방식으로 수행하는 것입니다.
Ubuntu, Linux Mint, Zorin과 같은 배포판은 일반적으로 설치 프로그램에서 명시적인 옵션을 제공합니다. 개인 파일과 설치된 애플리케이션은 그대로 유지하면서 시스템을 다시 설치합니다.이것은 윈도우의 "복구 설치"와 같은 기능을 리눅스에서 구현한 것입니다.
이 방법은 대개 매우 효과적이지만, 항상 다음과 같은 조치를 취하는 것이 좋습니다. /home 디렉토리와 모든 중요한 데이터를 외장 드라이브나 클라우드에 백업하여 보안을 강화하십시오.과정 중에 문제가 발생할 경우를 대비해서입니다.
"보수적인" 재설치 방법으로도 문제가 해결되지 않으면 최후의 수단은 다음과 같습니다. /boot, / 및 /home/data 파티션을 각각 분리하여 시스템을 완전히 삭제하고 처음부터 다시 설치하십시오.다음에 부팅 오류가 발생하면 데이터 파티션은 그대로 두고 /boot 및 / 파티션만 포맷하면 됩니다.
시스템과 데이터가 함께 있는 혼합 파티션이 하나만 있더라도 여전히 가능합니다. 라이브 디스크로 부팅하고, 해당 파티션을 마운트한 다음, 데이터를 외장 드라이브에 복사하고 다시 설치하십시오. 파일이 이미 안전하게 보관되어 있다는 사실에 안심하셔도 됩니다.
이 모든 과정을 거쳐 리눅스 시스템을 다시 작동시키는 데 성공했다면, 가장 현명한 방법은 몇 가지 루틴을 익히는 것입니다. 커널 및 중요 패키지를 업데이트할 때는 극도로 주의하고, 정기적으로 백업을 수행하며, 운영 체제와 데이터를 분리하고, Windows 빠른 부팅 기능을 비활성화하고, Boot-Repair와 같은 도구가 포함된 라이브 USB를 항상 준비해 두십시오.하드웨어, GRUB, 파일 시스템, 패키지, 커널을 차례로 점검하고 마지막으로 재설치를 진행하는 논리적인 순서를 따르면, 부팅되지 않는 리눅스 시스템이 데이터 손실이나 시간 낭비로 이어지는 경우는 매우 드뭅니다.

