initramfs에서 루트 파일 시스템 마운트

initramfs에서 루트 파일 시스템 마운트

이는 일반적인 시나리오입니다. 어떤 이유로든 initramfs(중요한 경우 OpenSUSE)는 루트 파일 시스템을 찾을 수 없으므로 복구 쉘로 이동합니다. 나는 어떤 장비를 설치해야 하는지 정확히 알고 있었습니다. 내 질문:

루트 파일 시스템을 마운트하고 부팅 순서를 계속하는 올바른 단계는 무엇입니까?

어쩌면 그게 전부일지도 몰라보다구조 콘솔. 그러나 실제로 이 작업을 수행하는 방법을 문서화한 사람은 아무도 없는 것 같습니다.

분명히 루트 파일 시스템을 어딘가에 마운트할 수 있을 것 같습니다. 그런데 내가 이걸 어떻게 할 수 있지?뿌리파일 시스템 트리? 이제 일반 부팅 프로세스를 계속 진행합니까? (그냥 쉘을 종료하면 괜찮을 줄 알았는데... 그렇지 않습니다.) 계속하기 전에 정확히 무엇을 설치해야 하며, 어떻게 진행합니까?

답변1

switch_root /mnt/root /sbin/init 실행

https://wiki.gentoo.org/wiki/Custom_Initramfs#Init

답변2

문제 유형에 따라 다릅니다. 문제가 initramfs 이미지 자체에 있는 경우 문제를 해결하려면 실제로 이미지를 다시 빌드해야 합니다(update-initramfs 실행). initramfs 파일 시스템은 RAM 파일 시스템이므로 문제를 해결하려면 압축된 initramfs 이미지를 복구하거나 루트 파일 시스템을 복구해야 합니다.

손상된 crypttab 오류로 인해 손상된 부팅을 복구하기 위해 LUKS 암호화 Ubuntu 시스템에서 다음 절차를 사용했습니다.

먼저 파티션의 암호를 해독했습니다.

cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt

device_crypt랜덤이 아니니 참고해주세요 . 시스템이 일반적으로 설치되는 이름과 일치해야 합니다(partition + _crypt가 표준인 것 같습니다).

다음으로, 현재 해독된 파티션에서 볼륨 그룹을 활성화해야 합니다.

vgchange -ay

이제 파일 시스템, /, /boot, proc, swap 등을 마운트하고 그런 식으로 실행할 수 있습니다.

내 경우에는 단지 exit를 입력하기만 하면 initramfs가 거기에 배치된 논리 볼륨을 확인하고 행복하게 부팅을 재개할 것입니다. 그러면 손상을 복구하고 실행하는 것이 쉬울 것입니다.update-initramfs -u

답변3

fsck옵션없이 명령을 실행 initramfs하고 재부팅하십시오.

예: 루트 파티션은 다음과 같습니다.sda3

fsck /dev/sda3

답변4

정상적인 절차는

  1. 마운트 /dev/sdX /mnt
  2. /mnt 문제 해결
  3. 재시작

당신은 원할 수도 있습니다

  1. 마운트 /dev/sdX /mnt
  2. 수리/월
  3. 제거/mnt
  4. 마운트 /dev/sdX/
  5. 수동으로 시작 완료

이는 권장되지 않으며 부팅할 때마다 이 작업을 수행해야 합니다. 프로덕션 환경에서는 수동 시작이 자동 시작과 동일한 단계를 따르도록 보장할 수 없습니다.

그러나 중요한 데이터와 관련된 긴급 상황에서는 일반적으로 5단계가 다음과 같이 요약됩니다.

  • 5.1 네트워크 설정
  • 5.2 중요한 파일을 안전한 곳에 복사하세요

관련 정보