시스템 튜토리얼 리눅스 Linux 커널 패닉을 효과적으로 처리하기 위한 팁

Linux 커널 패닉을 효과적으로 처리하기 위한 팁

Jan 10, 2024 pm 09:06 PM
linux panic 핵심

웹사이트 사용자 鸢一雨음을의 기여에 감사드립니다

이 글을 쓴 데에는 이유가 있습니다. 완전한 자동 부팅을 구성하기 위해 mkinitcpio.conf 파일의 논리 오류를 무시했기 때문에 작업 컴퓨터에서 실행 중인 Linux에서 부적절한 mkinitcpio 작업을 수행했습니다. 이로 인해 mkinitcpio가 새 커널 파일을 생성하지만 이 커널 파일은 제대로 작동하지 않습니다. 다시 시작하면 패닉 상태에서 커널 시작이 중단됩니다.

일반적으로 새 커널이 제대로 작동하지 않을 경우 initramfs 커널 파일의 폴백 버전을 사용하여 시스템을 일시적으로 시작하거나 폴백 버전을 직접 덮어써 변경 사항을 롤백할 수도 있는데 이번에는 mkinitcpio가 수정되었습니다. 동시에 vmlinuz 커널 파일이 있고 vmlinuz에는 대체 버전이 없습니다. 일반 사용자의 경우 시스템을 직접 재설치할 수 있지만 작성자의 워크스테이션 환경 구성이 매우 복잡하므로 작업 파일이 손실될 가능성 외에도 개발을 재구성하는 데 많은 추가 시간이 필요합니다. 환경.

참고:이 튜토리얼의 "복구"는 "인간의 파괴적인 변경 사항을 롤백하려고 시도하는 것"을 의미하므로 알 수 없는 커널 충돌을 복구하는 데 사용할 수 없습니다.

1. LiveCD에서 부팅하고 디스크 보기

리눅스 서버를 아르바이트로 운영하고 유지하면서 쌓은 경험을 바탕으로 LiveCD를 이용해 부팅하면 커널 복구를 위한 임시 리눅스 환경을 구할 수 있겠다는 생각이 바로 들었습니다.

저자는 64비트 버전의 Arch Linux를 사용하고 있어서 Arch Linux의 LiveCD로 부팅했습니다. LiveCD의 내장 루트 사용자를 올바르게 입력한 후 메인 하드 디스크의 장치 이름을 확인해야 합니다. fdisk -l을 실행한다. 저자의 경우 내 메인 하드디스크에 해당하는 장치 파일과 루트 디렉터리에 마운트된 파티션은 /dev/sdb2이다.

2. 하드 디스크의 시스템 루트 디렉터리로 chroot

하드 디스크의 시스템 루트 디렉터리로 루트를 지정하고 일반적으로 하드 디스크의 시스템 구성 요소를 호출하여 하드 디스크의 시스템을 변경하려면 먼저 하드 디스크에 루트 파티션을 수동으로 마운트해야 합니다. 실행(내 장치 파일은 /dev/sdb2입니다):

마운트 /dev/sdb2 /mnt

아직 서두르지 마세요. 이때, /mnt로 chroot하여 하드디스크의 메인 시스템의 bash에 진입할 수는 있지만, 아직 마운트되지 않은 중요한 디렉토리들이 남아 있기 때문에 복잡한 작업을 제대로 완료하기 어렵습니다. proc 디렉터리, /sys 디렉터리, /dev 디렉터리 및 /run 디렉터리를 각각 마운트하라는 지침을 실행합니다. /mnt를 입력하고 각각 실행합니다:

mount -t proc proc proc/

mount --rbind /sys sys/

mount --rbind /dev dev/

mount --rbind /run run/

이 디렉터리의 기능은 다음과 같습니다.

proc 디렉터리: 프로세스 상태 파일을 저장하는 데 사용되는 가상 Procfs 형식 파일 시스템(Linux에서는 이러한 파일이 표면적으로는 텍스트 파일로 보이지만 실제로는 프로세스 상태의 파일 매핑입니다.)

/sys 디렉토리: Arch Linux의 경우 이는 proc 디렉토리와 유사한 Sysfs 형식의 가상 파일 시스템으로, 기존 Unix 및 Unix 계열 시스템에 연결된 장치 파일을 저장하는 데 사용됩니다. 커널 코드 트리 소프트 링크

/dev 디렉토리: 장치 파일을 저장합니다. 예를 들어 하드 디스크는 /dev/sdXY입니다.

/run 디렉터리: 최근 시작한 후 일부 시스템 정보를 저장합니다.

이러한 사항을 마운트한 후 기본 하드 드라이브의 루트 디렉터리로 루트를 이동할 수 있습니다.

chroot /mnt

후회 약++. 제 경우에는 mkinitcpio.conf 파일을 수정하고 mkinitcpio 작업을 다시 실행하여 올바른 커널 파일을 재생성하기만 하면 되었습니다. 일반적으로 구성을 잘못 수정하여 커널 패닉이 발생한 경우 이 환경을 사용하면 대부분의 문제를 해결할 수 있습니다.

3. 일부 스킬

1. LiveCD에는 시스템에 맞는 버전이나 템플릿이 있는 경우가 많습니다.

2. Arch Linux의 경우 /mnt로 루트를 지정하지 않고 pacstrap 명령을 직접 사용하여 /mnt 마운트 지점에서 소프트웨어 패키지를 관리할 수 있습니다.

