1. 부팅 가능한 USB 플래시 드라이브 확보

1. 부팅 가능한 USB 플래시 드라이브 확보

불행하게도 업데이트 설치 과정에서 업데이트가 수행되는 동안 배터리 전력 부족으로 인해 노트북이 최대 절전 모드로 전환되었습니다.

rEFInd를 시작하면 Manjaro가 아닌 Windows만 표시됩니다.

이 업데이트는 규모가 상당히 크며 Linux 커널을 포함합니다.

rEFInd에 대한 문서를 읽은 후 저자는 rEFInd가 커널을 찾는 데 매우 효과적이라고 언급했습니다. 또한 Linux는 실행 중에 자체적으로 업데이트할 수 있으며 대부분의(전부는 아니지만) 프로그램의 경우 재부팅 후에도 업데이트된 파일을 사용하여 프로그램을 계속 실행하고 시작할 수 있다는 것도 알고 있습니다.

내 생각에는 업데이트가 디스크에 기록되고 올바른 위치에 설치되는 동안 실행 중인 시스템(즉, 업데이트 전 시스템)이 메모리에 있다는 것입니다. 최대 절전 모드가 내 스왑 파티션에 RAM을 기록한다는 사실을 알고 부팅하려고 했던 시스템(RAM에 있어야 했던 시스템)이 이제 교체되었습니다.

내 질문은 USB에 Linux 기반 배포판이 있다는 것을 알고 있으면 이전 세션을 복원하고 아무 일도 없었던 것처럼 계속 업데이트할 수 있는 방식으로 부팅할 수 있습니까?입니다.

그렇지 않은 경우 Manjaro로 안전하게 chroot하여 업데이트하고 스왑을 지운 다음 모든 것이 절반만 설치되었으므로 정상적으로 부팅할 수 있습니까? 팩맨은 이에 어떻게 반응했나요?

답변1

chroot부팅 가능한 USB 스틱을 사용하여 라이브 운영 체제에서 이 문제를 해결할 수 있었습니다 . 이제 이 문제를 해결하기 위해 수행한 작업을 단계별로 설명하겠습니다.

1. 부팅 가능한 USB 플래시 드라이브 확보

chroot.fsck

2. 실시간 운영체제를 시작합니다.

USB 스틱을 컴퓨터나 운영 체제가 있는 어느 곳에나 삽입하고 부트로더나 BIOS에서 부팅합니다.

3. 손상된 시스템으로 루트를 이동합니다.

이제 외부 시스템에서 작업 중이므로 이를 사용하여 터미널에서 직접 손상된 시스템에 액세스하겠습니다.

3.1.수동방법

이 프로세스는 다소 일반적이므로 파티션 레이아웃에 따라 변경해야 할 수 있으며 이 예에서 사용되는 권한 있는 액세스가 필요합니다 sudo.

먼저 손상된 시스템 디렉터리를 마운트할 디렉터리를 생성해 보겠습니다 /.

mkdir broken-root

이제 이 폴더에 파일 시스템을 마운트해야 합니다. 라이브 운영 체제에 사전 설치되어야 하는 사용 가능한 모든 파티션을 찾을 수 있는 도구(예: gparted)를 사용하여 손상된 운영 체제의 루트 파티션을 찾으십시오.이 예에서는 루트 파티션이 다음과 같다고 가정합니다. /dev/sda2:

sudo mount /dev/sda2 broken-root

이제 부팅 파티션도 마운트해야 합니다. 이 단계는 시스템을 시작한 방법에 따라 다릅니다. EFI를 사용하는 경우부팅 파티션이 다음과 같이 제공된다고 가정합니다. /dev/sda1그런 다음 다음 명령을 사용하여 설치하십시오.

sudo mount /dev/sda1 broken-root/boot/efi

시스템에서 EFI를 사용하지 않는 경우 부팅 파티션을 마운트하는 올바른 방법을 찾으십시오.

또한 시스템 디렉터리도 바인딩해야 합니다.

sudo mount --bind /proc /broken-root/proc
sudo mount --bind /dev /broken-root/dev
sudo mount --bind /sys /broken-root/sys

마지막으로 네트워크를 활성화합니다.

sudo cp /etc/resolv.conf /broken-root/etc/

이제 chroot시스템에 들어갈 수 있습니다:

sudo chroot broken-root

3.2.자동화된 방법

이 프로세스를 자동화할 수 있는 도구가 있습니다. 내가 찾은 것은아치형 루트그리고만자로-chroot, 그러나 다양한 운영 체제에 사용할 수 있는 자동화된 도구가 더 있을 수 있습니다.

4. 파일 시스템에 오류가 있는지 확인하세요.

실행하여 sudo fsck /dev/sda2루트 파티션의 오류를 확인하고 수정합니다. 업데이트 후에 이렇게 했는데 업데이트 중에 버그가 발견되서 업데이트 전에 하는 것이 좋을 것 같습니다.

5. 업데이트 수행

이제 시스템이 손상되었으므로 업데이트할 차례입니다. 업데이트 프로세스 중에 내 시스템이 최대 절전 모드에 있었기 때문에 팩맨이 자동으로 잠겼으므로 계속하려면 에 있는 파일을 삭제해야 합니다 /var/lib/pacman/db.lck.

잠금 해제 후 사용하세요 sudo pacman -Syu.

이 이후에도 문제가 발생할 수 있지만 적어도 나에게는 문제가 발생했기 때문에 sudo pacman -Qkk문제가 있는 패키지를 나열하기 위해 달려갔고 물론 커널도 그 중 하나였습니다. 그런 다음 문제가 있는 모든 패키지를 다시 설치하십시오.

노트:플래그 -Qkk는 매우 상세하며 예상할 수 있는 내용을 나열하고 가장 관련성이 높은 항목만 찾습니다.

6. 교환소를 깨끗이 닦아주세요

이 작업을 잊어버렸고 시스템이 이전 상태를 복원하려고 시도했지만 잠자기 중에 변경을 했고 결국 오류가 가득한 검은색 화면이 나타나며 플러그를 뽑아 컴퓨터를 강제로 종료했습니다.

이 문제를 해결하려면 라이브 OS에 있는 동안 스왑 복구를 비활성화하거나(제가 수행한 방법) 스왑 파일이나 파티션을 지우십시오. 어느 쪽이든 작동해야 하지만, 나에게는 효과가 있었기 때문에 스왑에서 복구를 비활성화한 다음 현재 복구된 OS에서 완전히 지우는 것이 좋습니다.

7. 바로 그거예요!

이제 컴퓨터를 다시 부팅하면 Manjaro가 내 부트로더에 표시됩니다. 평소대로 부팅했는데 오류가 표시되지 않았고 모든 것이 예상대로 작동하는 것 같았습니다.

인용하다

ArchWiki - chroot

Manjaro Wiki - GRUB 부트로더 Grub/복원

TecMint - "fsck"를 사용하여 Linux에서 파일 시스템 오류를 수정하는 방법

Arch Forum - pacman -Qk 및 -Qkk 출력에 대한 질문

관련 정보