Computer >> 컴퓨터 >  >> 체계 >> Linux

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅

이 기사에서는 Linux Ubuntu/Mint/Kali를 실행하는 컴퓨터가 부팅되지 않거나 busybox로 떨어질 때 발생하는 문제를 해결하는 방법을 보여줍니다. initramfs 동안 프롬프트 초기화. 사용자는 initramfs 명령 프롬프트에만 액세스하여 사용할 수 있습니다.

Initramfs  초기 tmpfs입니다. - 별도의 블록 장치를 사용하지 않는 RAM의 파일 시스템. initrd처럼 , 루트 파일 시스템에 있는 init를 호출하기 전에 파일 시스템을 마운트하는 도구와 스크립트가 포함되어 있습니다.

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅

LINUX에서 깨진 Ext4 Superblock 복구하기

initramfs 초기화 중에 Ubuntu가 busybox에 충돌하면 디스크에 손상된 슈퍼블록이 있을 수 있습니다.

모든 슈퍼블록 복사본은 Linux에 보관됩니다. 이 문제가 발생한 경우 시스템을 복구하려면 복구 이미지/디스크/라이브 CD에서 부팅하고 터미널 프롬프트를 실행해야 합니다. 부팅 후 터미널에 다음 명령어를 입력합니다.

# sudo fdisk -l|grep Linux|grep -Ev 'swap'

이 명령은 볼륨에 대한 정보를 반환합니다.

/dev/vda2 4096 83884031 83879936 40G Linux filesystem

볼륨 이름을 기억하고 다음 명령에서 지정하십시오.

# sudo dumpe2fs /dev/vda2 | grep superblock

이 명령은 백업 슈퍼블록 목록을 표시합니다.

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅

두 번째 백업 수퍼 블록을 사용하여 손상된 수퍼 블록을 교체합니다(기본 수퍼 블록을 제외한 모든 수퍼 블록을 사용할 수 있음). 백업 슈퍼블록을 사용하여 디스크 확인:

# sudo fsck -b 98304 /dev/vda2 -y

이 출력을 얻는 경우:

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 is mounted.
e2fsck: Cannot continue, aborting

볼륨 마운트 해제:

# umount /dev/vda2

수퍼 블록을 성공적으로 교체하면 다음과 같은 메시지가 표시됩니다.

fsck from util-linux 2.31.1
e2fsck 1.44.1 (24-Mar-2018)
/dev/vda2 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong for group #231 (32254, counted=32253).
Fix? yes
Free blocks count wrong for group #352 (32254, counted=32248).
Fix? yes
Free blocks count wrong for group #358 (32254, counted=27774).
Fix? yes
..........
/dev/vda2: ***** FILE SYSTEM WAS MODIFIED *****
/dev/vda2: 85986/905464576 files (0.2% non-contiguous), 3904682/905464576 blocks

그런 다음 부팅 미디어를 마운트 해제하고 컴퓨터를 다시 시작합니다. 모든 것이 제대로 작동해야 합니다.

Fsck 부팅 오류:예기치 않은 불일치

initramfs(BusyBox) 문제의 두 번째 변형은 터미널 창에 다음 메시지를 포함합니다.

/dev/sda1: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY
The root filesystem on /dev/sda1 requires a manual fsck.

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅

안보이면 (initramfs) exit를 입력해 보세요. 터미널 창에서 당신이 그것을 한 후에 오류가 나타날 수 있습니다 ...

메시지에는 수동 디스크 검사를 실행해야 하는 볼륨이 표시됩니다. initramfs 프롬프트에서 다음 명령을 실행합니다.
# fsck /dev/sda1 -y
디스크 검사가 끝나면 컴퓨터를 다시 시작하고 Linux가 올바르게 부팅되는지 확인합니다.

경고! /dev/volume이 존재하지 않습니다

Fstab 문제

Linux 호스트를 부팅할 때 다음 오류가 표시될 수 있습니다.

ALERT! /dev/sda1 does not exist. Dropping to a shell.

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅

방금 Linux를 설치했거나 호스트에 fstab이(가) 있습니다. 문제. USB에서 시스템을 설치할 때 가장 자주 문제가 발생합니다. 운전하다. 시스템은 모든 볼륨의 오류를 표시할 수 있습니다. 첫 번째 경우와 마찬가지로, 구조/부정 Linux 미디어에서 부팅하고 몇 가지 작업을 수행해야 합니다. 다음 명령을 사용하여 디스크 UUID를 확인하십시오.
# sudo blkid

시스템은 다음과 같이 반환합니다:

/dev/sda2: UUID="36cce3d5-cbdb-46f4-adbf-3f9aaa01d729" TYPE="ext4" PARTUUID="fea4dab1-4e12-4327-85c6-76ade18f64e1"

여기서 우리는 시스템이 sda2에서 부팅해야 하지만 실제로는 sda1에서 부팅을 시도한다는 것을 알 수 있습니다.

볼륨을 임의의 디렉토리에 마운트합니다. 예:

# sudo mount /dev/sda2 /mnt

/mnt 디렉토리에 /dev/sda2가 보이면 /etc/fstab 파일을 찾아 /dev/sda1이 포함된 라인을 다음과 같이 수정합니다.

UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 / ext4 errors=remount-rw 0 1

파일을 저장합니다. /mnt에서 볼륨을 마운트 해제하고 재부팅합니다. 문제가 잘못된 볼륨 이름과 관련된 경우 서버가 부팅됩니다.

또한 비상 모드로 부팅하여 이 문제를 해결할 수 있습니다. 루트 디렉토리를 읽기/쓰기로 다시 마운트:
# sudo mount -o remount,rw /
그런 다음 fstab을 변경하고 서버를 다시 시작합니다.

하드웨어 문제

일부 마더보드의 경우 SATA 포트는 난수를 얻을 수 있습니다. 이전 섹션에서 설명한 오류가 발생할 수도 있습니다. 이를 수정하려면 grub 부트로더를 수정해야 합니다.

비상 모드 또는 라이브 CD에서 부팅하고 /boot/grub/grub.cfg 편집 파일.

부팅 볼륨을 결정하는 줄에서, 예를 들면:

Linux /boot/vmlinuz-4.15.0-70-generic root=/dev/sda1 rw quiet elevator=noop fsck.repair=yes

디스크 경로를 UUID로 바꿉니다. :

Linux /boot/vmlinuz-4.15.0-70-generic root=UUID=36cce3d5-cbdb-46f4-adbf-3f9aaa01d729 ro quiet elevator=noop fsck.repair=yes

BusyBox에서 Initramfs 프롬프트로 Ubuntu/Mint/Kali 부팅