3. 두 개의 tty에서 작동할 수 있으므로 /mnt로 루트를 변경한 후에도 파일을 LiveCD 파일 시스템에서 /mnt로 전송할 수 있습니다.

이 튜토리얼은 대부분의 Linux 배포판에서 사용할 수 있으며 일부 Linux 사용자에게 도움이 되기를 바랍니다.

관련 추천:

Linux 시스템에서 듀얼 그래픽 카드를 구성하는 방법은 무엇입니까?

위 내용은 Linux 커널 패닉을 효과적으로 처리하기 위한 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Centos와 Ubuntu의 차이 Centos와 Ubuntu의 차이 Apr 14, 2025 pm 09:09 PM

Centos와 Ubuntu의 주요 차이점은 다음과 같습니다. Origin (Centos는 Red Hat, Enterprise의 경우, Ubuntu는 Debian에서 시작하여 개인의 경우), 패키지 관리 (Centos는 안정성에 중점을 둡니다. Ubuntu는 APT를 사용하여 APT를 사용합니다), 지원주기 (Ubuntu는 5 년 동안 LTS 지원을 제공합니다), 커뮤니티에 중점을 둔다 (Centos Conciors on ubuntu). 튜토리얼 및 문서), 사용 (Centos는 서버에 편향되어 있으며 Ubuntu는 서버 및 데스크탑에 적합), 다른 차이점에는 설치 단순성 (Centos는 얇음)이 포함됩니다.

유지 보수를 중단 한 후 Centos의 선택 유지 보수를 중단 한 후 Centos의 선택 Apr 14, 2025 pm 08:51 PM

Centos는 중단되었으며 대안은 다음과 같습니다. 1. Rocky Linux (Best Compatibility); 2. Almalinux (Centos와 호환); 3. Ubuntu 서버 (구성 필수); 4. Red Hat Enterprise Linux (상업용 버전, 유료 라이센스); 5. Oracle Linux (Centos 및 Rhel과 호환). 마이그레이션시 고려 사항은 호환성, 가용성, 지원, 비용 및 커뮤니티 지원입니다.

Centos를 설치하는 방법 Centos를 설치하는 방법 Apr 14, 2025 pm 09:03 PM

CentOS 설치 단계 : ISO 이미지를 다운로드하고 부팅 가능한 미디어를 실행하십시오. 부팅하고 설치 소스를 선택하십시오. 언어 및 키보드 레이아웃을 선택하십시오. 네트워크 구성; 하드 디스크를 분할; 시스템 시계를 설정하십시오. 루트 사용자를 만듭니다. 소프트웨어 패키지를 선택하십시오. 설치를 시작하십시오. 설치가 완료된 후 하드 디스크에서 다시 시작하고 부팅하십시오.

Docker Desktop을 사용하는 방법 Docker Desktop을 사용하는 방법 Apr 15, 2025 am 11:45 AM

Docker Desktop을 사용하는 방법? Docker Desktop은 로컬 머신에서 Docker 컨테이너를 실행하는 도구입니다. 사용 단계는 다음과 같습니다. 1. Docker Desktop 설치; 2. Docker Desktop을 시작하십시오. 3. Docker 이미지를 만듭니다 (Dockerfile 사용); 4. Docker Image 빌드 (Docker 빌드 사용); 5. 도커 컨테이너를 실행하십시오 (Docker Run 사용).

Docker 원리에 대한 자세한 설명 Docker 원리에 대한 자세한 설명 Apr 14, 2025 pm 11:57 PM

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

VSCODE에 필요한 컴퓨터 구성 VSCODE에 필요한 컴퓨터 구성 Apr 15, 2025 pm 09:48 PM

대 코드 시스템 요구 사항 : 운영 체제 : Windows 10 이상, MacOS 10.12 이상, Linux 배포 프로세서 : 최소 1.6GHz, 권장 2.0GHz 이상의 메모리 : 최소 512MB, 권장 4GB 이상의 저장 공간 : 최소 250MB, 권장 1GB 및 기타 요구 사항 : 안정 네트워크 연결, Xorg/Wayland (LINUX)

Docker 프로세스를 보는 방법 Docker 프로세스를 보는 방법 Apr 15, 2025 am 11:48 AM

도커 프로세스보기 방법 : 1. Docker CLI 명령 : Docker PS; 2. Systemd Cli 명령 : SystemCTL 상태 Docker; 3. Docker Compose CLI 명령 : Docker-Compose PS; 4. 프로세스 탐색기 (Windows); 5. /Proc Directory (Linux).

Docker 이미지가 실패하면해야 할 일 Docker 이미지가 실패하면해야 할 일 Apr 15, 2025 am 11:21 AM

실패한 Docker 이미지 빌드에 대한 문제 해결 단계 : Dockerfile 구문 및 종속성 버전을 확인하십시오. 빌드 컨텍스트에 필요한 소스 코드 및 종속성이 포함되어 있는지 확인하십시오. 오류 세부 사항에 대한 빌드 로그를보십시오. -표적 옵션을 사용하여 계층 적 단계를 구축하여 실패 지점을 식별하십시오. 최신 버전의 Docker Engine을 사용하십시오. -t [image-name] : 디버그 모드로 이미지를 빌드하여 문제를 디버깅하십시오. 디스크 공간을 확인하고 충분한 지 확인하십시오. 빌드 프로세스에 대한 간섭을 방지하기 위해 Selinux를 비활성화하십시오. 커뮤니티 플랫폼에 도움을 요청하고 Dockerfiles를 제공하며보다 구체적인 제안을 위해 로그 설명을 구축하십시오.

See all articles