%EB%A1%9C%20%EB%81%9D%EB%82%98%EB%A9%B0%20%EC%BB%A4%EB%84%90%20%ED%8C%A8%EB%8B%89%EC%9D%B4%20%EB%B0%9C%EC%83%9D%ED%95%A9%EB%8B%88%EB%8B%A4..png)
Linux 커널 패키지를 업그레이드하는 중 오류 apt
(이미지가 저장되는 부팅 파티션의 디스크 공간 부족 포함)가 발생한 후 더 이상 부팅할 수 없습니다.
먼저 내 설정에서는 /dev/sda
하나의 부팅 파티션 /dev/sda1
(커널 이미지가 저장되고 /boot에 마운트된 위치)이 있는 하나의 하드 디스크가 있습니다. "루트" 파티션은 /dev/mapper/ubuntu--vg--usbkey-root
.
더 정확하게:
$ sudo fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 976771071 976269314 465.5G 5 Extended
/dev/sda5 501760 976771071 976269312 465.5G 8e Linux LVM
$ ls /dev/mapper
control ubuntu--vg--usbkey-root ubuntu--vg--usbkey-swap_1
$ sudo lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root ubuntu-vg-usbkey -wi-a----- 457.51g
swap_1 ubuntu-vg-usbkey -wi-a----- <7.96g
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 1.7G 1 loop /rofs
loop1 7:1 0 86.6M 1 loop /snap/core/4486
loop2 7:2 0 140M 1 loop /snap/gnome-3-26-1604/59
loop3 7:3 0 1.6M 1 loop /snap/gnome-calculator/154
loop4 7:4 0 12.2M 1 loop /snap/gnome-characters/69
loop5 7:5 0 21M 1 loop /snap/gnome-logs/25
loop6 7:6 0 3.3M 1 loop /snap/gnome-system-monitor/36
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 243M 0 part
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 465.5G 0 part
├─ubuntu--vg--usbkey-root
│ 253:0 0 457.5G 0 lvm /mnt
└─ubuntu--vg--usbkey-swap_1
253:1 0 8G 0 lvm
sdb 8:16 1 1.9G 0 disk /cdrom
├─sdb1 8:17 1 1.8G 0 part
└─sdb2 8:18 1 2.3M 0 part
sr0 11:0 1 1024M 0 rom
마지막 시도는 다음의 지시를 따르는 것이었습니다.이 기사.
그래서 나는 다음을 수행했습니다.
$ sudo mount /dev/sda1 /mnt/boot/
$ sudo mount /dev/mapper/ubuntu--vg--usbkey-root /mnt/
$ sudo mount -t proc none /mnt/proc
$ sudo mount -o bind /dev /mnt/dev
$ sudo mount -t sysfs sys /mnt/sys
$ sudo chroot /mnt
# update-grub
Generating grub configuration file ...
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found linux image: /boot/vmlinuz-4.4.0-127-generic
Found initrd image: /boot/initrd.img-4.4.0-127-generic
Found linux image: /boot/vmlinuz-4.4.0-124-generic
Found initrd image: /boot/initrd.img-4.4.0-124-generic
Found linux image: /boot/vmlinuz-4.4.0-116-generic
Found initrd image: /boot/initrd.img-4.4.0-116-generic
Found memtest86+ image: /memtest86+.elf
Found memtest86+ image: /memtest86+.bin
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning.
done
이 경고가 문제인가요? 어쨌든 나는 다음을 수행했습니다.
# /usr/sbin/grub-install --recheck --no-floppy /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
그런 다음 재부팅했는데 (initramfs)
프롬프트가 표시되었습니다. 화면에는 다음과 같은 오류 메시지가 포함되어 있습니다.
fsck: error 2 (No such file or directory) while executing fsck.ext2 for /dev/sda1
그러나 부팅 가능한 USB 키에서 확인했는데 /dev/sda1
오류 fsck
가 보고되지 않았습니다. /dev/sda5/
.
또한 명령은
(initramfs) ls /루트
의 내용을 보고합니다 /dev/sda1
. 그러나 예상되는 콘텐츠 외에도 다음 디렉터리도 있습니다 /root/boot/grub
.
(initramfs) ls /root/boot/grub
fonts locale grubenv i386-pc
달리기
(initramfs) exit
다음으로 끝나는 화면이 나타납니다.
end Kernel panic - not syncing: Attempted to kill init!
이 모든 것이 나에게는 꽤 혼란스럽다. 어떤 제안이라도 감사하겠습니다.
답변1
첫째, 부팅 파티션이 243MB로 채워졌다면 부팅 파티션에 백업 커널이 하나 이상 있는 것으로 의심됩니다. grub의 고급 부팅 옵션으로 이동하여 이전 커널 버전을 부팅하여 부팅되는지 확인해 보셨나요? (부팅 중에 Shift 키를 누르면 Ubuntu에서 grub 메뉴가 나타납니다)
이미 시도한 것에서 해당 명령은 일반적으로 부팅되지 않는 시스템을 수정하는 데 유용하지만 사용되는 공간을 줄이거나 부팅 파티션의 공간 용량을 늘리는 명령은 없습니다.
내 첫 번째 추측은 부팅 파티션이 새 커널의 전체 파일에 맞지 않지만 불완전한 커널이 grub의 기본 부팅 옵션으로 설정되었다는 것입니다.