기존 질문을 검색했지만 내 문제를 해결할 수 있는 내용이 없습니다.
Ubuntu 14.04를 실행하는 내 시스템은 며칠 전에 부분 업데이트를 거쳤습니다. 그 이후로 시스템이 부팅되지 않습니다. 보라색 화면에서 멈춥니다. (plymouth?) 복구 부팅을 시도할 때 수많은 libkmod 오류와 함께 "루트 대기를 포기했습니다" 오류가 발생합니다.
liveCD에서 부팅하고 몇 가지 문제 해결을 시도했습니다. 거기에서 루트 파티션을 마운트하고 chroot할 수 있습니다. /var/log/boot를 확인하고 2개의 작은 오류(samba 및 ksplice)를 발견했습니다. 부팅을 방해할 만한 것은 아무것도 없습니다. 부팅 파티션을 /boot에 마운트한 후 다음을 사용하여 grub을 다시 설치하려고 했습니다.
sudo grub-install --efi-directory=/boot /dev/sdc
불행히도 이로 인해 복구를 시도할 때 나타나는 것과 동일한 libkmod 오류가 발생합니다. (BIOS가 아닌 efi가 있습니다)
복구는 다음과 같이 끝납니다.
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; Is /dev)
ALERT! /dev/mapper/ubuntu--vg-root does not exist. Dropping to a shell!
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 2: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 3: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 4: ignoring bad line starting with '#'
libkmod: ERROR ../libkmod/libkmod-config.c:686 kmod_config_parse: /etc/modprobe.d/zfs.conf line 5: ignoring bad line starting with '#'
ZFS가 설치되어 있지만 부팅 드라이브가 ZFS가 아닙니다. 주석 처리된 행이 왜 나쁜 것으로 해석되는지 이해할 수 없습니다.
내 fstab은 다음과 같습니다.
# <file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/ubuntu--vg-root / ext4 errors=remount-ro 0 1
# /boot was on /dev/sdb2 during installation
UUID=10d83bf1-14a9-40bf-8ada-7ffbf6220bf9 /boot ext2 defaults
0 2
# /boot/efi was on /dev/sdb1 during installation
UUID=BD9B-EA73 /boot/efi vfat defaults 0 1
/dev/mapper/ubuntu--vg-swap_1 none swap sw 0 0
내 부팅 드라이브에 대한 정보는 다음과 같습니다.
Model: ATA Corsair CSSD-V32 (scsi)
Disk /dev/sdc: 32.0GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 1049kB 538MB 537MB fat32 boot
2 538MB 794MB 256MB ext2
3 794MB 32.0GB 31.2GB lvm
다른 OS가 설치되어 있지 않습니다. liveCD에서 다시 설치하려고 했지만 루트 파티션을 수동으로 마운트한 후에도 기존 설치를 인식하지 못합니다. 나는 처음부터 다시 설치하는 것을 피하고 싶고 내 Linux 지식 향상을 위해 이 문제의 원인을 정말로 배우고 싶습니다. 어떤 도움이라도 대단히 감사하겠습니다.
답변1
시스템에 chroot할 때 초기 RAM 디스크를 재생성하십시오.
모듈이 누락되어 이 문제가 발생할 가능성이 높습니다.
update-initramfs -k all -c
chroot하기 전, mount /dev
하고 chroot 내부에서 /proc
:/sys
mount -t proc /proc /mnt/proc
mount -o bind /dev /mnt/dev
mount -o bind /sys /mnt/sys
여기서는 디스크를 /mnt
. 내 경험에 따르면 이러한 오류는 90%가 램디스크의 누락된 모듈과 관련이 있습니다.
또한 다음을 사용하여 chroot 내에서 실패한 업그레이드를 계속하는 것이 좋습니다.
dpkg --configure -a
apt-get -f install
apt-get upgrade
답변2
마지막 업데이트 중에 이 오류가 발생하여 재부팅하지 않았습니다. 이를 수정하기 위해 해당 파일 /etc/modprobe.d/zfs.conf
을 추가한 사람이 저였고 그다지 필요하지 않았기 때문에 해당 파일을 삭제했습니다 . 그런 다음 나는 다음을 실행했습니다.
update-initramfs -k all -c
이제 재부팅할 준비가 된 것 같습니다.