며칠 전에 부팅 파티션을 삭제했는데 복구할 수 없습니다. 이 문제를 해결하기 위해 동일한 매개변수를 사용하여 동일한 이미지를 플래시 드라이브에 설치한 다음 해당 부팅 파티션을 하드 드라이브에 복사했습니다. 이제 vmlinuz 이미지가 uuid로 루트 파티션을 검색하고 내 하드 드라이브를 찾을 수 있다는 오류 메시지가 표시됩니다. 상황을 더 복잡하게 만들기 위해 내 hd는 lvm+LUKS입니다. vmlinuz와 initrd.img를 편집할 수 있나요? 이 문제를 해결할 다른 방법이 있나요? 아니면 버리고 다시 설치해야 할까요?
저는 32비트 Debian Jessie를 사용하고 있으며 하드 드라이브에 남아 있는 모든 파일에 액세스할 수 있습니다.
편집 - 이전 vmlinuz 또는 initrd.img가 없어 삭제되었습니다.
답변1
부팅 매개변수는 시작 시 vmlinuz에 매개변수를 전달하여 부트로더에 의해 처리됩니다. grub을 사용한다고 가정하면 UUID가 포함되어야 함 grub.cfg
을 나타내는 매개변수가 있습니다 . root=
LUKS를 사용하고 있기 때문에 더 어려운 부분은 부팅 시 부팅되고 실제로 파티션을 마운트 및 해독하며 UUID를 이미지 내에 저장할 가능성이 높은 initramfs 이미지가 있을 수 있다는 것입니다.
가장 간단한 복구는 LUKS를 지원하는 라이브 배포판을 찾아 부팅하는 것입니다(데비안 설치에는 일반적으로 livecd 부팅에 복구 모드가 있습니다). 그런 다음 암호화된 루트 디렉터리를 마운트하고, 암호를 해독하고, 부팅을 마운트한 다음, 마운트된 파티션에 chroot를 지정합니다. 일단 들어가면 ramdisk 유틸리티를 다시 실행하여 모든 정보가 업데이트되었는지 확인할 수 있습니다. /boot
chroot하기 전에도 설치 하세요 .
update-initramfs -c -k <kernel>
update-grub
chroot를 종료하고 모든 것을 제거한 후 재부팅하십시오.
답변2
1) 라이브 CD에서 부팅
2) ext4와 같이 부팅 파티션을 다시 생성합니다.
3) 부팅 파티션에 Linux 이미지를 설치합니다.
sudo mount /dev/sdax /mnt/myroot
(여기서 sdax는 루트 파티션입니다)
sudo mount /dev/sday /mnt/myroot/boot
(부팅이 다른 파티션 /dev/sday에 있기 때문에 마운트해야 합니다)
sudo mount ‐‐bind /dev /mnt/myroot/dev
sudo mount ‐‐bind /proc /mnt/myroot/proc
sudo mount ‐‐bind /sys /mnt/myroot/sys
다른 모든 파티션 /boot
, 등을 /var
마운트 합니다. 모두 마운트되었는지 확인하십시오./usr
/tmp
resolv.conf 복사
cp -L /etc/resolve.conf /mnt/debian-example/etc/resolve.conf
chroot
sudo chroot /media/bin:/sbin:/usr/bin:/usr/sbin /mnt/tmp...
누락된 커널 이미지 재설치
루트 디렉터리에서 initrd.img를 이동합니다.
mv initrd.img initrd.img.OLD
Linux 이미지 설치
apt-cache search 'linux-image'
apt-get install linux-image-x.x-generic
당신의 것으로 교체하십시오 linux-image-x.x-generic
.
그럽 복원
sudo grub-install /dev/sda
재시작.
답변3
나는루트 파티션은 기본적으로 마운트되지 않습니다.. 수동으로 설치해야 하는 경우쉘 루트 프롬프트명령의 고급 시작 옵션을 사용하려면 시작할 때 키를 누르세요 ctrl+alt+f3 | f4 | f5
.
fsck
마운트하기 전에 모든 파티션을 철저히 검사하십시오.lsblk
모든 파티션 이름이 표시됩니다.fsck /dev/{partition-name}
읽기 및 쓰기 액세스 권한이 있는 모든 파티션을 다시 마운트합니다.
mount -n -0 remount, rw /
- 유형
exit
과다시 덮다네 부츠엔 없어재시작 - 이제 로그인할 수 있습니다.
하나를 위해영구적인 해결책,을(를) 찾아야 합니다.루트 파티션
6. 명령을 사용 lsblk
하거나 /dev/your-root-partition 디렉터리에서 수동으로 검색합니다. /etc/fstab을 사용하여 루트 파티션을 찾을 수 있습니다.
# / was on /dev/{your-partition-name} during installation
시작 시 루트 파티션을 자동으로 마운트
fstab
하도록 편집/etc/fstab
읽기 및 쓰기 액세스그리고 추가하세요/dev/{your-boot-directory} / ext3 rw 0 1
문서 저장그리고 그럽을 업데이트하세요
sudo update-grub
reboot
이제 정상적으로 로그인하실 수 있습니다.
신용 거래:
https://bbs.archlinux.org/viewtopic.php?id=118114