How to Solve Kernel Scare (Arch Linux)
커널(kernel)이 날아갔을 때 대처법 (아치 리눅스)
부팅이 안될 때 대처법 (아치 리눅스)
pacman cache 를 삭제하면 대부분 복구할 수 없습니다
1. DVD 나 USB에 아치리눅스 iso 파일을 굽습니다. 혹은 다른 리눅스 배포판도 가능합니다.
2. 구운 Live OS 로 부팅
3. 파티션 정보를 확인합니다 (실수 방지 )
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda x:x 0 XXXX x disk
├─sda1 x:x 0 XXXX x part /boot
├─sda2 x:x 0 XXXX x part /
└─sda3 x:x 0 XXXX x part [SWAP]
(예시이며 실제 환경은 다를 수 있습니다)
# fdisk -l (조금 더 자세하게 보고 싶을 때)
4.
/ 가 마운트 되어있는 sda2 를 /mnt 에 마운트 합니다
/boot 가 마운트 되어있는 sda1 를 /mnt/boot 에 마운트 합니다
# mount /dev/sda2 /mnt
# mount /dev/sda1 /mnt/boot
5.
arch-chroot 를 이용하여 시스템에 로그인
# arch-chroot /mnt
만약 다른 배포판을 사용하여 부팅하였다면 arch-chroot 가 안된다.
6. pacman 으로 커널을 재설치하여 복구
# pacman --version (버전 확인을 통해 pacman이 되는지 확인)
library or a package has problem 라며 오류를 뿜는다면 pacman 의 의존성이 문제가 생긴겁니다. (= 수동 복구 해야함)
문제가 생긴 패키지나 라이브러리의 캐시 파일이 존재하는지 확인:
# ls -l /var/cache/pacman/pkg/<pkg name>*
압축파일이 존재한다면 수동으로 pacman 를 복구할 수 있습니다.
이제 생쇼를 합니다. 라이브러리나 패키지의 본래 위치를 찾아야합니다. 여기서 찾아보세요.
Package Contents 라고 되어있는 부분 보면 쉽게 알 수 있습니다.
복사 후 tar 로 압축 풀기
# cp /var/cache/pacman/pkg/unixmen* /lib/unixmen
# tar -xf /lib/unixmen/*
이제 살렸는지 확인. 이런 식으로 뜨면 성공
# pacman --version
.--. Pacman v6.0.0 - libalpm v13.0.0
/ _.-' .-. .-. .-. Copyright (C) 2006-2021 Pacman Development Team
\ '-. '-' '-' '-' Copyright (C) 2002-2006 Judd Vinet
'--'
This program may be freely redistributed under
the terms of the GNU General Public License.
이제 커널을 복구한다. 기존의 시스템에서 실행되는 것이기 때문에 dkms도 잘된다.
# pacman -U /var/cache/pacman/pkg/linux-x.x.x-x.pkg.tar.xz (버전은 예시일 뿐입니다)
# pacman -S linux (인터넷 환경일 시)
설치가 완전히 끝날 때까지 냅둬야 한다. 다되면
# exit
# reboot
'GNU+linux > Arch linux issues' 카테고리의 다른 글
아치리눅스 VSCode 플러그인 문제 해결 (connect to the extension marketplace of Visual Studio Code) (0) | 2021.09.03 |
---|---|
리눅스에서 Nvidia 사용 시 화면 깨짐 현상 해결- Screen Tearing 해결 (0) | 2021.08.29 |